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 (2)
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.