Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

AWS Network Firewall agora descriptografa tráfego SSL/TLS de saída

By Devanshu KhannaMar 14, 20246 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

O AWS Network Firewall é um serviço gerenciado de firewall de rede stateful, com detecção e prevenção de intrusões para sua Amazon virtual private cloud (VPC). Por ser stateful, ele consegue avaliar o contexto do tráfego de rede e tomar decisões mais assertivas. Seu sistema de prevenção de intrusões (IPS) faz inspeção ativa do fluxo de tráfego, com proteções em tempo real nas camadas de rede e de aplicação contra exploração de vulnerabilidades e ataques de força bruta.

A AWS expande seus recursos continuamente e tende a evoluir incorporando novas funcionalidades para acompanhar as capacidades avançadas dos NGFWs tradicionais.

Em 19 de dezembro, o suporte do AWS Network Firewall à inspeção de Transport Layer Security (TLS) de saída ficou disponível de forma geral em todas as regiões da AWS. Com esse recurso, os clientes podem descriptografar, inspecionar e recriptografar o tráfego TLS de saída destinado à internet, a outra VPC ou a outra subnet. Vale lembrar que a inspeção TLS de entrada no Network Firewall já está disponível em todas as regiões da AWS.

Por que as organizações precisam de descriptografia SSL/TLS de saída

A inspeção TLS de saída é o processo que permite às organizações monitorar e inspecionar o tráfego criptografado que sai da rede. Ela ajuda a detectar e impedir vazamento de dados, malware e outras ameaças de segurança. A criptografia TLS foi pensada para entregar tráfego pela internet com segurança, mas também pode ser usada para mascarar tráfego malicioso. Ao inspecionar conexões TLS de saída, é possível interceptar e filtrar tráfego suspeito, o que ajuda a detectar e prevenir vazamentos de dados e a manter a conformidade com requisitos regulatórios.

Diagrama de arquitetura de referência e fluxo de tráfego

Sem o Network Firewall, qualquer requisição criptografada por SSL para o site acontece diretamente entre o cliente e o servidor. Com a inspeção TLS habilitada no firewall, ele passa a atuar como um middlebox (dispositivo de interceptação SSL) entre o navegador e o servidor.

Vale destacar que a inspeção TLS funciona não só para tráfego HTTPS, mas também para outros protocolos de aplicação baseados em TCP que usam TLS, como SMTP e POP3s.

Exemplo de fluxo de tráfego — [para tráfego HTTPS]

  1. Requisição do cliente: o cliente inicia uma conexão segura com o servidor pelo protocolo HTTPS.
  2. Server hello e certificado: o servidor responde enviando os ciphers SSL e o certificado ao cliente.
  3. Inspeção SSL pelo Network Firewall: o firewall intercepta a resposta e a substitui por um certificado novo, gerado dinamicamente. Ele estabelece a própria conexão SSL com o cliente, fazendo o papel do servidor, e depois abre uma conexão segura separada com o servidor real, em nome do cliente.
  4. Inspeção de conteúdo: os dados criptografados que vêm do cliente são descriptografados pelo Network Firewall em busca de possíveis riscos de segurança, como malware, vírus ou dados não autorizados, conforme as regras stateful da firewall policy. O firewall pode permitir ou descartar a conexão. Se permitir, os dados são recriptografados e encaminhados ao servidor para processamento.
  5. Resposta do servidor: o servidor responde à requisição do cliente com dados criptografados, que percorrem o mesmo caminho de volta pelo dispositivo de inspeção SSL.

**Etapas de configuração**

Pré-requisitos

Crie a configuração de inspeção TLS

Faça login no console da AWS e localize as TLS inspection configurations dentro do serviço VPC. Clique em "Create TLS inspection configuration" —

Na página Associate certificates, escolha o certificado da CA para a inspeção SSL de saída e clique em "Next".

Os requisitos gerais para os certificados da CA usados na inspeção SSL/TLS de saída estão aqui.

Informe o "Name" e, opcionalmente, a "Description" —

Na próxima página, defina o escopo do tráfego que o Network Firewall deve descriptografar. Ele descriptografa o tráfego que casa com a 5-tupla definida na configuração de escopo. Veja abaixo um exemplo para inspecionar todo o tráfego destinado à porta 443. Clique em "Add scope configuration" —

Revise a configuração e clique em "Next" —

Se quiser, você pode definir uma customer managed key própria para criptografar os dados em repouso. Por enquanto, deixamos essa opção desmarcada. Já a opção "Check certificate revocation status" é recomendada, para que o firewall reaja a certificados de servidor revogados ou desconhecidos.

Adicione as Tags e, na página "Review and create", revise tudo e clique em "Create TLS inspection configuration" —

O próximo passo é adicionar a configuração de inspeção TLS a uma firewall policy.

Crie uma firewall policy e adicione a configuração de inspeção TLS no "Step 4". Lembre-se: só dá para adicionar a configuração de inspeção TLS a uma policy nova, nunca a uma já existente.

Por outro lado, é possível substituir uma configuração de inspeção TLS existente por outra dentro de uma firewall policy, pela aba "TLS inspection configuration".

Para concluir a configuração, edite a firewall policy do seu Firewall existente —

Se ainda não subiu o Network Firewall, siga este link e use a opção "associate an existing firewall policy" no menu suspenso do "Step 4", como na imagem abaixo —

A partir desse ponto, "qualquer" tráfego destinado à porta 443 (escopo) que passar pelo Network Firewall será inspecionado por TLS.

**Testes**

Hora de testar a configuração. Se você ainda não tem o roteamento da VPC configurado, vale seguir o passo a passo da documentação da AWS aqui.

Para comprovar que o engine SSL do AWS Network Firewall enxerga o tráfego HTTP descriptografado, criei uma regra suricata STATEFUL que bloqueia a URI com o conteúdo "download-anti-malware-testfile"

drop http $HOME_NET any -> $EXTERNAL_NET any (content:"download-anti-malware-testfile"; http_uri; msg:"Blocking bad domain"; flow:to_server, established; sid:2; rev:1;)

Acesse a instância EC2 e rode o comando abaixo para baixar o arquivo de teste de malware

curl -I https://www.eicar.org/download-anti-malware-testfile/ -v

A saída do comando curl é um TLS alert, sinalizando uma interrupção na comunicação.

* using HTTP/1.x
> HEAD /download-anti-malware-testfile/ HTTP/1.1
> Host: www.eicar.org
> User-Agent: curl/8.5.0
> Accept: */*
>
TLS alert, close notify (256):
* Empty reply from server
* Closing connection
* TLS alert, close notify (256):
curl: (52) Empty reply from server

Com os logs do Cloudwatch habilitados, dá para ver os cabeçalhos HTTP descriptografados ao lado da regra que deu match. A ação foi "blocked" por causa da regra.

{
    "firewall_name": "Firewall-outbound-inspection",
    "availability_zone": "eu-west-1a",
    "event_timestamp": "1708512471",
    "event": {
        "tx_id": 0,
        "app_proto": "http",
        "src_ip": "172.31.88.172",
        "src_port": 41508,
        "event_type": "alert",
        "alert": {
            "severity": 3,
            "signature_id": 2,
            "rev": 1,
            "signature": "Blocking bad domain",
            "action": "blocked",
            "category": ""
        },
        "flow_id": 817400271818255,
        "dest_ip": "89.238.73.97",
        "proto": "TCP",
        "http": {
            "hostname": "www.eicar.org",
            "url": "/download-anti-malware-testfile/",
            "http_user_agent": "curl/8.5.0",
            "http_method": "HEAD",
            "protocol": "HTTP/1.1",
            "length": 0
        },
        "dest_port": 443,
        "timestamp": "2024-02-21T10:47:51.085575+0000"
    }
}

**Preços**

Ao usar o recurso de inspeção TLS, há uma cobrança extra por hora referente ao Advanced Inspection. Em algumas regiões, ainda há cobrança adicional pelo processamento de dados do Advanced Inspection.

Por exemplo, na região da Irlanda não há cobrança extra pelo Advanced Inspection Traffic Processing

Já em Melbourne, você paga US$ 0,009/GB pelo processamento de tráfego

Mais detalhes sobre preços aqui.

**Conclusão**

Para fechar, vimos como configurar o Network Firewall para que as organizações inspecionem o tráfego de saída criptografado, possibilitando detectar e barrar ameaças escondidas em conexões SSL/TLS. Isso ajuda a mitigar riscos ligados a atividades maliciosas, como malware, vazamento de dados e comunicações de comando e controle.

No fim das contas, a inspeção SSL de saída é uma medida de segurança fundamental: fortalece as defesas, protege dados sensíveis e mantém a conformidade regulatória diante do cenário de ameaças atual.