Para a posteridade, este é um processo de 5 etapas. O host Bastion refere-se ao servidor voltado para o público, que você desejará proteger contra possíveis ataques e através do qual suas conexões viajarão para os servidores da sua sub-rede privada.
Etapa 1: ativar o encaminhamento de IP (host de bastiões)
SSH para o host de bastiões e no prompt, execute o seguinte comando:
echo 1 > /proc/sys/net/ipv4/ip_forward
Etapa 2: Modificar tabelas IP (host bastião)
SSH para o host de bastiões e no prompt, execute os seguintes comandos:
sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport {PUBLIC_SSH_PORT} -j DNAT --to-destination {PRIVATE_IP_ADDRESS}:22
sudo iptables -t nat -A POSTROUTING -p tcp -m tcp --dport {PUBLIC_SSH_PORT} -j MASQUERADE
onde:
- {PUBLIC_SSH_PORT} é a porta no host de bastiões que você planeja conectar por meio de
- {PRIVATE_IP_ADDRESS} é o endereço do servidor na sub-rede privada que você planeja conectar a
Para informações mais detalhadas sobre o significado dessas configurações, você pode executar os seguintes comandos no prompt de comando para visualizar as páginas man:
man iptables
man iptables-extensions
Etapa 3: configurar grupos de segurança (console Amazon AWS)
Faça login no seu console Amazon AWS e navegue até o painel Grupos de segurança. Edite o grupo de segurança atribuído ao seu host bastião e adicione:
- Regra TCP personalizada para permitir ligações de entrada e saída em {PUBLIC_SSH_PORT} a partir de qualquer endereço IP ao qual irá ligar
- Regra TCP personalizada para permitir conexões de entrada e saída para Todo o tráfego de / para o grupo de segurança do servidor privado (digite o ID do grupo de segurança no campo IP personalizado) - você pode restringir isso apenas ao tráfego SSH, mas se você tiver outros serviços e servidores em execução que precisa acessar, essa é a configuração mais simples
Edite o grupo de segurança atribuído ao seu servidor privado e adicione:
- Regra TCP personalizada para permitir conexões de entrada e saída para Todo o tráfego de / para o grupo de segurança do host de bastiões (digite o ID do grupo de segurança no campo IP personalizado) - você pode restringir isso apenas ao tráfego SSH, mas se você tiver outros serviços e servidores em execução que precisa acessar, essa é a configuração mais simples
Etapa 4: desativar a verificação de origem / destino (Amazon AWS Console)
Faça login no seu console Amazon AWS e navegue até o painel de instâncias. Clique no host bastião que você acabou de configurar para encaminhar conexões. Desativar verificações de origem / destino no menu de ação. Este é o único dispositivo para o qual as verificações de origem / destino precisam ser desativadas.
Etapa 5: Torne as configurações persistentes (em todas as reinicializações do servidor)
Modifique o arquivo /etc/sysctl.conf
e atualize a seguinte linha (alteração de 0 a 1):
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Salve a configuração iptables
(para /etc/sysconfig/iptables
) para que ela seja recarregada na inicialização:
sudo service iptables save
E, finalmente, certifique-se de que iptables
seja iniciado durante a inicialização:
sudo chkconfig iptables on
OBSERVAÇÃO : você não precisa configurar e configurar uma instância separada do Amazon NAT para obter acesso SSH a servidores privados. A instância NAT é ideal se você planeja gerenciar o acesso à Internet para vários dispositivos que você pode ter em sua sub-rede privada.