Um dos nossos clientes que lida com dados sensíveis dos clientes precisava de uma infraestrutura de nuvem segura para as suas aplicações Web e bases de dados. Implementámos um Gateway NAT numa VPC para permitir que as instâncias em sub-redes privadas acedessem à Internet para actualizações e chamadas de API, bloqueando simultaneamente o tráfego de entrada. Esta solução fornece acesso à Internet a instâncias privadas sem as expor diretamente à Internet pública, aumentando a segurança. Eis o que fizemos:
Este diagrama ilustra uma configuração típica de VPC dividida em três secçõ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 utilizadores acedem ao servidor Web através da Internet pública utilizando um endereço IP estático atribuído através de NAT 1:1. O servidor Web processa os pedidos e, se necessário, comunica com o servidor de base de dados. O servidor Web comunica com o servidor da base de dados através do Servidor de encaminhamento. O servidor do router utiliza a NAT personalizada para encaminhar de forma segura 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 Web por meio do 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, vamos percorrer os passos para configurar esta 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 privada, configuraremos o gateway NAT e definiremos o VLAN.
Tutorial
Neste tutorial, estaremos criando um Gateway NAT em um VPC, assim como o diagrama que acabamos de passar. Se você já tem uma conta Linode, pode passar para a etapa 1. Se você não tiver uma conta Linode, use este link para se inscrever e obter $ 100 em créditos gratuitos para seguir as etapas a seguir. A partir do Linode Dashboard, vamos criar um VPC com duas sub-redes: uma sub-rede pública e uma sub-rede privada. Na sub-rede privada, vamos adicionar uma base de dados e, na sub-rede privada, vamos adicionar 2 instâncias: uma que actuará como servidor Web e outra que actuará como servidor de router (NAT personalizado).
Passo 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 desta VPC.
Para fazer isso, no Linode Cloud Manager, clique em VPC no painel esquerdo e, em seguida, clique em Criar VPC.
Passo 2: Configurar a sub-rede pública
A seguir, precisamos de adicionar uma sub-rede pública na VPC que irá conter o servidor do router (NAT personalizado) e o servidor Web. Lembre-se de que esse é o quadrado azul do diagrama que examinamos.
Na parte inferior do ecrã, onde diz Subnets, adicione uma etiqueta 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 Criar VPC para provisionar a VPC.
Verá a sub-rede pública criada com o ID de sub-rede e o intervalo de IP correspondentes.
Passo 3: Implementar o servidor do router e o servidor Web
Em seguida, precisamos implantar 2 instâncias do Linode na sub-rede pública. Uma instância do Linode actuará como o nosso servidor de router (NAT personalizado), que tratará das operações NAT para gerir o tráfego entre as sub-redes pública e privada. O outro servidor actuará como servidor Web para lidar com o tráfego de entrada da Internet e encaminhar os pedidos necessários para a sub-rede privada. Primeiro, vamos criar o servidor do roteador. No Cloud Manager, clique em Linodes no painel esquerdo e, em seguida, clique em Criar Linode. Escolha a mesma região que escolheu quando criou a VPC e, em seguida, selecione a opção Dedicated 8 GB CPU.
Em seguida, desloque-se para baixo e atribua a VPC que criou no Passo 1 e, em seguida, escolha a sub-rede pública no menu pendente.
Clique em Criar Linode para concluir o provisionamento desta instância.
Agora, vamos criar o servidor Web, usando o mesmo processo acima. Clique em Criar Linode, selecione a região que escolheu para a sua VPC e, em seguida, atribua a VPC a esta instância. Verá agora o servidor Web e o servidor de router listados na VPC sob a sub-rede pública.
Passo 4: Criar uma sub-rede privada
Em seguida, precisamos de criar a sub-rede privada dentro da VPC para alojar o servidor da base de dados, que não terá acesso direto à Internet pública. Estamos agora a construir a caixa roxa.
A partir da sua VPC, clique em Criar Sub-rede e, em seguida, introduza uma etiqueta e atribua o intervalo de IP privado. Esta sub-rede mantém a sua base de dados protegida de quaisquer ameaças externas.
Etapa 5: Implantar o servidor de banco de dados
Agora, vamos implantar 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 Criar Linode. Insira database-server como o rótulo, escolha vpc-nat-gateway-demo como a VPC e escolha private-subnet como a sub-rede.
Quando este servidor for implementado, deverá ver o seguinte:
Em seguida, precisamos editar a configuração e marcar a caixa Atribuir um endereço IP público para este Linode. A razão pela qual fazemos isso é porque precisamos baixar ferramentas de rede deste servidor.
Passo 6: Configurar VLAN
De seguida, precisamos de estabelecer um VLAN para permitir uma comunicação segura entre as sub-redes pública e privada. O servidor da base de dados e o servidor do router podem falar entre si com o VLAN.
Isto assegura que o tráfego entre o servidor Web e o servidor de base de dados permanece privado e seguro. No servidor do router, clique no separador Configurações e, em seguida, clique em Editar. Adicione um VLAN, e introduza um endereço (utilize o texto do marcador de posição como orientação).
Agora, vamos ao servidor do router e adicionamos o endereço VLAN à configuração.
Passo 7: Encaminhar o tráfego do servidor da base de dados para o servidor do router
Lembre-se de que atribuímos um IP público para podermos aceder à Internet e descarregar algumas ferramentas de rede.
Agora, vamos descarregar ipconfig
utilizando 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, temos de voltar ao servidor da base de dados e remover a caixa de verificação do IP público para que não tenha acesso à Internet.
O servidor de base de dados está agora isolado de forma segura na sub-rede privada. Agora poderá falar com o servidor do router. Vamos fazer ping no VPC do servidor do router.
Em seguida, precisamos que o servidor de banco de dados roteie o tráfego em VLAN. Para o fazer, execute o seguinte comando a partir do servidor de base de dados:
route add default gw {VLAN-IP-FOR-ROUTER}
Em seguida, percorrer a rota.
Verá a lista VLAN aqui.
Agora precisamos de configurar o servidor do router para encaminhar o tráfego da eth1 (VLAN) para a Internet. Neste passo, estamos a ativar a NATing no servidor e a ativar o encaminhamento de IP.
A partir do servidor do router, 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
Configurámos com êxito um Gateway NAT numa VPC.
Vantagens desta arquitetura
Existem algumas vantagens importantes na utilização desta arquitetura. Em primeiro lugar, obtém-se uma maior segurança. 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 podem aceder à Internet sem as expor diretamente a ameaças públicas da Internet. Ao utilizar um gateway NAT numa VPC, apenas o tráfego de saída é permitido a partir de instâncias privadas para a Internet, evitando ligações de entrada não solicitadas que possam representar riscos de segurança. Colocamos a base de dados dentro da sub-rede privada, e os itens sensíveis aqui estão protegidos da exposição direta à Internet, reduzindo o risco de violações de dados.
Esta arquitetura também aumenta consideravelmente 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 os seus recursos para manter um desempenho ótimo e garantir uma disponibilidade contínua. Esta escalabilidade automatizada é particularmente benéfica 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 tirar partido das gateways NAT, os programadores podem garantir que as suas aplicações permanecem receptivas e fiáveis, mesmo sob elevada procura, proporcionando, em última análise, uma melhor experiência ao utilizador e apoiando o crescimento do negócio.
Construir um gateway NAT em um VPC usando Linode fornece 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 é um programador que procura otimizar a sua segurança na nuvem e pretende criar mais recursos na nuvem, utilize esta ligação para se candidatar a até $5.000 em créditos Linode.
Comentários