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 sua Rede Interna do Oracle Cloud Infrastructure usando um Firewall DNS
Introdução
Ter controle sobre o que suas instâncias de Máquina Virtual (VM) estão fazendo é essencial para que você possa controlar seu comportamento. Na maioria dos casos, as consultas do Sistema de Nomes de Domínio (DNS) são esquecidas e não são controladas ou monitoradas, deixando o caminho aberto para que uma máquina comprometida se conecte a servidores de comando e controle (C2) e faça download de software malicioso, por exemplo. Ser capaz de controlar e bloquear essas consultas de saída para servidores C2 e outros tipos de servidores maliciosos adiciona uma camada extra de segurança à sua rede e você pode evitar que sua VM e sua rede sejam ainda mais comprometidas.
Objetivos
- Use o serviço de DNS privado do OCI (Oracle Cloud Infrastructure) para proteger sua rede interna do OCI contra consultas DNS de saída mal-intencionadas configurando um firewall DNS e adicionando registro em log para ter melhor controle e visibilidade das consultas DNS de suas instâncias.
Pré-requisitos
-
Acesso a uma tenancy do OCI.
-
Compreensão básica do DNS.
-
Uma VCN (Rede Virtual na Nuvem).
Configuração: Por padrão, cada VCN é criada com seu próprio resolvedor de DNS e, se você prestar atenção à configuração em máquinas Linux, elas serão configuradas no arquivo
/etc/resolv.conf
com o seguinte conteúdo (exemplo para o Oracle Linux 9):[opc@linu-lab ~]$ cat /etc/resolv.conf ... nameserver 169.254.169.254
O endereço APIPA (Automatic Private IP Addressing)
169.254.169.254
é usado na rede do OCI para vários serviços, entre eles o resolvedor de DNS. -
Uma conta em qualquer provedor de firewall DNS (opcional).
Tarefa 1: Localizar o Resolvedor de DNS na Console do OCI
Certifique-se de que você já tenha criado uma VCN e clique no nome da VCN. Na página Detalhes da Rede Virtual na Nuvem, clique em Resolvedor de DNS.
Tarefa 2: Configurar um Ponto Final de Encaminhamento
-
Em Recursos, clique em Pontos Finais e Criar Ponto Final.
-
Na página Criar ponto final, digite as informações a seguir e clique em Criar Ponto Final.
- Nome: Digite um nome.
- Sub-rede: Selecione a sub-rede na qual você deseja o ponto final do encaminhador.
- Tipo de ponto final: Selecione Encaminhamento.
Deve levar alguns minutos e quando terminar, você terá seu encaminhador de DNS criado. Isso nos permitirá configurar um redirecionamento de consultas onde quisermos, no nosso caso, para um firewall DNS.
O resolvedor de DNS segue uma ordem sobre como as consultas das instâncias são resolvidas:
Primeiro, ele verificará todas as views privadas anexadas, depois as regras do resolvedor e, por último, usará os próprios resolvedores de Internet públicos da Oracle para resolver nomes de host. Para obter mais informações, consulte Configuração e Resolução.
Na próxima etapa, queremos desviar todas as consultas que não são locais (não existem em nenhuma view privada) e enviá-las para um serviço de firewall DNS ou algum outro servidor DNS gerenciado por sua empresa para controlar as consultas.
Você pode optar por escolher um serviço gratuito, como OpenDNS, Quad9, ControlD e muitos outros, ou escolher um serviço pago com muito mais controle e recursos, como Cisco Umbrella, ControlD, NextDNS, InfoBlox e muito mais.
Observação: Não temos conexão com os provedores de DNS mencionados na Tarefa 3. Eles são usados como exemplo devido à simplicidade, facilidade de uso e configuração. Existem muitos outros fornecedores que fornecem serviços semelhantes, encontre o que melhor se adapta às suas necessidades.
Tarefa 3: Criar uma Regra de Resolvedor
-
Usar um Serviço de Firewall de DNS Gratuito
Lembre-se de que o resolvedor avaliará as regras por ordem e parará na primeira correspondência. Certifique-se de que, se você tiver outras regras para domínios internos, nossa regra será a última, para que possamos redirecionar todas as outras consultas para nosso firewall de DNS.
Neste tutorial, usamos o serviço Quad9, este é um serviço gratuito que é muito simples de usar com basicamente nenhuma configuração. Outros serviços gratuitos como ControlD permitem que você configure várias categorias de consultas a serem bloqueadas.
-
Em Recursos, clique em Regras e Gerenciar Regras.
-
Na página Gerenciar regras, especifique as informações a seguir.
-
Condição da Regra: Selecione Nenhum, isso criará um cliente Corresponder a todos, o que significa que todas as consultas não resolvidas nas views privadas ou pelas regras anteriores serão desviadas para o encaminhador do resolvedor e não serão resolvidas pelo resolvedor público da Internet do OCI.
-
Ponto de Origem: Selecione o ponto final do encaminhador criado na Tarefa 2.
-
Endereço IP de Destino: Usamos os servidores DNS Quad9
9.9.9.9
.
-
-
Clique em Salvar alterações e aguarde alguns minutos para que o resolvedor seja atualizado.
Todas as suas consultas de instância são enviadas para o serviço Firewall DNS Quad9 e bloqueadas se alguma instância tentar se conectar a um IP malicioso.
Ou
-
-
Usar um Serviço de Firewall de DNS Pago
Se você precisar de mais controle, recursos e registro, talvez o serviço gratuito não seja a solução para o seu caso. Os serviços pagos oferecem muito mais controle e recursos do que os serviços gratuitos e podem permitir que você detecte instâncias que estão fazendo consultas suspeitas para nomes de host que não deveriam.
Neste tutorial, usaremos NextDNS e há algumas etapas extras necessárias para fazê-lo funcionar.
Primeiro você precisa de uma conta, o NextDNS oferece uma camada gratuita com até 300K consultas por mês, o que deve ser mais do que suficiente para testar o serviço. Depois de ter a conta, faça log-in e crie um novo perfil para a sua VCN.
-
Clique em Novo e informe um nome.
-
Clique em Configurações e selecione a região em que os logs serão salvos. Você pode escolher entre EUA, Europa ou Suíça.
-
Clique em Segurança e selecione como filtrar e bloquear IPs maliciosos, usando IA, usando feeds e muito mais opções.
-
Clique em Privacidade e adicione a lista de IPs maliciosos conhecidos, rastreadores, servidores de anúncios e muito mais.
-
Você também pode criar listas de negação e permissão em DenyList e AllowList.
A melhor parte desse serviço são os recursos de log e análise. Isso nos permitiu encontrar uma extensão de navegador no laptop fazendo dezenas de milhares de consultas a um nome de host muito estranho, o que resultou na remoção da extensão.
-
Agora, clique em Configurar e podemos ver que há diferentes pontos finais, IPv4, IPv6, DoT (DNS sobre TLS) e DOH (DNS sobre HTTP).
-
Neste tutorial, usaremos IPv4, e temos IPs específicos para seus resolvedores, só precisamos vincular nosso endereço IP, para que NextDNS saiba de onde as consultas estão vindo, para que eles possam registrá-las em seu perfil.
Para isso, precisamos fazer login em uma das instâncias com acesso à Internet (por meio de NAT) e executar o comando a seguir para vincular o IP ao perfil.
[opc@linux-lab ~]$ curl https://link-ip.nextdns.io/d34ff7/fd11c0xxxxx67cab 158.101.204.149[opc@linux-lab ~]$
Clique em Mostrar Opções Avançadas, IP Vinculado e obtenha o link correto para seu perfil.
O script retornará o IP do Gateway NAT do OCI, que é usado pelo resolvedor de DNS do OCI para fazer todas as consultas.
Só precisamos fazer uma última alteração na regra do resolvedor para apontar para o IP IPv4 do resolvedor NextDNS.
-
Na página do resolvedor de VCN, clique em Regras e exclua a regra que adicionamos anteriormente e crie uma nova apontando para o IP
45.90.28.43
.Depois que o resolvedor de DNS do OCI for atualizado com essa alteração, todas as instâncias internas que fizerem consultas de DNS nessa VCN usarão o serviço de firewall NextDNS.
Criar uma Lista de Negação
Vamos criar uma lista de negação e verificar se ela funciona. Vá para a console NextDNS, selecione o perfil criado e clique em DenyList. Adicione o domínio
malicious.site
e clique em Enter.Na instância interna, tente resolver o IP deste domínio.
[opc@linux-lab ~]$ dig +short A malicious.site 0.0.0.0
Como esperado, a consulta não é resolvida para nenhum IP e
0.0.0.0
é retornado, além disso, a consulta foi registrada.A guia Análise começa a mostrar informações sobre todas as consultas feitas nesse perfil. A partir de agora, todas as consultas feitas por instâncias internas dentro da sua VCN usarão a regra do resolvedor para encaminhar consultas ao firewall DNS.
-
Observações:
Todos esses provedores têm redes anycast e arquiteturas altamente resilientes e escaláveis, que devem sustentar a falha dos servidores, mas se você quiser aumentar a resiliência de sua própria arquitetura, você deve implementar um Balanceador de Carga de Rede no OCI que será usado como encaminhador na regra do resolvedor e usar os vários IPs fornecidos pelos provedores de DNS como backends do Balanceador de Carga de Rede. No caso de um dos IPs do provedor de DNS ficar inativo, o que seria muito incomum, o Balanceador de Carga de Rede alterna o tráfego para o outro IP.
Lembre-se de que a lista de segurança da sub-rede na qual o encaminhador de ponto final DNS privado está implantado deve permitir conexões na porta UDP (User Datagram Protocol) e TCP (Transmission Control Protocol) 53, para poder receber consultas de DNS.
Essa sub-rede precisa ter conectividade com a Internet por meio de um gateway NAT. Certifique-se de que as listas de segurança e as tabelas de roteamento estejam configuradas corretamente para permitir isso.
Links Relacionados
Confirmações
- Autor - Carlos Jorge Santos (Engenheiro de Nuvem da OCI - Especialista em Domínio de Rede)
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.
Protect your Oracle Cloud Infrastructure Internal Network using a DNS Firewall
G16361-01
September 2024