Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Criar Modelos JSON Totalmente Compatíveis com Certificados PEM Personalizados para o OCI Network Firewall
Introdução
O Oracle Cloud Infrastructure Network Firewall (OCI Network Firewall), uma solução robusta de segurança de rede, fornece recursos de segurança avançados, incluindo perfis de decriptografia. Esses perfis permitem que o firewall descriptografe e inspecione o tráfego SSL/TLS para obter segurança aprimorada.
Neste tutorial, simplificaremos o processo de geração de modelos JSON totalmente compatíveis com base em certificados PEM (Privacy Enhanced Mail), permitindo que você configure perfis de decriptografia de forma eficaz no OCI Network Firewall sem obter erros desnecessários de análise de segredos mapeados (ou seja, Falha no 'Segredo Mapeado' do Segredo Mapeado). Não é possível extrair segredo).
Para empregar regras de decriptografia de forma eficaz, é essencial estabelecer segredos mapeados para utilização em um perfil de decriptografia. Esses segredos mapeados são inicialmente criados no Oracle Cloud Infrastructure Vault e subsequentemente vinculados aos modos Inspeção de Entrada SSL ou Proxy de Encaminhamento SSL.
O que é o OCI Network Firewall
O Oracle Cloud Infrastructure Network Firewall representa um serviço de firewall gerenciado de ponta que é construído usando a Tecnologia de Firewall de Última Geração (NGFW) da Palo Alto Networks. Ele oferece recursos de firewall com tecnologia de machine learning para proteger suas cargas de trabalho da OCI e é fácil de consumir na OCI. Como uma oferta nativa de firewall como serviço da OCI, o OCI Network Firewall permite que você comece a aproveitar os recursos de firewall sem a necessidade de configurar e gerenciar infraestrutura de segurança adicional. A instância do OCI Network Firewall é altamente escalável com alta disponibilidade incorporada e pode ser criada em uma rede virtual na nuvem (VCN) e em uma sub-rede de sua escolha
O serviço Network Firewall fornece insights profundos sobre o fluxo de dados que entram em seus ambientes de nuvem, abordando a comunicação de entrada e intersub-rede/inter-VCN. Em essência, oferece visibilidade do tráfego de rede Norte-Sul e do tráfego de rede Leste-Oeste.
Seguindo este tutorial, você poderá criar os modelos JSON com base em certificados CA (incluindo intermediários) mais os pares de certificados públicos e privados necessários para decriptografia.
Objetivos
-
Baixe e instale o Perl.
-
Faça download do OpenSSL e Instale-o.
-
Forneça um código de script simples para simplificar a criação de modelos JSON, incluindo os certificados PEM solicitados para ativar o processo de decriptografia SSL.
-
Teste os scripts.
Pré-requisitos
-
Uma tenancy ativa do OCI. Você deve ter as permissões necessárias para criar e gerenciar recursos de rede no OCI.
-
Uma compreensão básica do Linux OS, OCI, Oracle Linux, incluindo como instalar e configurar softwares no Linux.
-
Uma boa compreensão sobre como usar a Console do OCI ou a CLI do OCI para criar e gerenciar recursos de rede.
-
Uma boa compreensão sobre como usar e configurar o OCI Network Firewall.
Tarefa 1: Configurar Modelo JSON para Configurar Autenticação de Certificado
Criamos um script Linux para criar um arquivo JSON bem formatado com base em seus próprios certificados. Para obter mais informações, consulte Configurando a Autenticação de Certificado.
É assim que o arquivo JSON se parece.
{
"caCertOrderedList" : [
"ROOT_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT02_PEM_CONTENT",
],
"certKeyPair": {
"cert" : "LEAF_CERT_01_PEM_CONTENT",
"key": "PRIVATE_KEY_01_PEM_CONTENT"
}
}
Você pode aprender a criar o arquivo JSON com base nos certificados obrigatórios, dependendo do modo de decriptografia, da seguinte forma:
-
caCertOrderedList, Certificados de Autoridade de Certificação (CAs):
-
Inspeção de entrada SSL: Este é o modo em que você protege o tráfego SSL / TLS de clientes para servidores de rede direcionados (qualquer servidor para o qual você tenha o certificado e possa importar para o firewall de rede) e bloqueia sessões suspeitas. Se o seu certificado de servidor, também conhecido como certificado de folha, for assinado por certificados CA intermediários, recomendamos o upload de todo o certificado de cadeia ["raiz CA","CA intermediária 1", "CA intermediária 2" ...].
Observação: em
caCertOrderedList
, faça upload de todos os certificados da cadeia de CA para evitar problemas de autenticação de certificado do servidor do cliente, pois alguns clientes podem não ter a cadeia de CA completa instalada em seu armazenamento confiável. -
Proxy de Encaminhamento SSL: Este é o modo em que você protege o tráfego SSL / TLS indo para sites externos, ele funciona como um proxy de encaminhamento SSL. Use esse modo ao descriptografar e inspecionar o tráfego de usuários internos para a Web. Por razões óbvias, você não possui as chaves privadas de certificados de sites externos, portanto, o Firewall não pode usá-lo para descriptografar e capturar a chave mestra da sessão durante a negociação de TLS (RSA), como faz na Inspeção de Entrada SSL. Neste modo, o Firewall atuará como um man-in-the-middle, fazendo uma cópia dos certificados recebidos de servidores web externos um irá assiná-lo com uma CA que está em nossa posse (idealmente uma CA Enterprise). Este certificado "copiado", chamado certificado de personificação. Marque Número do Ponto 5.
Observação: em
caCertOrderedList
, faça upload de todo o certificado de CA encadeado Enterprise ["Raiz de CA Enterprise", "Enterprise CA intermediário 1", "Enterprise CA intermediário 2" ...].
-
-
certKeyPair, Certificado do servidor e sua chave privada:
-
Inspeção de Entrada SSL: Em um modo de Inspeção de entrada, esses são os servidores de destino que você deseja proteger usando o Firewall de Rede (ou seja, o balanceador de Carga do Aplicativo) de clientes externos. Como mencionado acima, esses servidores direcionados são servidores que você tem todo o certificado (chave privada + certificado) e estão sob seu controle. Aqui é onde você instala o certificado público do servidor no campo "cert" e chave privada no campo "chave".
-
Proxy de Encaminhamento SSL: Em um modo de proxy de Encaminhamento SSL, você está protegendo o tráfego SSL/TLS de clientes internos que vai para sites/webs externos. Como mencionado anteriormente, você não possui certificados de sites externos (certificado privado+público), portanto, o Firewall precisa representar os certificados recebidos para agir como um proxy man-in-the-middle. Para isso, precisamos instalar uma CA personalizada ou uma CA corporativa (raiz ou não raiz) juntamente com sua chave privada no Firewall, para que o Firewall possa assinar a cópia dos certificados de servidor recebidos (impersonalização) usando a chave privada da CA. Em certKeyPair, instale o certificado de CA empresarial no campo "cert" e sua chave privada no campo "chave".
Observação: o problema que observamos é que muitos clientes usam seus editores de texto, copiam e colam seus certificados com o formato JSON proposto e isso resulta em JSON incorreto. Este problema está relacionado com as diferenças entre as quebras de linha do Windows e do linux "\r\n".
O erro que você pode encontrar na console do OCI ao criar o Firewall de Rede pode ser "Falha no Segredo Mapeado 'Segredo Mapeado'. Não é possível extrair segredo".
-
-
Crie o arquivo JSON mencionado com seus certificados.
-
Certifique-se de ter acesso root a uma Linux VM. Recomendamos o Oracle Linux 7 ou superior.
-
Baixe e instale o OpenSSL.
-
Faça download do Perl e Instale-o.
-
-
Copie o código a seguir.
cat > certificates.json << EOF { "caCertOrderedList" : [ "$(perl -pe 's/\n/\\n/' ca.cert.pem)" $(for ((i=1; i<=10; i++)); do intermediate_file="ca.intermediate${i}.pem" if [ -f "$intermediate_file" ]; then echo -n ", \"$(perl -pe 's/\n/\\n/' "$intermediate_file")\"" fi done) ], "certKeyPair": { "cert" : "$(perl -pe 's/\n/\\n/' cert.pem)", "key": "$(perl -pe 's/\n/\\n/' key.pem)" } } EOF
-
Cole no arquivo Linux VM com a extensão
sh
.vi create_json.sh
-
Pressione a tecla ESC, digite dois-pontos:
:
e digitewq
. Pressione Enter para gravar o arquivo e sair do editor. -
Depois que o arquivo é criado, você precisa tornar o script executável.
chmod +x create_json.sh
-
Agora que temos o script pronto, precisamos trazer os certificados necessários para criar o arquivo JSON final. O script precisa dos seguintes nomes de arquivos
PEM
:-
ca.cert.pem
: Este é o certificado da CA RAIZ que foi usado para assinar o certificado do servidor Web interno em um modo de Entrada SSL. Além disso, pode ser a CA do Enterprise raiz que será usada em um modo Proxy de Encaminhamento. -
ca.intermediateX.pem
: Se a CA que está sendo usada tiver certificados intermediários/encadeados, adicione-os comoca.intermediate1.pem
,ca.intermediate2.pem
e assim por diante (até dez). Isso garantirá que os clientes não tenham problemas de autenticação se não estiverem instalados no armazenamento de CA Confiável. -
cert.pem
: Este é o certificado do servidor (público) que você está protegendo no Modo de Entrada SSL. Como alternativa, pode ser o certificado Enterprise CA em um modo Proxy de Encaminhamento. -
key.pem
: Esta é a chave privada do certificado do servidor que você está protegendo no Modo de Entrada SSL. Como alternativa, ela pode ser a chave privada do certificado da CA Enterprise em um modo Proxy de Encaminhamento.
-
-
Executar o script.
./create_json.sh
Ele gerará um arquivo chamado
certificates.json
que você pode copiar e colar facilmente em seu vault/segredo para ser usado em sua Política de Firewall de Rede do OCI.
Links Relacionados
Agradecimentos
- Autores - Luis Catalán Hernández (Especialista em Rede na Nuvem da OCI e Multinuvem), Sachin Sharma (Especialista em Rede na Nuvem da OCI)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Create Fully Compatible JSON Templates from Custom PEM Certificates for OCI Network Firewall
F89630-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.