Observação:

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.

Modelo

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

Arquitetura

Essa arquitetura proposta incluirá proteção total para cargas de trabalho da tenancy usando os componentes a seguir.

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.

Arquitetura

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.

Pré-requisitos

Tarefa 1: Implantar o OCI Web Application Firewall Local

O primeiro componente que vamos implantar é o WAF local.

  1. Faça log-in na Console do OCI e clique em Web Application Firewall.

    Menu 1 do WAF

  2. Em Políticas, clique em Criar Política de WAF e especifique as informações a seguir. Clique em Próximo.

    Menu 1 do WAF

  3. 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.

    Menu 1 do WAF

  4. 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.

    Menu 1 do WAF

  5. 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.

    Menu 1 do WAF

  6. 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.

    Menu 1 do WAF

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.

Desafio de DNS do Certbot

Como estamos usando um serviço DNS do OCI, apenas criamos um registro txt na zona example.com.

Desafio de TXT do DNS do OCI

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.

  1. Abra a Console do OCI, clique em Rede e Balanceador de carga.

    Balanceador de Carga 1

  2. 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.

      Menu Principal do Balanceador de Carga

    • 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.

      Opção Menu Principal/Avançado do Balanceador de Carga

  3. Ignore a seção Escolher backends, pois adicionaremos servidores de backend posteriormente quando o balanceador de carga for criado e clique em Próximo.

  4. Em Configurar Listener, especifique as seguintes informações e clique em Próximo.

    Menu do Listener do Balanceador de Carga

    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.

  5. A opção Gerenciar registro em log é uma configuração opcional e não está no escopo deste tutorial. Clique em Submeter.

  6. 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.

  7. Na seção Certificado, selecione Recurso de certificado como Certificado de gerenciamento do Balanceador de Carga e clique em Adicionar Certificado.

    Origem do Certificado do Balanceador de Carga

    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.

    Balanceador de Carga Adicionando certificado

  8. Para criar os servidores de backend, selecione Conjuntos de backend e clique em Criar conjunto de backend.

    Conjunto de Backend do Balanceador de Carga 1

  9. 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.

    Conjunto de Backend do Balanceador de Carga 1

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.

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á.

  1. 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 tutorial 192.168.6.0/24 e Destino como o IP privado designado ao Firewall de Rede do OCI implantado na Tarefa 6.

    Tabela de Roteamento GW da Internet

  2. 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.

    Tabela de Roteamento GW da Internet

  3. 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 privado 192.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.

    tabela de Rota do balanceador de carga

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.

Tabela de Roteamento do Firewall de Rede

Depois de chegar ao gateway de internet, os pacotes são roteados de volta para sua origem. Como teste, acesse https://www.test.com.

Tabela de Roteamento GW da Internet

Confirmações

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.