Um de nossos clientes que lida com dados confidenciais de clientes precisava de uma infraestrutura de nuvem segura para seus aplicativos da Web e bancos de dados. Implementamos um gateway NAT em uma VPC para permitir que as instâncias em sub-redes privadas acessassem a Internet para atualizações e chamadas de API, bloqueando o tráfego de entrada. Essa solução fornece acesso à Internet para instâncias privadas sem expô-las diretamente à Internet pública, aumentando a segurança. Veja o que fizemos:
Este diagrama ilustra uma configuração típica de VPC dividida em três seções principais: VPC, sub-rede pública e sub-rede privada. Primeiro, temos a caixa verde externa, a VPC, que isola os recursos dentro dela de outras redes. Os usuários acessam o servidor da Web por meio da Internet pública usando um endereço IP estático atribuído via NAT 1:1. O servidor da Web processa as solicitações e, se necessário, comunica-se com o servidor de banco de dados. O servidor da Web se comunica com o servidor de banco de dados por meio do servidor roteador. O servidor roteador usa o NAT personalizado para rotear com segurança o tráfego entre as sub-redes pública e privada. O servidor de banco de dados, localizado na sub-rede privada, recebe solicitações do servidor da Web por meio do site VLAN. O isolamento da sub-rede privada garante que o servidor de banco de dados não seja exposto diretamente à Internet, aumentando a segurança. Neste tutorial, examinaremos as etapas para configurar essa arquitetura, garantindo uma comunicação segura e eficiente entre as sub-redes privada e pública. Criaremos uma VPC com uma sub-rede pública e uma privada, configuraremos o gateway NAT e instalaremos o VLAN.
Tutorial
Neste tutorial, criaremos um Gateway NAT em uma VPC, exatamente como no diagrama que acabamos de ver. Se você já tem uma conta Linode, pode passar para a etapa 1. Se não tiver uma conta da Linode, use este link para se registrar e obter US$ 100 em créditos gratuitos para seguir as etapas seguintes. No Linode Dashboard, vamos criar um VPC com duas sub-redes: uma sub-rede pública e uma sub-rede privada. Na sub-rede privada, adicionaremos um banco de dados e, na sub-rede privada, adicionaremos duas instâncias: uma que atuará como servidor da Web e outra que atuará como servidor de roteador (NAT personalizado).
Etapa 1: criar uma VPC
A primeira etapa para criar um gateway NAT em uma VPC é criar a VPC para isolar logicamente nossos recursos. Lembre-se de que essa é a caixa verde do diagrama que vimos. As sub-redes privadas e públicas viverão dentro dessa VPC.
Para fazer isso, no Linode Cloud Manager, clique em VPC no painel esquerdo e, em seguida, clique em Criar VPC.
Etapa 2: Configurar a sub-rede pública
Em seguida, precisamos adicionar uma sub-rede pública na VPC que conterá o servidor do roteador (NAT personalizado) e o servidor da Web. Lembre-se de que esse é o quadrado azul do diagrama que examinamos.
Na parte inferior da tela, onde está escrito Subnets, adicione um rótulo para a sub-rede pública. Essa sub-rede hospedará o servidor do roteador (NAT personalizado) e o servidor da Web.
Em seguida, clique em Create VPC para provisionar a VPC.
Você verá a sub-rede pública criada com o ID de sub-rede e o intervalo de IP correspondentes.
Etapa 3: Implantar o servidor do roteador e o servidor da Web
Em seguida, precisamos implantar duas instâncias do Linode na sub-rede pública. Uma instância do Linode atuará como nosso servidor de roteador (NAT personalizado), que tratará das operações de NAT para gerenciar o tráfego entre as sub-redes pública e privada. O outro servidor atuará como servidor da Web para lidar com o tráfego de entrada da Internet e encaminhar as solicitações necessárias para a sub-rede privada. Primeiro, criaremos o servidor do roteador. No Cloud Manager, clique em Linodes no painel esquerdo e, em seguida, clique em Create Linode (Criar Linode). Escolha a mesma região que você escolheu quando criou a VPC e, em seguida, selecione a opção Dedicated 8 GB CPU (CPU dedicada de 8 GB).
Em seguida, role para baixo e atribua a VPC que você criou na Etapa 1 e, em seguida, escolha a sub-rede pública no menu suspenso.
Clique em Create Linode para concluir o provisionamento dessa instância.
Agora, vamos criar o servidor da Web usando o mesmo processo descrito acima. Clique em Create Linode, selecione a região que você escolheu para a VPC e atribua a VPC a essa instância. Agora você verá o servidor da Web e o servidor do roteador listados na VPC sob a sub-rede pública.
Etapa 4: criar uma sub-rede privada
Em seguida, precisamos criar a sub-rede privada dentro da VPC para hospedar o servidor de banco de dados, que não terá acesso direto à Internet pública. Agora estamos construindo a caixa roxa.
Em sua VPC, clique em Create Subnet (Criar sub-rede) e, em seguida, insira um rótulo e atribua o intervalo de IPs privados. Essa sub-rede mantém seu banco de dados protegido contra ameaças externas.
Etapa 5: Implantar o servidor de banco de dados
Agora, vamos implementar uma instância do Linode na sub-rede privada para servir como nosso servidor de banco de dados. Essa instância só será acessível a partir da sub-rede pública por meio do endereço seguro VLAN. No painel esquerdo do Linode Cloud Manager, clique em Linodes e, em seguida, clique em Create Linode. Digite database-server como o rótulo, escolha vpc-nat-gateway-demo como a VPC e escolha private-subnet como a sub-rede.
Quando esse servidor for implantado, você verá o seguinte:
Em seguida, precisamos editar a configuração e marcar a caixa Atribuir um endereço IP público para este Linode. Fazemos isso porque precisamos fazer download de ferramentas de rede desse servidor.
Etapa 6: Configurar VLAN
Em seguida, precisamos estabelecer um VLAN para permitir a comunicação segura entre as sub-redes pública e privada. O servidor do banco de dados e o servidor do roteador podem se comunicar entre si com o VLAN.
Isso garante que o tráfego entre o servidor Web e o servidor de banco de dados permaneça privado e seguro. No servidor do roteador, clique na guia Configurations (Configurações) e, em seguida, clique em Edit (Editar). Adicione um endereço VLAN e digite um endereço (use o texto do espaço reservado como orientação).
Agora, vamos acessar o servidor do roteador e adicionar o endereço VLAN à configuração.
Etapa 7: Encaminhar o tráfego do servidor de banco de dados para o servidor do roteador
Lembre-se de que atribuímos um IP público para podermos acessar a Internet e fazer download de algumas ferramentas de rede.
Agora, vamos fazer o download ipconfig
usando os seguintes comandos:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Em seguida, precisamos voltar ao servidor de banco de dados e remover a caixa de seleção do IP público para que ele não tenha acesso à Internet.
O servidor de banco de dados agora está isolado de forma segura na sub-rede privada. Agora ele poderá se comunicar com o servidor do roteador. Vamos fazer um ping na VPC do servidor do roteador.
Em seguida, precisamos fazer com que o servidor de banco de dados roteie o tráfego em VLAN. Para fazer isso, execute o seguinte comando no servidor de banco de dados:
route add default gw {VLAN-IP-FOR-ROUTER}
Em seguida, execute a rota.
Você verá o site VLAN listado aqui.
Agora precisamos configurar o servidor do roteador para encaminhar o tráfego da eth1 (VLAN) para a Internet. Nesta etapa, estamos ativando o NATing no servidor e ativando o encaminhamento de IP.
No servidor do roteador, execute estes comandos:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Configuramos com êxito um gateway NAT em uma VPC.
Vantagens dessa arquitetura
Há algumas vantagens importantes no uso dessa arquitetura. Primeiro, você obtém segurança aprimorada. Uma VPC permite o isolamento de recursos em sub-redes distintas (públicas e privadas). Um gateway NAT garante que as instâncias em sub-redes privadas possam acessar a Internet sem expô-las diretamente às ameaças da Internet pública. Ao usar um gateway NAT em uma VPC, somente o tráfego de saída é permitido de instâncias privadas para a Internet, evitando conexões de entrada não solicitadas que poderiam representar riscos à segurança. Colocamos o banco de dados dentro da sub-rede privada, e os itens confidenciais aqui são protegidos da exposição direta à Internet, reduzindo o risco de violações de dados.
Essa arquitetura também aumenta muito a escalabilidade. Os gateways NAT são projetados para gerenciar volumes substanciais de tráfego e podem se ajustar automaticamente às demandas crescentes, eliminando a necessidade de intervenção manual. À medida que a carga de tráfego aumenta, o gateway NAT dimensiona seus recursos para manter o desempenho ideal e garantir a disponibilidade contínua. Essa escalabilidade automatizada é particularmente vantajosa para as plataformas de comércio eletrônico, que frequentemente apresentam padrões de tráfego flutuantes devido a vendas sazonais, promoções e comportamentos variáveis dos clientes. Ao aproveitar os gateways NAT, os desenvolvedores podem garantir que seus aplicativos permaneçam responsivos e confiáveis, mesmo sob alta demanda, proporcionando, em última análise, uma melhor experiência ao usuário e apoiando o crescimento dos negócios.
A criação de um gateway NAT em um VPC usando a Linode oferece uma maneira segura e eficiente de gerenciar o tráfego de rede entre recursos públicos e privados. Ele garante que suas instâncias privadas possam acessar os recursos externos necessários e, ao mesmo tempo, protegê-las da exposição direta à Internet, aumentando a segurança, a escalabilidade e a eficiência da sua infraestrutura de nuvem.
Seguindo as etapas descritas acima e usando o diagrama fornecido como referência, você pode não apenas proteger os dados confidenciais dos seus clientes, mas também otimizar o desempenho da sua rede. Se você é um desenvolvedor que deseja otimizar sua segurança na nuvem e quer criar mais recursos na nuvem, use este link para se candidatar a até US$ 5.000 em créditos Linode.
Comentários