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 (4)
how can i create a linode account
i tried to register and got rejected
Hello Linh – If you’re having trouble creating an account, we suggest completing the form below and choosing the option that says, “I received a Signup Cancellation email when creating an account”:
https://www.linode.com/support/contact/
This post from the Linode Community Questions site titled “My signup was flagged as “fraudulent behavior” has more information. Keep in mind, you’ll only hear back from us if we decide to overturn our initial decision.
Hi, thank you for the write up, but I think there is an issue with this article. In step 6 when you are configuring the VLAN you label both the configuration of the Database and Router Server as the Router Sever. “From the router server, click on the Configurations tab…” and then later on in the same step you say, “Now, let’s go to the router server and add that VLAN to the configuration.” I assume first is the VLAN configuration for the database (192.0.2.2/24) and the second is for the router (192.0.2.1/24).
Hi Dane – We appreciate you pointing out that redundant statement! In case they were not aware, I have forwarded this feedback to the team responsible for our documentation so they may make the necessary changes.