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.
Adicionando segurança à arquitetura do sistema de nomes de domínio usando o firewall pfSense
Introdução
A OraStage é uma empresa líder no setor de energia, especializada em soluções de energia renovável e tecnologias de energia inovadoras, a empresa anunciou uma decisão estratégica de migrar suas cargas de trabalho para a Oracle Cloud Infrastructure (OCI) para melhorar o desempenho, a escalabilidade e a segurança.
Tendo em conta as necessidades e condições específicas que o OraStage delineou, a empresa requer uma solução híbrida de Domain Name System (DNS) na nuvem, e por híbrida aqui significa: usar seu próprio sistema DNS Berkeley Internet Name Domain versão 9 (BIND9) além do serviço DNS do OCI, onde a arquitetura final que eles estão procurando construir é mostrada na imagem a seguir.
OraStage Requisitos de DNS:
-
A empresa tem vários domínios e subdomínios internos, todos eles devem ser resolvidos pelo DNS BIND9 na OCI, em que OraStage gerenciará todas as zonas e registros relacionados. Um desses domínios é
orastage.com
, que usaremos neste tutorial. Portanto, qualquer consulta paraorastage.com
deve ser encaminhada para seu BIND9. -
Eles ainda precisam resolver domínios nativos do OCI (
oraclevcn.com
,oraclecloud.com
etc.) em alguns casos, e isso será feito usando componentes DNS privados do OCI: views privadas, pontos finais e regras de encaminhamento e pontos finais de listening. -
Todas as consultas devem ser inspecionadas por uma instância de firewall pfSense.
-
Para evitar um único ponto de falha, o OraStage planeja usar outro servidor DNS e aproveitar o OCI Load Balancer para distribuir consultas entre o DNS primário e secundário.
Esta série de tutoriais irá guiá-lo passo a passo para alcançar os requisitos descritos acima, construindo toda a solução do zero. Você pode navegar facilmente para cada tutorial na lista abaixo:
-
Tutorial 1: Configurar DNS BIND9 no OCI. Saiba como instalar e configurar o BIND9 em uma instância de computação, tornando-o o servidor DNS local para dois ambientes de teste no OCI. Esses ambientes consistirão em servidores "Frontend" e "Backend", cada um hospedado em uma rede spoke separada. O servidor BIND9 tratará todas as consultas DNS direcionadas para
orastage.com
. -
Tutorial 2: Implementar Alta Disponibilidade no cenário de DNS BIND9 no OCI. Este tutorial se concentra na adição de um servidor BIND9 secundário e na configuração de um Balanceador de Carga de Rede (NLB) para distribuir o tráfego de DNS entre os dois servidores. As consultas de DNS para
orastage.com
serão direcionadas para o IP do NLB, que balanceará a carga entre os servidores BIND9 primários e secundários. Se um servidor ficar indisponível, a resolução de DNS continuará sem interrupção do serviço. -
Tutorial 3: Usar o DNS do OCI para resolver domínios nativos. Concentrando-se apenas em um caso de uso específico, em que utilizamos componentes DNS nativos na OCI, caso haja necessidade de resolver domínios nativos, como
oraclevcn.com
eoraclecloud.com
. BIND9 O DNS não é usado neste tutorial. -
Tutorial 4: Adicionando segurança à arquitetura de DNS usando o Firewall pfSense. Concentrando-se na instalação de um Firewall pfSense na VCN hub no OCI e faça a configuração de rede necessária para rotear todo o tráfego Leste-Oeste, incluindo consultas de DNS (concluídas nos tutoriais anteriores) por meio do firewall a ser inspecionado.
Visão geral
Neste tutorial, exploraremos como melhorar a segurança de nossa arquitetura DNS, aproveitando o pfSense, um firewall de código aberto e uma plataforma de roteador.
O DNS é um componente crítico da infraestrutura de rede, mas geralmente é vulnerável a ataques como falsificação de DNS, envenenamento por cache e Negação de Serviço Distribuída (DDoS). Ao integrar o pfSense com medidas de segurança do DNS, você pode adicionar uma camada robusta de proteção, garantindo que o tráfego de DNS da sua rede seja seguro e resiliente. Portanto, é recomendável configurar seu firewall de forma a filtrar consultas de DNS, bloquear domínios maliciosos e fortalecer a integridade geral do DNS.
Qual é o benefício adicional de colocar um firewall pfSense na frente de um servidor DNS?
-
Filtragem de Tráfego e Controle de Acesso
-
O firewall pode restringir o acesso ao seu servidor DNS, permitindo que apenas endereços IP autorizados ou redes específicas enviem consultas DNS. Isso impede que usuários ou sistemas não autorizados consultem ou explorem o servidor.
-
Ele pode impor políticas de controle de acesso para garantir que apenas o tráfego DNS legítimo chegue ao servidor, bloqueando tráfego potencialmente prejudicial ou indesejado.
-
-
Proteção contra Ataques Baseados em DNS
-
Prevenção de Ataque de Amplificação/Reflexão de DNS: Os firewalls podem detectar e mitigar ataques de amplificação de DNS, nos quais os invasores enviam solicitações falsificadas para sobrecarregar o servidor. Ao limitar ou limitar o tráfego de consultas DNS, o firewall minimiza o impacto desses ataques.
-
Prevenção de Falsificação de DNS: Os firewalls podem bloquear respostas de DNS mal-intencionadas ou mal-intencionadas, que são usadas em ataques de falsificação ou envenenamento de DNS para direcionar incorretamente usuários para sites fraudulentos.
-
DDoS Mitigação: Os firewalls fornecem mecanismos de defesa contra ataques de Negação de Serviço Distribuída (DDoS) monitorando e limitando volumes de tráfego de DNS anormais, impedindo que invasores sobrecarregem sua infraestrutura de DNS.
-
-
Inspeção e registro de consulta DNS
- O firewall pode inspecionar consultas de DNS em busca de padrões suspeitos, como consultas para domínios maliciosos conhecidos. Ele pode bloquear essas consultas antes de chegar ao servidor DNS, ajudando a evitar o acesso a sites perigosos.
- Os logs de consulta DNS podem ser registrados para fins de auditoria, permitindo detectar comportamentos anormais ou investigar possíveis incidentes de segurança de forma mais eficaz.
-
Prevenção de Tunelamento de DNS
- O tunelamento DNS é uma técnica usada por invasores para exfiltrar dados ou se comunicar com sistemas comprometidos por meio de consultas DNS. Um firewall pode detectar e bloquear atividades de tunelamento de DNS, fechando um vetor de vazamento de dados significativo.
-
Limitação de Taxas e Proteção de Recursos
- O firewall pode limitar o número de solicitações de DNS provenientes de uma única origem (limitação de taxa), evitando a sobrecarga do servidor DNS. Isso ajuda a proteger contra ataques de força bruta ou de consulta de DNS excessivos que podem prejudicar o desempenho ou a disponibilidade do servidor.
-
Segmentação de Rede
- Ao colocar o servidor DNS atrás de um firewall, você pode isolá-lo dentro de um segmento de rede protegido (por exemplo, DMZ), garantindo que, mesmo que o servidor DNS seja comprometido, o acesso do invasor ao resto da sua rede seja restrito.
-
Suporte para Protocolos de DNS Seguros
- Os firewalls podem impor protocolos DNS seguros, como DNS sobre HTTPS (DoH) ou DNS sobre TLS (DoT), garantindo que o tráfego DNS seja criptografado. Isso impede a espionagem ou adulteração de consultas e respostas DNS, protegendo os usuários contra ataques man-in-the-middle.
-
Reduzindo a superfície de ataque
- Ao ocultar o endereço IP real do servidor DNS por trás do firewall, você reduz sua exposição a possíveis invasores. O firewall atua como intermediário, apresentando uma camada de defesa entre a internet pública e sua infraestrutura de DNS.
No geral, colocar um firewall na frente do seu servidor DNS melhora a segurança, o desempenho e a resiliência do servidor, impedindo o acesso não autorizado, detectando tráfego malicioso e oferecendo proteção robusta contra uma ampla gama de ameaças relacionadas ao DNS.
Objetivos
-
O principal objetivo deste tutorial é rotear todo o tráfego Leste-Oeste, incluindo consultas de DNS, por meio de um firewall pfSense a ser inspecionado. Além disso, monitoraremos algumas solicitações usando o recurso de captura de pacotes do firewall.
-
Também implantaremos um servidor público de salto do Windows, que servirá como ponto de acesso para gerenciar outras instâncias privadas nas VCNs do OCI, particularmente o firewall pfSense.
-
No final deste tutorial, nosso objetivo é estabelecer um modelo de arquitetura de rede hub & spoke. Essa configuração aumentará a segurança, simplificará o gerenciamento de rede para OraStage centralizando o controle de roteamento entre as redes por meio do hub e aumentará a escalabilidade, permitindo que a empresa adicione novas redes ao hub existente a qualquer momento.
Observação:
Este tutorial não abrange recursos de proteção contra ataques específicos de DNS. Em vez disso, nosso foco é implantar o firewall pfSense e integrá-lo ao ambiente existente para rotear todo o tráfego por ele (por exemplo, FE-VM para BE-VM, FE-VM para DNS-NLB e assim por diante). Também demonstraremos como configurar regras básicas de controle de acesso no firewall.
Você ainda pode seguir este tutorial mesmo que já tenha outro tipo de solução de firewall em vigor, como o OCI Network Firewall ou um firewall de rede de mercado, como Palo Alto ou FortiGate, entre outros.
Arquitetura final
Pré-requisitos
-
Acesso a uma tenancy e permissões do OCI para gerenciar os serviços necessários de rede, computação e armazenamento de objetos.
-
Entendimento básico de roteamento e segurança de rede do OCI e suas funcionalidades: Rede Virtual na Nuvem (VCN), Tabela de Roteamento, Gateway de Roteamento Dinâmico (DRG), Lista de Segurança, Bastion e Balanceador de Carga de Rede do OCI.
-
Compreensão básica do DNS em geral.
-
Certifique-se de concluir os seguintes tutoriais:
-
É necessária uma VCN. Certifique-se de criá-la com o assistente para obter todos os componentes padrão necessários dentro da VCN e anexá-la ao DRG. Para obter mais informações, consulte Tarefa 1.3: Anexar VCNs ao DRG.
- Hub-VCN: A sub-rede pública hospedará o servidor de salto e a sub-rede privada hospedará o firewall pfSense.
-
Com base nos Pré-requisitos acima, você já deve ter criado a arquitetura a seguir.
Tarefa 1: Configurar Componentes de Rede de Roteamento e Segurança
Tarefa 1.1: Criar uma Rede Virtual na Nuvem (Hub-VCN)
Certifique-se de que a VCN do Hub (10.4.0.0/16
) já tenha sido criada, contendo Hub-Private-Subnet (10.4.0.0/24
) e Hub-Public-Subnet (10.4.1.0/24
).
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Rede.
- Clique em Redes virtuais na nuvem.
-
Podemos ver a VCN no local, conforme mencionado, certifique-se de criá-la usando o assistente, para que você obtenha os seguintes componentes por padrão: três gateways, uma sub-rede pública com uma tabela de roteamento e uma lista de segurança anexada a ela, e uma sub-rede privada com uma tabela de roteamento e uma lista de segurança anexada a ela.
Observação:
De agora em diante, dentro de algumas partes da configuração de tabelas de roteamento e listas de segurança, vamos agregar todas as redes: DNS-VCN (
10.0.0.0/16
), Frontend-VCN (10.1.0.0/16
), Backend-VCN(10.2.0.0/16
), LSN-VCN (10.3.0.0/16
), Hub-VCN (10.4.0.0/16
), em apenas um bloco de endereços (10.0.0.0/8
), apenas para facilitar o gerenciamento, pois isso reduzirá o número de regras.Em alguns cenários, dentro de uma topologia de hub e spoke, as redes spoke podem precisar obter acesso à internet a partir da rede hub, para que o tráfego passe pelo firewall para melhor segurança, é por isso que, no nível das sub-redes spoke, vamos rotear todo o tráfego para o DRG. No entanto, neste tutorial, não estamos demonstrando cenários de acesso à internet.
Tarefa 1.2: Configurar Roteamento e Segurança para Hub-VCN
-
Isso deve ser feito em cada uma das duas sub-redes. Navegue até a página VCNs e clique em Hub-VCN.
-
Vamos começar com a sub-rede pública, clique nela.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Adicione a regra a seguir.
0.0.0.0/0
- Gateway de Internet: Para ter acesso bidirecional à Internet. Precisamos dele para acessar o servidor jump com seu endereço IP público.
-
Vamos fazer a segurança da sub-rede pública. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Permitir tráfego de entrada: tráfego RDP (TCP/porta 3389) de qualquer lugar.
-
Permitir todo o tráfego de saída.
-
Navegue de volta para a página da VCN e clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Adicione as regras a seguir.
-
0.0.0.0/0
- Gateway NAT: Para ter acesso unidirecional à Internet, instale pacotes ou patches, se necessário. Não é um componente crítico ter neste tutorial, mas é bom tê-lo se pfSense precisar de acesso à Internet. -
10.0.0.0/8
- DRG: Rotear o tráfego destinado à VCN Frontend, VCN Backend, DNS-VCN ou LSN-VCN para o DRG, pois quando o firewall for feito com a inspeção do tráfego, ele encaminhará o tráfego permitido, que usará essa tabela de roteamento e a enviará para o DRG.
-
-
Vamos fazer a segurança da sub-rede privada. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Permitir tráfego de entrada: Todos os tipos de tráfego da VCN Frontend, VCN de Backend, DNS-VCN e LSN-VCN.
-
Permitir todo o tráfego de saída.
Tarefa 1.3: Configurar Roteamento e Segurança para LSN-VCN
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em LSN-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Excluiremos todas as regras.
-
Vamos substituir todas as regras a seguir por apenas uma regra.
0.0.0.0/0
- DRG: Roteie todo o tráfego para o DRG, que inclui o tráfego que vai para qualquer uma das outras VCNs e o tráfego que vai para a Internet.
-
Vamos fazer a segurança agora. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Excluiremos todas as regras de entrada que permitem tráfego de DNS.
-
Vamos substituir as regras a seguir apenas por essas duas regras.
Observação: Não altere nada nas regras de saída.
Tarefa 1.4: Configurar Roteamento e Segurança para DNS-VCN
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em DNS-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Excluiremos todas as regras a seguir.
-
Substituiremos as regras a seguir por apenas uma regra.
0.0.0.0/0
- DRG: Roteie todo o tráfego para o DRG, que inclui o tráfego que vai para qualquer uma das outras VCNs e o tráfego que vai para a Internet.
-
Vamos fazer a segurança agora. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Excluiremos todas as regras de entrada que permitem tráfego de DNS.
-
Vamos substituir as regras a seguir apenas por essas duas regras.
Observação: Não altere nada nas regras de saída.
Tarefa 1.5: Configurar o Roteamento e a Segurança para a VCN Frontend
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em Frontend-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Excluiremos todas as regras a seguir.
-
Vamos substituir as regras a seguir por essas duas regras.
-
0.0.0.0/0
- DRG: Roteie todo o tráfego para o DRG, que inclui o tráfego que vai para qualquer uma das outras VCNs e o tráfego que vai para a Internet. -
Todos os Serviços LIN no Oracle Services Network - Gateway de Serviço: Para fornecer acesso aos serviços Oracle na região de Milão, isso é necessário para manter a conectividade com o serviço OCI Bastion, se você não fizer isso tenha uma regra aqui para acessar a Internet ou os serviços Oracle. Em seguida, você enfrentará um erro com o plug-in bastion no qual não poderá usar o bastion para acessar o FE-VM.
Observação: Não altere nada nas regras de entrada e saída.
-
Tarefa 1.6: Configurar o Roteamento e a Segurança da VCN de Backend
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em Backend-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Excluiremos todas as regras a seguir.
-
Vamos substituir as regras a seguir por essas duas regras.
-
0.0.0.0/0
- DRG: Roteie todo o tráfego para o DRG, que inclui o tráfego que vai para qualquer uma das outras VCNs e o tráfego que vai para a Internet. -
Todos os Serviços LIN no Oracle Services Network - Gateway de Serviço: Para fornecer acesso aos serviços Oracle na região de Milão, isso é necessário para manter a conectividade com o serviço OCI Bastion, se você não fizer isso tenha uma regra aqui para acessar a Internet ou os serviços Oracle; em seguida, você enfrentará um erro com o plug-in bastion no qual não poderá usar o bastion para acessar o BE-VM.
-
Observação: Não altere nada nas regras de entrada e saída.
Tarefa 1.7: Configurar Roteamento de VCNs Spoke no DRG
O objetivo desta tarefa é garantir que todo o tráfego enviado de qualquer uma das redes (DNS/LSN/Frontend/Backend) e recebido no DRG, seja roteado para o hub, onde será inspecionado pelo firewall.
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Rede.
- Clique em Gateway de roteamento dinâmico.
-
Clique em DRG.
- Clique em Anexos de VCN. Um anexo de VCN representa um link que conecta a VCN ao DRG para permitir o tráfego de rede entre a VCN e redes externas ou outras VCNs.
- Você observará que todas as VCNs estão anexadas.
- Clique em Tabelas de roteamento do DRG.
- Clique em Criar tabela de roteamento do DRG.
- Informe um nome para a tabela de roteamento.
- Adicionar uma regra de roteamento: Selecione
0.0.0.0/0
e Anexo da VCN do Hub que roteia tudo para o anexo do hub. - Clique em Criar tabela de roteamento do DRG.
- A tabela de roteamento foi criada com sucesso.
-
Designe a tabela de roteamento a todos os anexos da VCN spoke, começando com o Anexo da VCN de Backend e clique nela.
- Clique em Editar.
- Clique em Mostrar opções avançadas.
- Clique em tabela de roteamento DRG.
- Selecione Spoke-DRG-RT.
- Clique em Salvar alterações.
- A tabela de roteamento do DRG foi designada ao Anexo da VCN de Backend com sucesso. Agora todo o tráfego proveniente da VCN de Backend para o DRG será roteado para a Hub-VCN.
-
Repita a etapa 1 a 6 no restante dos anexos.
Tarefa 2: Provisionar um Windows Jump Server
-
Nesta tarefa, provisionaremos uma nova instância de computação do Windows e a utilizaremos para estabelecer conexão com outros recursos privados. As utilizações previstas incluem:
-
(Obrigatório) Para acessar e gerenciar o firewall pfSense por meio do navegador (HTTP/S).
-
(Opcional) Para acessar a instância FE-VM e executar o teste. Você pode usar o serviço OCI Bastion ou pode usar esse servidor como seu novo jump box.
-
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Calcular.
- Clique em Instâncias.
-
Clique em Criar instância.
-
Informe um Nome para a instância.
- Clique em Alterar imagem.
- Selecione Windows.
- Selecione a imagem do Windows Server 2016 Standard.
- Selecione para concordar com os termos de uso.
- Clique em Selecionar imagem.
- O Sistema Operacional (SO) da instância é alterado para Windows Server 2016 Standard com sucesso.
-
Na seção Informações da VNIC Principal, especifique as informações a seguir.
- Selecione Hub-VCN.
- Selecione a sub-rede pública para que a instância receba um endereço IP público.
- Designe à instância um endereço IP privado
10.4.1.5
.
- Você observará uma observação ao criar a máquina Windows, informando que Uma senha inicial será gerada após a criação da instância. A diferença é que com o Linux OS, as chaves SSH são usadas para autenticação.
- Clique em Criar.
-
A instância de computação Jump-Server foi criada com sucesso. Anote os detalhes a seguir. Você os usará ao acessar a instância.
- Endereço IP público.
- Nome do usuário.
- Senha inicial.
-
Para acessar o Servidor de Salto em seu computador pessoal Windows, abra Conexão de Área de Trabalho Remota, digite o IP público da instância e clique em Conectar.
-
Clique em Sim.
-
Informe a senha inicial fornecida na página da instância e clique em Próximo.
-
A senha deve ser alterada antes de efetuar log-in e clique em OK.
-
Informe sua nova senha duas vezes.
-
A senha foi alterada com sucesso. Clique em OK para continuar.
-
Informe sua nova senha e clique em Próximo.
-
Você está conectado ao Servidor de Salto com sucesso.
-
A arquitetura deve ter a aparência mostrada na imagem a seguir.
Tarefa 3: Instalar e Configurar o Firewall pfSense
Observação: Se você já tiver outro tipo de solução de firewall, poderá ignorar a Tarefa 3.1 a 3.7 e prosseguir da 3.8.
Tarefa 3.1: Fazer Download da Imagem pfSense
-
Faça o download da imagem pfSense no site da Netgate. Certifique-se de fazer download da versão
memstick-serial
. O nome do arquivo da imagem que estamos usando épfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img.gz
. Para obter mais informações, consulte Netgate. -
O arquivo instalado estará no formato
.gz
. Depois de extraí-lo, você observará que o nome do arquivo da imagem épfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img
.
Tarefa 3.2: Criar um Bucket do OCI Object Storage
Nesta tarefa, criaremos um bucket do OCI Object Storage que será usado para fazer upload da imagem pfSense e usar essa imagem de objeto para criar uma imagem personalizada no OCI.
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Armazenamento.
- Clique em Buckets.
- Clique em Criar Bucket.
- Informe o Nome do Bucket.
- Selecione a camada de armazenamento Padrão como Camada de Armazenamento Padrão.
- Clique em Criar.
-
Observe que o bucket de armazenamento é criado.
Tarefa 3.3: Fazer Upload da Imagem pfSense para o Bucket de Armazenamento
-
Vá para a página Detalhes do Bucket.
- Na página do bloco, role para baixo.
- Clique em Fazer Upload.
-
Na página Fazer Upload de Objetos, especifique as informações a seguir.
- Clique em selecionar arquivos e selecione a imagem pfSense.
- Clique em Fazer Upload.
-
Enquanto a imagem pfSense estiver fazendo upload para o bucket de armazenamento, você poderá monitorar o andamento.
- Quando o upload da imagem pfSense for concluído, o status do andamento será Finalizado.
- Clique em Fechar.
Tarefa 3.4: Criar uma Imagem Personalizada
Fizemos upload da imagem pfSense. Agora, precisamos criar uma imagem personalizada da OCI com base nela. Essa imagem personalizada será usada para criar a instância do firewall pfSense.
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Calcular.
- Clique em Imagens Personalizadas.
-
Clique em Importar imagem.
-
Na página Importar imagem, especifique as informações a seguir.
- Digite um Nome.
- Selecione Linux Genérico como Sistema operacional.
- Selecione Importar de um bucket do serviço Object Storage.
- Selecione o bucket de armazenamento no qual você fez upload da imagem.
- Em Nome do objeto, selecione o objeto cujo upload foi feito para o bucket (imagem pfSense).
- Selecione VMDK como Tipo de imagem.
- Selecione Modo paravirtualizado.
- Clique em Importar imagem.
-
A imagem personalizada é IMPORTING.
-
Após alguns minutos, o status é DISPONÍVEL
Tarefa 3.5: Criar uma Instância com a Imagem pfSense Personalizada
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Calcular.
- Clique em Instâncias.
-
Clique em Criar instância.
-
Informe um Nome para a instância de firewall.
- Clique em Alterar imagem.
- Selecione Minhas imagens.
- Clique em Imagens personalizadas.
- Selecione a imagem personalizada criada na Tarefa 3.4.
- Clique em Selecionar imagem.
- Observe que a imagem pfSense está selecionada.
-
Na seção Informações da VNIC Principal, especifique as informações a seguir.
- Selecione Hub-VCN.
- Selecione a sub-rede privada.
- Designe à instância um endereço IP privado
10.4.0.5
.
- Selecione No SSH Keys.
- Clique em Criar.
-
A instância de computação do firewall pfSense foi criada com sucesso.
Tarefa 3.6: Instalar pfSense na Instância
Precisamos fazer a instalação inicial e a configuração do firewall pfSense. Já temos a instância em execução.
-
Para instalar o software de firewall pfSense, precisamos criar uma conexão de console. Na página da instância do firewall, role para baixo.
- Clique em Conexão da console.
- Clique em Iniciar conexão do Cloud Shell.
-
Algumas mensagens de inicialização serão exibidas. Pressione ENTER.
-
Leia as mensagens de copyright e selecione Aceitar e pressione ENTER.
- Selecione Instalar pfSense.
- Selecione OK e pressione ENTER.
- Selecione Configuração Manual de Disco (especialistas).
- Selecione OK e pressione ENTER.
- Selecione da0 - 47 GB MBR.
- Selecione Create e pressione ENTER.
- Em Tipo, digite freebsd.
- Em Tamanho, digite 46 GB.
- Informe o Ponto de Montagem.
- Selecione OK e pressione ENTER.
- Em da0s4, selecione 46 GB BSD.
- Selecione Create e pressione ENTER.
- Em Tipo, digite freebsd-ufs.
- Em Tamanho, digite 40 GB.
- Em Ponto de Montagem, digite /.
- Selecione OK e pressione ENTER.
- Observe que o ponto de montagem é criado para
/
. - Em da0s4, digite 46 GB BSD.
- Selecione Create e pressione ENTER.
- Em Tipo, digite freebsd-swap.
- Em Tamanho, digite 5670 MB.
- Informe o Ponto de Montagem.
- Selecione OK e pressione ENTER.
- Observe que o ponto de montagem é criado para permuta.
- Selecione Finalizar e pressione ENTER.
-
Selecione Confirmar e pressione ENTER.
-
Selecione Reinicializar e pressione ENTER.
-
Após a primeira reinicialização, você obterá algumas opções de configuração para configurar a interface WAN. Para VLANS deve ser configurado, digite n e pressione ENTER.
-
Para Informe o nome da interface WAN ou 'a' para detecção automática (vtnet0 ou a), digite
vtnet0
. -
Nesta configuração, estamos criando um firewall com apenas uma interface, portanto, não configuraremos a interface LAN; portanto, para Inserir o nome da interface LAN ou 'a' para detecção automática, pressione ENTER para ignorar essa configuração da interface.
- Verifique o nome da interface WAN.
- Para Deseja continuar, digite y e pressione ENTER.
-
Observe algumas mensagens e a configuração será feita. O SO pfSense fará uma inicialização completa.
- Você verá que o endereço IP será configurado usando o DHCP.
- Observe que o menu pfSense faz alguma configuração básica adicional.
-
A arquitetura deve ter a aparência mostrada na imagem a seguir.
Tarefa 3.7: Conecte-se à GUI (Web Graphic User Interface) pfSense e Conclua a Configuração Inicial
A instalação foi concluída, agora precisamos estabelecer conexão com a GUI web do firewall pfSense. Mas antes disso, certifique-se de permitir o tráfego HTTP/HTTPS proveniente de Hub-Public-Subnet, pois estabeleceremos conexão com a GUI do firewall do Jump-Server colocado lá. Já permitimos que todo o tráfego de todas as VCNs (10.0.0.0/8
) passasse pelo firewall na Tarefa 1.2.
-
Informe o endereço IP do firewall pfSense.
- Na instância do Windows, abra um browser e navegue até o IP do firewall pfSense usando HTTPS.
- Clique em Avançado.
-
Clique em Continuar.
- Informe o nome de usuário padrão como
admin
. - Informe a senha padrão como
pfsense
. - Clique em Acessar.
- Informe o nome de usuário padrão como
-
Clique em Próximo.
-
Clique em Próximo.
- Digite um Nome de Host.
- Informe um nome de Domínio ou mantenha o nome de domínio padrão.
- Role para baixo e clique em Próximo.
-
Clique em Próximo.
Observação: A maneira como funciona neste caso específico é que a Oracle reservará o IP estático em seu servidor DHCP e atribuirá esse endereço ao firewall pfSense. Portanto, o firewall pfSense sempre obterá o mesmo endereço IP, mas, da perspectiva da OCI, esse será um IP estático e, da perspectiva pfSense, esse será um endereço DHCP.
- Na seção Configurar interface WAN, selecione DHCP.
- Role para baixo e mantenha todo o resto como padrão e clique em Próximo.
- Insira uma nova Senha Admin.
- Digite a Senha Admin NOVAMENTE.
- Clique em Próximo.
-
Clique em Atualizar.
-
Observe que a configuração do firewall pfSense está sendo recarregada.
-
Role para baixo e clique em Finish.
-
Clique em Aceitar.
-
Clique em Fechar.
Se o firewall pfSense não conseguir acessar a Internet, a página do painel levará um pouco mais de tempo para ser carregada. Mas isso pode ser corrigido permitindo que pfSense acesse a Internet usando o gateway NAT do OCI, que já fizemos na Tarefa 1.2. Nesta imagem, observe que o pfSense está instalado e o painel de controle está visível.
Tarefa 3.8: Rotear Tráfego para o Firewall pfSense
Na Tarefa 1, configuramos o roteamento em nossas VCNs e DRG, de forma a forçar todo o tráfego enviado para fora dos raios, a entrar na rede hub (seta verde). Esta tarefa responde como rotear todo esse tráfego para o firewall pfSense (seta vermelha).
Faremos isso criando uma tabela de roteamento de entrada (Tabela de roteamento de trânsito). Esta é basicamente uma tabela de roteamento que você cria no nível da VCN, mas a designa no DRG, para que o tráfego que entra no hub seja roteado para um destino específico de sua escolha (firewall pfSense em nosso cenário).
-
Navegue até a instância de firewall pfSense.
- Clique em Calcular.
- Clique em Instâncias.
-
Clique em Firewall.
-
Rolar para Baixo.
- Clique em VNICs Anexadas.
- Clique nos três pontos.
- Clique em Editar VNIC.
- Selecione Ignorar verificação de origem/destino. Se você perdeu esta etapa, enfrentará um problema ao criar a regra de roteamento.
- Clique em Salvar alterações.
-
Navegue até a página VCNs e digite Hub-VCN.
-
Rolar para Baixo.
- Clique em Tabelas de Roteamento.
- Clique em Criar Tabela de Roteamento.
- Informe um Nome para a tabela de roteamento.
- Clique em Another Route Rule.
- Selecione IP Privado como Tipo de Destino.
- Informe
0.0.0.0/0
como Bloco CIDR de Destino. - Informe o IP Privado do pfSense.
- Clique em Criar.
- A tabela de roteamento foi criada com sucesso. Agora temos que designá-la.
-
Navegue até a página DRG e clique em Anexo de VCN do Hub.
-
Clique em Editar.
-
Clique em Mostrar opções avançadas.
- Clique em tabela de roteamento de VCN.
- Em Associar tabela de roteamento, selecione Selecionar existente.
- Selecione a tabela de roteamento que criamos.
- Clique em Salvar alterações.
-
A tabela de roteamento da VCN foi designada com sucesso.
Observação: No anexo do DRG, você pode designar dois tipos de tabelas de roteamento:
- Tabela de Roteamento do DRG: A que criamos para os anexos spoke na Tarefa 1.7. Essa tabela será verificada toda vez que o tráfego for enviado para fora do anexo da VCN.
- Tabela de Roteamento da VCN: A que criamos nesta Tarefa 3.8. Essa tabela será verificada quando o tráfego for recebido e entrar no anexo da VCN.
-
Neste estágio, concluímos todas as configurações relacionadas à OCI, garantindo que o tráfego entre dois recursos nessa arquitetura seja roteado por meio de pfSense para inspeção primeiro. Agora, e se fizermos um teste rápido fazendo ping no BE-VM do FE-VM, ele deverá funcionar?
Como você observou, pfSense bloqueará todo o tráfego que vem até que você explicitamente o permita, o que faremos na próxima tarefa.
Tarefa 3.9: Permitir que o Tráfego passe por pfSense
Neste tutorial, vamos aproveitar dois recursos do pfSense.
-
Regras de Acesso: Permita ou negue o tráfego com base no Protocolo, Número da Porta, Endereço de Origem e Endereço de Destino.
-
Captura de Pacote: aplique um filtro com base em Endereços IP, Tipo de Pacote, Número da Porta etc. para analisar o tráfego de entrada e saída no nível do pacote que o firewall inspecionará.
Lembre-se de que você pode fazer muito mais com o pfSense, mas nosso foco aqui é mais instalar o pfSense na OCI e integrá-lo à nossa arquitetura de rede existente com a implementação do roteamento e da segurança adequados na OCI.
-
Nesta tarefa, vamos permitir o tráfego que será necessário em alguns dos nossos cenários. Como a concentração dessa série de tutoriais está no DNS, as regras que adicionaremos se relacionarão especificamente ao tráfego de DNS (baseado em Nativo e BIND9). Agora, navegue até a interface de gerenciamento da Web pfSense.
- Clique em Firewall.
- Clique em Regras.
-
Observe as regras padrão do firewall pfSense.
Primeira Regra (Opcional):
-
detalhes da Conexão.
- Fonte: Jump-Server (
10.4.1.5
). - Destino: FE-VM (
10.1.0.5
). - Protocolo: SSH.
- Número da Porta:
22
. - Ação: Aprovar.
- Justificação: Queremos acessar o FE-VM no Servidor de Salto. Esta é uma regra opcional, pois você ainda pode usar o bastion para estabelecer conexão.
- Fonte: Jump-Server (
-
Clique em Adicionar.
- Selecione Ação para Aprovar.
- Selecione Protocolo para TCP.
- Informe o Endereço de Origem para
10.4.1.5
. - Informe o Endereço de Destino para
10.1.0.5
. - Informe Porta de Destino para
22
. - Clique em Salvar.
- Clique em Aplicar Alterações.
- Uma mensagem será exibida indicando que as alterações foram aplicadas com sucesso.
- Regra adicionada.
Segunda Regra:
-
detalhes da Conexão.
- Fonte: FE-VM (
10.1.0.5
). - Destino: BE-VM (
10.2.0.5
). - Protocolo: ICMP.
- Ação: Aprovar.
- Justificação: Para fins de teste, precisamos ativar o ping FE-VM BE-VM.
- Fonte: FE-VM (
-
Clique em Adicionar.
- Selecione Ação para Aprovar.
- Selecione Protocolo para ICMP e Subtipo para qualquer.
- Informe o Endereço de Origem para
10.1.0.5
. - Informe o Endereço de Destino para
10.2.0.5
. - Clique em Salvar.
- Clique em Aplicar Alterações.
- Uma mensagem será exibida indicando que as alterações foram aplicadas com sucesso.
- Regra adicionada.
Terceira Regra:
-
detalhes da Conexão.
- Origem: Avanço da VCN Frontend (
10.1.0.6
). - Destino: LSN (
10.3.0.6
). - Protocolos: TCP e UDP.
- Número da Porta:
53
. - Ação: Aprovar.
- Justificação: Queremos que o FE-VM possa resolver o BE-VM (
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
). Para isso, o FWD da VCN Frontend deve ser capaz de consultar o listener. Portanto, o tráfego de DNS deve ser permitido.
- Origem: Avanço da VCN Frontend (
-
Clique em Adicionar.
- Selecione Ação para Aprovar.
- Selecione Protocolo para TCP/UDP.
- Informe o Endereço de Origem para
10.1.0.6
. - Informe o Endereço de Destino para
10.3.0.6
. - Informe Porta de Destino para
53
. - Clique em Salvar.
- Clique em Aplicar Alterações.
- Uma mensagem será exibida indicando que as alterações foram aplicadas com sucesso.
- Regra adicionada.
Quarta Regra:
-
detalhes da Conexão.
- Origem: Avanço da VCN Frontend (
10.1.0.6
). - Destino: DNS-NLB (
10.0.0.110
). - Protocolos: TCP e UDP.
- Número da Porta:
53
. - Ação: Aprovar.
- Justificação: Queremos que o FE-VM possa resolver o BE-VM (
be.orastage.com
). Para isso, o FWD da VCN Frontend deve poder consultar o DNS-NLB que enviará o tráfego para um dos servidores DNS BIND9 de backend. Portanto, o tráfego de DNS deve ser permitido.
- Origem: Avanço da VCN Frontend (
-
Clique em Adicionar.
- Selecione Ação para Aprovar.
- Selecione Protocolo para TCP/UDP.
- Informe o Endereço de Origem para
10.1.0.6
. - Informe o Endereço de Destino para
10.0.0.110
. - Informe Porta de Destino para
53
. - Clique em Salvar.
- Clique em Aplicar Alterações.
- Uma mensagem será exibida indicando que as alterações foram aplicadas com sucesso.
- Regra adicionada.
Quinta Regra:
-
detalhes da Conexão.
- Origem: Avanço da VCN de Backend (
10.2.0.6
). - Destino: LSN (
10.3.0.6
). - Protocolos: TCP e UDP.
- Número da Porta:
53
. - Ação: Aprovar.
- Justificação: Queremos que o BE-VM possa resolver o FE-VM (
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
). Para isso, o FWD da VCN de Backend deve ser capaz de consultar o listener. Portanto, o tráfego de DNS deve ser permitido.
Observação: Repita as etapas feitas na Terceira Regra, mas desta vez a origem é diferente, o que é Avanço da VCN de Backend (
10.2.0.6
). - Origem: Avanço da VCN de Backend (
Sexta Regra:
-
detalhes da Conexão.
- Origem: Avanço da VCN de Backend (
10.2.0.6
). - Destino: DNS-NLB (
10.0.0.110
). - Protocolos: TCP e UDP.
- Número da Porta:
53
. - Ação: Aprovar.
- Justificação: Queremos que o BE-VM possa resolver o FE-VM (
fe.orastage.com
). Para isso, o FWD da VCN de Backend deve poder consultar o DNS-NLB que enviará o tráfego para um dos servidores DNS BIND9 de backend. Portanto, o tráfego de DNS deve ser permitido.
Observação: Repita as etapas feitas na Quarta Regra, mas desta vez a origem é diferente, o que é Avanço da VCN de Backend (
10.2.0.6
). - Origem: Avanço da VCN de Backend (
Tarefa 4: Testar e Validar
-
Testaremos apenas na instância FE-VM.
Observação: (Opcional) Usaremos o Servidor de Salto do Windows para estabelecer conexão com o FE-VM. Você ainda poderá estabelecer conexão por meio do bastion se preferir.
- Copie a chave privada que usamos no OCI Cloud Shell dos tutoriais anteriores para a instância do Windows.
- Instale OpenSSH no servidor. Para obter mais informações, consulte Técnico: Instalar OpenSSH SFTP no Windows Server 2016.
- Execute o comando SSH.
- Efetuamos log-in na instância FE-VM com sucesso.
Cenário de Teste 1
-
Teste os domínios nativos
*.oraclevcn.com
. A máquina cliente FE-VM deve ser capaz de resolverbe-vm.beprivatesubnet.backendvcn.oraclevcn.com
. Já permitimos esse tráfego em pfSense. Neste teste, usaremos o recurso Captura de Pacote em pfSense para garantir que o tráfego passe por ele. -
Tráfego a Termo:
-
Tráfego de Resposta:
-
Acesse pfSense na máquina Windows.
- Clique em Diagnóstico.
- Clique em Captura de Pacote.
- Preencha o IP de Origem (FWD - 10.1.0.6) e o IP de Destino (LSN - 10.3.0.6).
- Informe
53
como Número da Porta. - Clique em Iniciar.
- Você pode monitorar o tráfego de DNS indo de FWD para LSN.
-
Em FE-VM, faça ping no domínio nativo
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
do BE-VM. -
No Packet Capture, você notará que sempre que o ping dele fizer uma consulta.
-
Altere o filtro para monitorar o tráfego de ping.
-
Tráfego a Termo:
-
Tráfego de Resposta:
- Preencha o IP de Origem (FE-VM - 10.1.0.5) e o IP de Destino (BE-VM - 10.2.0.5).
- Informe o Protocolo como ICMPv4.
- Clique em Iniciar.
- Você pode monitorar o tráfego de ping indo de FE-VM para BE-VM.
-
Em FE-VM, faça outro ping para BE-VM
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
. -
No Packet Capture, você notará o tráfego de ping.
-
Role para cima e clique em Interromper para interromper a captura de pacote quando terminar o teste.
-
Clique em Limpar Capturas para iniciar outra captura.
Observação: Você pode seguir as mesmas etapas no teste, mas na direção oposta, de BE-VM a FE-VM
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
. Como o tráfego já é permitido para este cenário.
Cenário de Teste 2
-
Teste o domínio gerenciado BIND9 da empresa
*.orastage.com
. A máquina cliente FE-VM deve ser capaz de resolverbe.orastage.com
. Já permitimos esse tráfego em pfSense. Neste teste, usaremos o recurso Captura de Pacotes em pfSense para garantir que o tráfego esteja passando por ele. -
Tráfego a Termo:
-
Tráfego de Resposta:
-
Acesse pfSense no servidor jump.
- Clique em Diagnóstico.
- Clique em Captura de Pacote.
- Preencha o IP de Origem (FWD - 10.1.0.6) e o IP de Destino (DNS-NLB - 10.0.0.110).
- Informe
53
como Número da Porta. - Clique em Iniciar.
- Você pode monitorar o tráfego de DNS indo de FWD para DNS-NLB.
-
Em FE-VM, faça ping no domínio
be.orastage.com
do BE-VM. -
No Packet Capture, você notará que sempre que o ping dele fizer uma consulta.
-
Altere o filtro para monitorar o tráfego de ping.
-
Tráfego a Termo:
-
Tráfego de Resposta:
- Preencha o IP de Origem (FE-VM - 10.1.0.5) e o IP de Destino (BE-VM - 10.2.0.5).
- Informe o Protocolo como ICMPv4.
- Clique em Iniciar.
- Você pode monitorar o tráfego de ping indo de FE-VM para BE-VM.
-
Em FE-VM, faça outro ping para BE-VM
be.orastage.com
. -
No Packet Capture, você notará o tráfego de ping.
-
Role para cima e clique em Interromper para interromper a captura de pacote quando terminar o teste.
-
Clique em Limpar Capturas, pois concluímos o teste.
Observação: Você pode seguir as mesmas etapas no teste, mas na direção oposta, de BE-VM a FE-VM
fe.orastage.com
. Como o tráfego já é permitido para este cenário.
Conclusão
Parabéns! Finalmente chegamos ao fim de nossa jornada de DNS.
Neste tutorial, focamos em melhorar a arquitetura DNS da OraStage com pfSense, que fornece uma camada crucial de defesa contra uma variedade de ataques e vulnerabilidades baseados em DNS. Ao filtrar o tráfego, aplicar protocolos DNS seguros e bloquear domínios maliciosos, o OraStage pode garantir que seus servidores DNS operem de forma segura e eficiente.
Ao longo da série, você aprendeu algumas habilidades importantes na OCI. Cada tutorial foi desenvolvido no último, dando a você uma base sólida na OCI e confiando em uma abordagem de aprendizado progressivo. Essas habilidades ajudarão você a gerenciar e otimizar sua infraestrutura de nuvem de forma eficaz:
- Configure o roteamento e a segurança da Rede Virtual na Nuvem (VCN).
- Configure um Gateway de Roteamento Dinâmico (DRG).
- Configure e use o OCI Bastion para acessar instâncias privadas.
- Configure e use um servidor de salto do Windows para acessar instâncias privadas.
- Instalar e configurar a solução de DNS BIND9 no OCI.
- Configure e use o Balanceador de Carga de Rede do OCI para alta disponibilidade.
- Configure e use componentes de DNS Privado do OCI para resolver domínios nativos.
- Instale e configure o firewall pfSense no OCI, integrando-o a uma arquitetura hub e spoke.
Confirmações
- Autor - Anas abdallah (Especialista em Rede em Nuvem)
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.
Adding Security to the Domain Name System Architecture using pfSense Firewall
G19401-02
Copyright ©2025, Oracle and/or its affiliates.