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.
Proteja Seus Aplicativos Usando o OCI Network Firewall e o OCI WAF Regional com Certificados Vamos Criptografar
Introdução
Em um cenário moldado pela ampla transformação digital, proteger seus aplicativos não é mais opcional - é uma prioridade crítica. À medida que as organizações fazem a transição de suas cargas de trabalho para a Oracle Cloud Infrastructure (OCI), é essencial implementar uma forte defesa contra ameaças cibernéticas. A OCI oferece uma ampla gama de ferramentas para fortalecer suas aplicações e, neste tutorial, mostraremos como proteger seus ativos digitais usando o OCI Network Firewall e o OCI Web Application Firewall (WAF) regional/local.
Por que este tutorial é essencial?
À medida que seus aplicativos se comunicam com o mundo exterior, eles enfrentam o desafio sempre presente das ameaças à segurança cibernética. Este tutorial ajuda você a criar uma defesa em várias camadas, protegendo seus aplicativos contra ameaças conhecidas e emergentes, aproveitando o poder do OCI Network Firewall e do OCI WAF regional. Vamos explorar conceitos importantes, incluindo o suporte Multi-Domain e a geração ou renovação de certificados X.509 usando ferramentas padrão. Além disso, vamos nos aprofundar no uso do serviço amplamente reconhecido e gratuito Let's Encrypt. Por meio disso, você obterá uma compreensão abrangente das práticas essenciais para proteger seus aplicativos.
Para Quem é este tutorial?
Este tutorial foi projetado para arquitetos de nuvem, profissionais de segurança e desenvolvedores que buscam uma compreensão abrangente dos recursos de segurança da OCI. Se você é um profissional experiente de nuvem ou apenas está começando sua jornada para a segurança na nuvem, este tutorial irá equipá-lo com as habilidades para construir uma defesa robusta em torno de seus aplicativos.
O que é o Firewall de Rede do OCI
O Oracle Cloud Infrastructure Network Firewall representa um serviço de firewall gerenciado de ponta criado com a Palo Alto Networks. É uma tecnologia de firewall de última geração (NGFW). 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ê aproveite 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 sub-rede de sua escolha.
O serviço OCI Network Firewall fornece insights profundos sobre o fluxo de dados que entram em seus ambientes de nuvem, abordando comunicação de entrada e intersub-rede ou inter-VCN. Em essência, oferece visibilidade do tráfego de rede Norte-Sul e do tráfego de rede Leste-Oeste. Para obter mais informações, consulte Firewall de Rede do OCI.
O que é o OCI Web Application Firewall Regional/Local
O OCI Web Application Firewall (WAF) é um serviço de segurança baseado em nuvem que ajuda a proteger aplicativos Web contra ameaças e ataques de segurança comuns, como injeção de SQL, XSS (cross-site scripting) e Negação de Serviço Distribuída (DDoS). O OCI WAF regional é a versão mais recente do WAF que geralmente é implementado em um nível regional, integrado ao OCI Load Balancer para fornecer um mecanismo de defesa flexível e escalável. Para obter mais Informações, consulte OCI Web Application Firewall.
Arquitetura
Essa arquitetura proposta incluirá proteção total para cargas de trabalho da tenancy usando os componentes a seguir.
-
OCI WAF Regional: Esse WAF é integrado a um Balanceador de Carga Flexível do OCI (Camada 7) para proteger todo o tráfego HTTP(S) que passa pelo balanceador de carga.
-
Balanceador de Carga do OCI: Este balanceador de carga receberá solicitações da Internet pública.
-
OCI Network Firewall: Também é conhecido como Firewall de Última Geração. O OCI Network Firewall e o WAF trabalhando em conjunto criarão uma defesa em várias camadas. Se uma camada perder uma ameaça, a outra poderá pegá-la, proporcionando uma postura de segurança mais robusta.
Diagrama do Fluxo de Dados
O fluxo de dados da rede pode ser facilmente visto no diagrama de rede a seguir, solicitações de entrada em linhas de pontos verdes, respostas em linhas de pontos vermelhos.
Este diagrama segue as melhores práticas para implantar o Firewall de Rede do OCI para tráfego Norte-Sul. No estágio inicial, o tráfego de entrada (retratado em verde e operando na Camada 7) é direcionado por meio do Gateway de Internet. O Gateway de Internet tem uma tabela de roteamento associada para desviar todo o tráfego direcionado à sub-rede do balanceador de carga (192.168.6.0/24
) para o IP privado NGFW. Isso garantirá que o tráfego de entrada atravesse o NGFW para inspeção.
Após o fluxo de rede, o tráfego avança para o Firewall de Rede do OCI ou o Firewall de Última Geração (NGFW) pelo gateway de internet. Vale ressaltar que o Firewall de Rede do OCI recebe perfeitamente o tráfego sem encerrar a conexão TLS/SSL. O OCI Network Firewall aplica perfis de decriptografia para decriptografar o tráfego TLS, permitindo inspeção profunda de pacotes. Para obter mais informações, consulte Usando o Firewall de Rede do OCI para decriptografia SSL.
Depois que o Firewall de Rede do OCI inspeciona completamente o tráfego, ele avança para o Balanceador de Carga do OCI, que primeiro encerra a conexão TLS/SSL. O WAF anexado executa uma inspeção profunda de pacotes no tráfego descriptografado para garantir que ele esteja limpo antes de encaminhá-lo aos servidores de backend. Em seguida, o balanceador de carga executa o roteamento de balanceamento de carga e inicia uma conexão secundária com o servidor de backend selecionado.
Para tráfego de retorno dos servidores de backend, os servidores de backend respondem inicialmente ao Balanceador de Carga do OCI (ilustrado em Vermelho e operando na Camada 7). Ao acessar o balanceador de carga, o WAF anexado primeiro inspeciona o tráfego retornado para garantir que ele atenda aos padrões de segurança. Após a inspeção do WAF, o balanceador de carga roteia o tráfego de volta para um IP privado em que o Firewall de Rede do OCI executa verificações de segurança adicionais na resposta. Uma vez inspecionado pelo firewall, o tráfego é roteado para o gateway de internet com base na tabela de roteamento associada à sub-rede NGFW. Do IGW, o tráfego retornado fluirá para o cliente original pela internet.
Objetivos
O principal objetivo deste tutorial é capacitar os usuários a fortalecer suas cargas de trabalho na nuvem configurando efetivamente a região do OCI WAF em conjunto com o OCI Network Firewall. Ao incorporar certificados X.509 assinados da Let's Encrypt para o front-end do balanceador de carga do OCI, os usuários podem garantir uma conexão segura e validada. O tutorial orienta ainda mais os usuários na implementação das melhores práticas do OCI Network Firewall para tráfego Norte-Sul, implantando um aplicativo OCI Load Balancer. Notavelmente, essa configuração designa estrategicamente o OCI Load Balancer como o único componente usando um certificado não autoassinado - Vamos Criptografar o certificado, enquanto outros elementos que empregam o TLS (Transport Layer Security) utilizam certificados autoassinados sem problemas, que são mais fáceis de gerenciar.
-
Tarefa 1: Implantar o OCI Web Application Firewall (WAF) local.
-
Tarefa 2: Assinando certificado do servidor com Let's Encrypt.
-
Tarefa 3: Configurar o OCI Load Balancer.
-
Tarefa 4: Configurar o Firewall de Rede do OCI.
-
Tarefa 5: Configurar o roteamento do OCI.
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 SO Linux, OCI, Oracle Linux, incluindo como instalar e configurar software no Linux.
-
Uma boa compreensão sobre como usar a Console do OCI ou a Interface de Linha de Comando (CLI do OCI) do Oracle Cloud Infrastructure para criar e gerenciar recursos de rede.
-
Uma boa compreensão sobre como usar e configurar o OCI Network Firewall e o OCI WAF local.
-
Uma boa compreensão sobre a tecnologia SSL / TLS e certificados digitais X.509. Para obter mais informações, consulte este guia recomendado para obter um aprofundamento em certificados X.509: X509 Certificates e SSL/TLS: Compreender a tecnologia de criptografia TLS/SSL.
Tarefa 1: Implantar o OCI Web Application Firewall Local
O primeiro componente que vamos implantar é o WAF local.
-
Faça log-in na Console do OCI e clique em Web Application Firewall.
-
Em Políticas, clique em Criar Política de WAF e especifique as informações a seguir. Clique em Próximo.
-
Em Política de Controle de Acesso, selecione Ativar controle de acesso se o controle de acesso for necessário. Para obter mais informações, consulte Controles de Acesso para Políticas do Serviço Web Application Firewall.
-
Em Política de limitação de taxa, selecione Ativar para configurar regras de limitação de taxa se a limitação de taxa for necessária. Para obter mais informações, consulte Limitação de Taxa para o Serviço Web Application Firewall.
-
Em Proteções, selecione Ativar configuração de regras de proteção se a configuração de proteção for necessária. Para obter mais informações, consulte Proteções para o Serviço Web Application Firewall.
-
Em Selecionar ponto de imposição, a finalidade desse menu é anexar as políticas de WAF recém-criadas a um balanceador de carga existente. Se nenhum balanceador de carga tiver sido criado ou estiver disponível no momento, você poderá ignorar esta etapa e anexar as políticas ao criar o balanceador de carga.
Tarefa 2: Assinando Certificado do Servidor com Vamos Criptografar
Neste tutorial, estaremos utilizando um serviço CA público gratuito chamado Let's Encrypt para assinar nosso certificado de servidor. Portanto, o certificado de cadeia aparecerá da seguinte forma:
1.-End-user Certificate - Issued to: *.example.com; Issued By: Let’s Encrypt R3
2.-Intermediate Certificate 1 - Issued to: Let’s Encrypt R3 (RSA 2048, O = Let's Encrypt, CN = R3); Issued By: Signed by ISRG Root X1:ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1)
3.-Root certificate - Issued by and to: ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1) , Selfsigned
In PEM format:
-----BEGIN CERTIFICATE-----
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yNDAxMTUxNjAyMTNaFw0yNDA0MTQxNjAyMTJaMBgxFjAUBgNVBAMM
DSouZnd0ZXN0LnNpdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1
3NkuEB3r0m/cIWjYBvXEg8QAcib3QjkGO2YwDRu9IwjyxTYTqiWp0F8ZYh2hM1zP
...xxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
oIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5Dt....XXXX
-----BEGIN CERTIFICATE-----
oOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5
bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y
sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ
Xmidf3LWicUGQSk+WT7dJvUsWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4
FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc
SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql
PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOd....xxx
-----END CERTIFICATE-----
Portanto, antes de usar o Let's Encrypt, precisamos instalar certos softwares que nos ajudarão a criar nosso certificado Let's Encrypt ou assinar um CSR a ser assinado. Para obter mais informações, consulte Vamos Criptografar.
Para assinatura, usaremos o certbot do Let's Encrypt. Para obter mais informações sobre como configurar instruções, consulte Configurar instruções. Para instalá-lo no Oracle Linux, consulte Vamos Criptografar - Certificados Gratuitos no Oracle Linux (CertBot).
Depois de instalar o certbot, você pode criar facilmente um certificado x.509 assinado executando o comando a seguir.
sudo certbot certonly --manual --preferred-challenges=dns --email YOUR EMAIL ADDRESS --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com --key-type rsa
Como estamos utilizando um domínio curinga (_.example.com
), o certbot requer um desafio de verificação para confirmar a propriedade de _.example.com
. Escolhemos o desafio de DNS usando a opção –preferred-challenges=dns. Durante a execução do certbot, receberemos uma mensagem sobre o desafio de DNS, conforme mostrado na imagem a seguir.
Como estamos usando um serviço DNS do OCI, apenas criamos um registro txt na zona example.com
.
Agora, o certbot deve concluir o processo, permitindo que você obtenha o certificado do usuário final, completo com a cadeia de CA completa e sua chave privada correspondente. Usaremos esse certificado de usuário final (com sua cadeia completa) para o listener https do balanceador de carga mais adiante neste tutorial.
Tarefa 3: Configurar o OCI Load Balancer
Depois de concluir a configuração para o OCI WAF local, nosso próximo objetivo é implantar o OCI Load Balancer na Camada 4 a 7, também conhecido como OCI Flexible Load Balancer, para servir como serviço voltado ao público com um WAF local anexado a ele.
-
Abra a Console do OCI, clique em Rede e Balanceador de carga.
-
Clique em Criar Balanceador de Carga, especifique as informações a seguir e clique em Próximo.
-
Nome do balanceador de carga: Digite o nome do balanceador de carga.
-
Escolher tipo de visibilidade: Selecione o balanceador de carga Público.
-
Largura de Banda: Selecione a forma do balanceador de carga e outros detalhes de configuração.
-
Escolher rede: Selecione uma VCN com pelo menos duas sub-redes públicas; uma para o OCI Load Balancer e outra para o OCI Network Firewall.
-
Mostrar opções avançadas: Marque Usar uma política de firewall de aplicativo web para proteger contra ataques da camada 7 e escolha o WAF local criado anteriormente.
-
-
Ignore a seção Escolher backends, pois adicionaremos servidores de backend posteriormente quando o balanceador de carga for criado e clique em Próximo.
-
Em Configurar Listener, especifique as seguintes informações e clique em Próximo.
Configuraremos os listeners do balanceador de carga de solicitações recebidas, essencialmente o ponto de entrada principal do balanceador de carga no qual recebemos todas as conexões do mundo externo. Será necessário configurar HTTPS para HTTP seguro na porta padrão
443
, o que inevitavelmente exigirá o uso de certificados X.509 (certificados SSL). Ao usar HTTPS, garantiremos que todas as conexões serão criptografadas com segurança.Em um cenário típico em que o balanceador de carga público serve como o principal ponto de entrada para usuários finais na internet, é imperativo fazer upload de certificados SSL assinados por uma Autoridade de Certificação (CA) pública respeitável, como Digicert, Global Sign, Let's Encrypt e outros. Além disso, esses certificados expostos à internet precisam ser renovados perto de suas datas de expiração para garantir que os clientes não encontrem mensagens desnecessárias, como Sua conexão não é privada!! ERR_CERT_DATE_INVALID.
Dito isto, você precisará enviar os detalhes públicos e privados do certificado Let's Encrypt criado. Certifique-se de que ambos os componentes sejam carregados corretamente para facilitar conexões seguras. Certifique-se de fazer upload do certificado fullchain (que inclui CAs intermediárias e/ou raiz) na parte pública.
-
A opção Gerenciar registro em log é uma configuração opcional e não está no escopo deste tutorial. Clique em Submeter.
-
Depois de um tempo, seu balanceador de carga será criado. Agora, precisamos configurar os servidores de backend. Como o SSL será usado para os servidores de backend, primeiro precisamos criar pelo menos um certificado na seção de certificados do balanceador de carga que será usada para configurar a conexão SSL para servidores de backend. Conforme descrito acima, este pacote de certificados pode ser criado manualmente com ferramentas de terceiros ou você pode usar o serviço de gerenciamento OCI Certificates. Para este tutorial, usaremos a ferramenta XCA.
Vá para Rede, Balanceadores de carga, Balanceador de carga, Detalhes do balanceador de carga e Certificados.
-
Na seção Certificado, selecione Recurso de certificado como Certificado de gerenciamento do Balanceador de Carga e clique em Adicionar Certificado.
Adicione a raiz de CA pública ou o certificado de CA intermediária que você usou para assinar os certificados SSL do servidor de backend. Como lembrete, temos utilizado certificados autoassinados com qualquer nome comum e SAN, e sem uma data de expiração. Não é necessário instalar nenhum certificado de servidor aqui, pois o balanceador de carga utilizará exclusivamente a CA raiz para validação do certificado do servidor de backend.
-
Para criar os servidores de backend, selecione Conjuntos de backend e clique em Criar conjunto de backend.
-
Em Criar conjunto de backend, digite as informações a seguir.
- Nome do Conjunto de Backend: Informe o nome do conjunto de backend.
- Selecione SSL.
- Selecione Certificado de gerenciamento do Balanceador de Carga.
- Adicione o certificado criado na etapa 7. Se você quiser garantir que o balanceador de carga verifique a assinatura do certificado SSL recebido, clique em Verificar certificado de pareamento.
- Verificações de integridade:
- Protocolo: Selecione
HTTP
. - Porta: Selecione a porta
443
. - Intervalos e Timeout: Mantenha o intervalo e o timeout padrão (10000 e 3000 msec).
- Para a resposta de integridade da verificação de integridade, selecione 200.
- Caminho do URL (URI): Adicione qualquer recurso do URL que exista no servidor Web. Por exemplo:
index.html
,mainpage.html
etc.
- Protocolo: Selecione
Tarefa 4: Configurar o Firewall de Rede do OCI
Depois que o OCI Load Balancer é configurado, nosso objetivo é configurar um Firewall de Rede do OCI para proteger o tráfego Norte-Sul. O firewall será posicionado entre o balanceador de carga recém-configurado e o gateway de internet. Para continuar a configurar o Firewall de Rede do OCI, consulte Usar o Firewall de Rede do OCI para proxy de encaminhamento SSL e inspeção de entrada usando a regra de Decriptografia e conclua o seguinte.
-
Implante a política do OCI Network Firewall para o modo de inspeção de entrada SSL. Para obter mais informações, consulte Usando o Firewall de Rede do OCI para decriptografia SSL.
-
Ao criar o segredo mapeado para o perfil de decriptografia, utilize o certificado autoassinado idêntico (contendo chaves públicas e privadas) que foi submetido a upload anteriormente para o listener do Balanceador de Carga do OCI. Recomendamos seguir este tutorial para a criação de arquivos JSON. Consulte Criar Modelos JSON Totalmente Compatíveis com Base em Certificados PEM Personalizados para o OCI Network Firewall.
-
Implante o Firewall de Rede do OCI na sub-rede do NGFW Pub (192.168.5.0/24) ao anexar a política do Firewall de Rede do OCI criada anteriormente. Essa ação alocará um endereço IP privado da sub-rede mencionada para o Firewall de Rede do OCI, que será necessário para rotear a configuração posteriormente.
Tarefa 5: Configurar o OCI Routing
O OCI Network Firewall foi implantado. Precisamos garantir que o tráfego Norte-Sul o atravesse em ambas as direções. A primeira coisa a fazer é criar uma tabela de roteamento dedicada para o gateway de internet associado à VCN em que o Firewall de Rede do OCI está.
-
Crie a tabela de roteamento na VCN e adicione uma entrada de Tipo de Destino como
private IP
, Destino como bloco CIDR, introduzindo o bloco CIDR de sub-rede do balanceador de carga, para este tutorial192.168.6.0/24
e Destino como o IP privado designado ao Firewall de Rede do OCI implantado na Tarefa 6. -
Associe a tabela de roteamento ao gateway de internet, clique em três pontos e em Associar tabela de Roteamento e selecione a tabela de roteamento.
-
Depois que essa tabela de roteamento for associada ao gateway de internet, todo o tráfego direcionado ao balanceador de carga público
192.168.6.0/24
será inicialmente redirecionado para o IP privado192.168.5.78
, onde reside o Firewall de Rede do OCI.Do IP privado do OCI Network Firewall
192.168.5.78
, após a inspeção de pacotes do OCI Network Firewall, o pacote manterá sua jornada em direção ao OCI Load Balancer. A partir daí, eles são direcionados ao destino final entre os servidores de backend selecionados, determinado pela configuração de roteamento do balanceador de carga.Agora, é essencial garantir que os pacotes que retornam aos usuários da Internet sigam o mesmo caminho em ordem inversa, percorrendo o OCI Network Firewall para inspeção de respostas também. Precisamos criar uma tabela de roteamento para a sub-rede pública do balanceador de carga para rotear as respostas dos servidores de backend por meio do IP privado
192.168.5.78
do OCI Network Firewall, conforme mostrado na imagem a seguir.
Na sub-rede do OCI Network Firewall, precisamos garantir que as respostas sejam roteadas para o gateway de internet, adicionando uma rota 0.0.0.0/0
ao gateway de internet.
Depois de chegar ao gateway de internet, os pacotes são roteados de volta para sua origem. Como teste, acesse https://www.test.com
.
Links Relacionados
Confirmações
- Autors - Luis Catalán Hernández (Especialista em Rede na Nuvem da OCI e Várias Nuvens), 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.
Secure Your Applications using OCI Network Firewall and OCI WAF Regional with Let's Encrypt Certificates
G17250-01
October 2024