O blog da AWS

Proteja sua força de trabalho remota usando o Route53 DNS Firewall e AWS Network Firewall

Por Patrick Duffy, Arquiteto de Soluções para SMB na AWS

 

Mais clientes estão adotando estratégias flexíveis de trabalho remoto que usam soluções de desktop virtual, como Amazon WorkSpaces e Amazon AppStream 2.0 , para entregar aplicativos aos usuários. A proteção dessas cargas de trabalho se beneficia de uma abordagem em camadas, e esta postagem se concentra na proteção de seus usuários no nível de rede. Mostramos a seguir recomendações de como aplicar essas medidas de segurança usando o Route 53 Resolver DNS Firewall e o AWS Network Firewall, dois serviços gerenciados que fornecem proteção em camadas para a nuvem privada virtual (VPC) do cliente.

 

Visão geral

O DNS Firewall ajuda você a bloquear consultas DNS feitas para domínios maliciosos conhecidos, enquanto permite consultas DNS a domínios confiáveis. O DNS Firewall tem um modelo de implantação simples que facilita o início da proteção de suas VPCs usando listas de domínios gerenciados, bem como listas de domínios personalizadas. Com o DNS Firewall, você pode filtrar as requisições de DNS de saída. O serviço inspeciona as requisições de DNS que são tratadas pelo Route 53 Resolver e aplica as ações que você define para permitir ou bloquear requisições.

O DNS Firewall consiste em listas de domínios e grupos de regras. As listas de domínios incluem listas de domínios personalizadas que você cria e listas de domínios gerenciados pela AWS. Os grupos de regras são associados a VPCs e controlam a resposta para listas de domínio que você escolher. Você pode configurar grupos de regras em escala usando o AWS Firewall Manager . Os grupos de regras são processados em ordem de prioridade e o processamento é interrompido quando uma regra é atendida (match).

O AWS Network Firewall ajuda os clientes a proteger suas VPCs na camada de rede. O Network Firewall é um serviço altamente disponível e de escalabilidade automática que simplifica a implantação e o gerenciamento para administradores de rede. Com o Network Firewall, você pode realizar a inspeção de tráfego de entrada, tráfego de saída, tráfego entre VPCs e tráfego entre VPCs e AWS Direct Connect ou AWS VPN . Você pode implantar regras stateless para permitir ou bloquear tráfego com base no protocolo, nas portas de origem e destino e nos endereços IP de origem e destino. Além disso, você pode implantar regras stateful que permitem ou bloqueiam o tráfego com base em listas de domínios, grupos de regras padrão ou regras do sistema de prevenção de intrusões (IPS) compatível com Suricata.

Para configurar o Network Firewall, você precisa criar grupos de regras do Network Firewall, uma política do Network Firewall e, finalmente, um firewall de rede. Os grupos de regras consistem em grupos de regras stateless e stateful. Para ambos os tipos de grupos de regras, você precisa estimar a capacidade ao criar o grupo de regras. Consulte o Guia do desenvolvedor do Network Firewall para saber como estimar a capacidade necessária para os mecanismos de regras stateless e stateful.

Esta postagem mostra como configurar o DNS Firewall e o Network Firewall para proteger sua carga de trabalho. Você aprenderá a criar regras que impeçam consultas DNS a servidores DNS não aprovados e que bloqueiem recursos por protocolo, domínio e endereço IP. A seguir mostraremos como proteger uma carga de trabalho que consiste em dois controladores de domínio do Microsoft Active Directory, um servidor de aplicação executando QuickBooks e Amazon Workspaces para entregar a aplicação QuickBooks aos usuários finais, conforme mostrado na Figura 1.

 

Figura 1: um exemplo de arquitetura que inclui controladores de domínio e QuickBooks hospedados no EC2 e Amazon WorkSpaces para desktops virtuais de usuários

Configurar firewall DNS

As listas de domínios do DNS Firewall atualmente incluem duas listas gerenciadas para bloquear redes de comando e controle de malware e botnet, e você também pode trazer sua própria lista. Sua lista pode incluir qualquer nome de domínio que você considere mal-intencionado e qualquer domínio ao qual você não queira que suas cargas de trabalho se conectem.

Para configurar listas de domínios do DNS Firewall (console)

  1. Abra o console do Amazon VPC.
  2. No painel de navegação, em DNS Firewall, escolha Domain lists.
  3. Escolha “Add domains” para configurar uma lista de domínios de propriedade do cliente.
  4. Na caixa de diálogo do construtor de lista de domínio, faça o seguinte:
    1. Em “Domain name” , insira um nome.
    2. Na segunda caixa de diálogo, insira a lista de domínios que deseja permitir ou bloquear.
    3. Escolha “Add domain list”.

Ao criar uma lista de domínios, você pode inserir uma lista de domínios que deseja bloquear ou permitir. Você também tem a opção de fazer upload de seus domínios usando um upload em massa. Você pode usar valores genéricos (wildcard) com um asterisco ao adicionar domínios ao DNS Firewall. A Figura 2 mostra um exemplo de uma lista de domínio personalizado que corresponde ao domínio raiz e a qualquer subdomínio de box.com, dropbox.com e sharefile.com, para evitar que os usuários usem essas plataformas de compartilhamento de arquivos.

 

Figura 2: domínios adicionados a uma lista de domínios de propriedade do cliente

 

Para configurar grupos de regras do DNS Firewall (console)

  1. Abra o console do Amazon VPC.
  2. No painel de navegação, em DNS Firewall, escolha Rule group.
  3. Escolha Create rule group para aplicar ações a listas de domínio.
  4. Insira um nome de grupo de regras e uma descrição opcional.
  5. Escolha Add Rule para adicionar uma lista de domínios gerenciada pela AWS ou pelo cliente e faça o seguinte:
    1. Insira um nome de regra e uma descrição opcional.
    2. Escolha Add my domain list ou Add AWS managed domain list.
    3. Selecione a lista de domínios desejada.
    4. Escolha uma ação e, em seguida, escolha Avançar.
  6. (Opcional) Altere a prioridade da regra.
  7. (Opcional) Adicione tags.
  8. Escolha Create rule group.

Ao criar seu grupo de regras, você anexa regras e define uma ação e prioridade para a regra. Você pode definir ações de regra como Permitir, Bloquear ou Alertar. Ao definir a ação como Bloquear, você pode retornar as seguintes respostas:

  • NODATA – Não retorna uma resposta.
  • NXDOMAIN – Retorna uma resposta de domínio desconhecido.
  • OVERRIDE – Retorna uma resposta CNAME personalizada.

Figura 3 mostra as regras anexadas ao firewall DNS.

 

Figura 3: Regras de firewall DNS

 

Para associar seu grupo de regras a uma VPC (console)

  1. Abra o console do Amazon VPC.
  2. No painel de navegação, em DNS Firewall, escolha Rule group.
  3. Selecione o grupo de regras desejado.
  4. Escolha Associated VPCs e, em seguida, Associate VPC.
  5. Selecione uma ou mais VPCs e escolha Associar.

O grupo de regras filtrará suas solicitações de DNS para o Route 53 Resolver. Configure seus servidores DNS encaminhadores (Forwarders) para usar seu Route 53 Resolver.

Para configurar os logs de atividades do seu firewall, navegue até o console do Route 53 e selecione sua VPC na seção Resolver. Você pode configurar várias opções de registro, se necessário. Você pode optar por enviar seus logs para o Amazon CloudWatch , Amazon Simple Storage Service (Amazon S3) ou Amazon Kinesis Data Firehose. Selecione a VPC para a qual você deseja registrar as consultas e adicione as tags necessárias.

Configurar o AWS NETWORK firewall

Nesta seção, você aprenderá a criar grupos de regras de Network Firewall, uma política de firewall e um firewall de rede.

Configurar grupos de regras

Grupos de regras stateless são avaliações diretas de um endereço IP de origem e destino, protocolo e porta. É importante observar que as regras stateless não realizam nenhuma inspeção profunda do tráfego de rede.

As regras sem estado têm três opções:

  • PASS – Envie o pacote sem inspeção adicional.
  • DROP – Descarte o pacote.
  • FORWARD – Encaminhe o pacote para grupos de regras stateful.

Regras stateless inspecionam cada pacote isoladamente na ordem de prioridade e interrompem o processamento quando uma regra é atendida (match). Este exemplo não usa regras stateless e simplesmente usa a ação padrão do firewall para encaminhar todo o tráfego para grupos de regras stateful.

Grupos de regras stateful suportam inspeção profunda de pacotes, logging de tráfego e regras mais complexas. Os grupos de regras stateful avaliam o tráfego com base em: regras padrão, regras de domínio ou regras Suricata. Dependendo do tipo de regra que você usa, você pode passar, descartar ou criar alertas no tráfego inspecionado.

Para criar um grupo de regras (console)

  1. Abra o console da Amazon VPC.
  2. No painel de navegação, em AWS Network Firewall, escolha Network Firewall rule groups.
  3. Escolha Criar grupo de regras de firewall de rede.
  4. Escolha Stateful rule group ou Stateless rule group.
  5. Insira as configurações desejadas.
  6. Escolha Create stateful rule.

O exemplo na Figura 4 usa regras padrão para bloquear o tráfego de saída e entrada do Server Message Block (SMB), Secure Shell (SSH), Network Time Protocol (NTP), DNS e Kerberos, que são protocolos comuns usados em nossa carga de trabalho de exemplo. O firewall de rede não inspeciona o tráfego entre sub-redes na mesma VPC ou no peering de VPCs, portanto, essas regras não bloquearão o tráfego local. Você pode adicionar regras com a ação Pass para permitir o tráfego entre redes confiáveis.

 

Figura 4: Regras padrão criadas para bloquear tráfego não autorizado de SMB, SSH, NTP, DNS e Kerberos

 

O bloqueio de solicitações de DNS de saída é uma estratégia comum para verificar se o tráfego DNS é resolvido apenas de resolvedores (resolvers) locais, como seu servidor DNS ou o Route 53 Resolver. Você também pode usar essas regras para impedir o tráfego de entrada para seus recursos hospedados na VPC, como uma camada adicional de segurança além dos grupos de segurança (security groups). Se um grupo de segurança permitir erroneamente o acesso SMB a um servidor de arquivos externo, o Network Firewall descartará esse tráfego com base nessas regras.

Embora a política de DNS Firewall descrita aqui bloqueie consultas DNS para plataformas de compartilhamento não autorizadas, alguns usuários podem tentar contornar esse bloqueio modificando o arquivo HOSTS em seu Amazon Workspace. Para combater esse risco, você pode adicionar uma regra de domínio à sua política de firewall para bloquear os domínios box.com, dropbox.com e sharefile.com, conforme mostrado na Figura 5.

 

Figura 5: Uma regra de lista de domínio para bloquear box.com, dropbox.com e sharefile.com

 

Configurar política de firewall

Você pode usar políticas de firewall para associar grupos de regras stateless e stateful a uma única política usada por um ou mais firewalls de rede. Associe seus grupos de regras a esta política e defina suas ações stateless padrão preferidas. As ações stateless padrão serão aplicadas a qualquer pacote que não corresponda a um grupo de regras stateless dentro da política. Você pode escolher ações separadas para pacotes completos e pacotes fragmentados, dependendo de suas necessidades, conforme mostrado na Figura 6.

 

Figura 6: Grupos de stateful rules anexados a uma política de firewall

 

Você pode optar por encaminhar o tráfego para ser processado por quaisquer grupos de regras stateful que você anexou à sua política de firewall. Para ignorar qualquer grupo de regras stateful, você pode selecionar a opção Pass.

Para criar uma firewall policy (console)

  1. Abra o console do Amazon VPC.
  2. No painel de navegação, em AWS Network Firewall, escolha Firewall policy.
  3. Escolha Create firewall policy.
  4. Insira um nome e uma descrição para a política.
  5. Escolha Add rule group.
    1. Selecione as ações padrão stateless que você deseja usar.
    2. Para qualquer grupo de regras stateless ou stateful, escolha Add rule group para adicionar os grupos de regras que você deseja usar.
  6. (Opcional) Adicione tags.
  7. Escolha Create firewall policy.

Configurar um firewall de rede

A configuração do firewall de rede exige que você anexe o firewall a uma VPC e selecione pelo menos uma sub-rede.

Para criar um firewall de rede (console)

  1. Abra o console do Amazon VPC.
  2. No painel de navegação, em AWS Network Firewall, escolha Firewalls.
  3. Escolha Criar firewall.
  4. Em Detalhes do firewall , faça o seguinte:
    1. Digite um nome para o firewall.
    2. Selecione a VPC.
    3. Selecione uma ou mais zonas de disponibilidade e sub-redes, conforme necessário.
  5. Em Política de firewall associada , faça o seguinte:
    1. Escolha Associar uma política de firewall existente .
    2. Selecione a política de firewall.
  6. (Opcional) Adicione tags.
  7. Escolha Criar firewall .

Duas sub-redes em zonas de disponibilidade separadas são usadas para o exemplo de firewall de rede mostrado na Figura 7, para fornecer alta disponibilidade.

 

Figura 7: Uma configuração de firewall de rede que inclui várias sub-redes

 

Depois que o firewall estiver no estado pronto (Ready), você poderá ver os IDs de endpoint dos endpoints do firewall, conforme mostrado na Figura 8. Os IDs de endpoint são necessários ao atualizar as tabelas de rotas da VPC.

 

Figura 8: IDs de endpoint de firewall

 

Você pode configurar logs de alerta, logs de fluxo ou ambos para serem enviados ao Amazon S3, aos grupos de logs do Amazon CloudWatch ou ao Amazon Kinesis Data Firehose. Os administradores configuram o log de alertas para criar alertas proativos e logs de fluxo para usar na análise e solução de problemas.

Finalize a configuração

Depois que o firewall estiver criado e pronto, a última etapa para concluir a configuração é atualizar as tabelas de rotas da VPC. Atualize seu roteamento na VPC para rotear o tráfego pelos novos endpoints de firewall de rede. Atualize a tabela de rotas de sub-redes públicas para direcionar o tráfego para o endpoint de firewall na mesma zona de disponibilidade. Atualize a rota do Internet Gateway para direcionar o tráfego para os endpoints do firewall na zona de disponibilidade correspondente para sub-redes públicas. Essas rotas são mostradas na Figura 9.

 

Figura 9: Diagrama de rede da solução de firewall

 

Nesta arquitetura de exemplo, os usuários do Amazon WorkSpaces podem se conectar diretamente entre a sub-rede privada 1 e a sub-rede privada 2 para acessar recursos locais. Security Groups e autenticação do Windows controlam o acesso de WorkSpaces a cargas de trabalho hospedadas em Amazon EC2, como Active Directory, servidores de arquivos e aplicativos SQL. Por exemplo, os controladores de domínio do Microsoft Active Directory são adicionados a um Security Group que permite as portas de entrada 53, 389 e 445, conforme mostrado na Figura 10.

 

Figura 10: Regras de entrada do Security Group do controlador de domínio

 

O tráfego do WorkSpaces resolverá primeiro as solicitações de DNS usando o controlador de domínio do Active Directory. O controlador de domínio usa o Resolvedor do Route 53 local como um encaminhador de DNS, que o DNS Firewall protege. O tráfego de rede flui da sub-rede privada para o NAT Gateway, passando pelo firewall da rede para o Internet Gateway. O tráfego de resposta flui de volta do Internet Gateway para o firewall da rede, depois para o NAT Gateway e, finalmente, para o WorkSpace do usuário. Esse fluxo é mostrado na Figura 11.

 

Figura 11: Fluxo de tráfego para tráfego permitido

 

Se um usuário tentar se conectar a recursos bloqueados da Internet, como box.com, uma botnet ou um domínio de malware, isso resultará em uma resposta NXDOMAIN do DNS Firewall e a conexão não prosseguirá. Esse fluxo de tráfego bloqueado é mostrado na Figura 12.

 

Figura 12: Fluxo de tráfego quando bloqueado pelo DNS Firewall

 

Se um usuário tentar iniciar uma solicitação de DNS para um servidor DNS público ou tentar acessar um servidor de arquivos público, isso resultará em uma conexão interrompida pelo firewall de rede. O tráfego fluirá conforme o esperado do WorkSpace do usuário para o NAT Gateway e de lá ao firewall da rede, que inspeciona o tráfego. O firewall de rede então descarta o tráfego quando corresponde a uma regra com a ação descartar ou bloquear, conforme mostrado na Figura 13. Essa configuração ajuda a garantir que seus recursos privados usem apenas servidores DNS e recursos da Internet aprovados. O firewall de rede bloqueará domínios não aprovados e protocolos restritos que usam regras padrão.

 

Figura 13: Fluxo de tráfego quando bloqueado pelo firewall de rede

 

Tome cuidado extra para associar uma tabela de rotas ao seu Internet Gateway para rotear o tráfego de sub-rede privada para seus endpoints de firewall; caso contrário, o tráfego de resposta não retornará às suas sub-redes privadas. O tráfego será roteado da sub-rede privada até o NAT Gateway em sua zona de disponibilidade. O NAT Gateway passará o tráfego para o endpoint de firewall de rede na mesma zona de disponibilidade, que processará as regras e enviará o tráfego permitido para o Internet Gateway da VPC. Ao usar esse método, você pode bloquear o tráfego de rede de saída com critérios mais avançados do que o permitido pelas Access Control Lists (ACLs) de rede.

 

Conclusão

Route53 Resolver DNS Firewall e AWS Network Firewall ajudam você a proteger suas cargas de trabalho hospedadas na VPC, inspecionando o tráfego de rede e aplicando regras de inspeção profunda de pacotes para bloquear tráfego indesejado. Esta postagem se concentrou na implementação do firewall de rede em uma carga de trabalho de desktop virtual que abrange várias zonas de disponibilidade. Você viu como implantar um firewall de rede e atualizar suas tabelas de rotas VPC. Essa solução pode ajudar a aumentar a segurança de suas cargas de trabalho na AWS. Se você tiver várias VPCs para proteger, considere aplicar suas políticas em escala usando o AWS Firewall Manager, conforme descrito neste artigo.

 


Sobre o autor

Patrick Duffy é Arquiteto de Soluções para o segmento de pequenas e médias empresas na AWS. Ele é apaixonado por temas de segurança na AWS. Fora do trabalho, ele ama viajar e experimentar novos tipos de comida e gosta de assistir jogos no Magic Arena ou Overwatch.

 

 

 

 

Sobre o tradutor

Erik Miyashita é Arquiteto de Soluções na AWS com larga experiência em sistemas distribuídos, DevSecOps e monitoração. Atualmente atende clientes do segmento enteprise, auxiliando-os a utilizar melhor os recursos de cloud computing.

 

 

 

 

 

Sobre os revisores

Daniel Garcia é especialista em segurança na AWS com mais de 20 anos de experiência em tecnologia e segurança da informação. Trabalha junto aos clientes do Brasil e da América Latina na definição, implementação de suas jornadas de segurança na nuvem.

 

 

 

 

 

Pedro Rosinholi é Arquiteto de Soluções na AWS com mais de 10 anos de experiência em soluções de TI. Ajuda empresas de diversas indústrias em sua jornada para a nuvem de maneira segura, escalável e resiliente. No tempo livre coloca uns discos de vinil para tocar.