Impacto das regras de ACL de saída da AWS nas conexões de entrada ssh

1

Estou criando um servidor ssh bastion no CentOS 7 em uma instância do AWS EC2. Quando eu uso as seguintes regras em sua ACL, consigo me conectar ao servidor bem:

Regras de entrada

  • Permitir tráfego na porta 22 do IP do meu cliente
  • Bloquear todo o outro tráfego

Regras de saída

  • Permitir todo o tráfego para o IP do meu cliente
  • Bloquear todo o outro tráfego

As regras do AWS ACL são um paralelo grosseiro com o iptables; eles provavelmente não são nada além de uma interface simplificada da Web para um conjunto de regras de iptable implementadas na infraestrutura de nuvem da Amazon.

Meu entendimento é que o conjunto de regras de saída é aplicado a qualquer pacote que sai do servidor - independentemente de qual extremidade da conexão iniciou a conexão.

Além disso, meu entendimento é que, ao usar uma conexão iniciada pelo cliente, meu servidor ssh enviará apenas tráfego ssh pela porta 22.

Mas quando eu uso o seguinte conjunto de regras, não consigo mais me conectar ao meu servidor via ssh:

Regras de entrada

  • Permitir tráfego na porta 22 do IP do meu cliente
  • Bloquear todo o outro tráfego

Regras de saída

  • Permitir tráfego na porta 22 para o IP do meu cliente
  • Bloquear todo o outro tráfego

Todos os outros recursos da AWS que podem bloquear o tráfego foram definidos para permitir todo o tráfego. iptables foram definidos para permitir todo o tráfego no sistema operacional da instância, também.

Por que meu cliente não pode estabelecer uma conexão SSH quando o tráfego de saída no servidor está restrito à porta 22?

    
por StudentsTea 02.06.2015 / 11:28

1 resposta

4

O ACL no AWS é um firewall sem estado, o que significa que ele trata todas as solicitações (entrada ou saída) como conexões independentes. Portanto, se você estiver tentando permitir que a porta 22 do servidor possa ser acessada do cliente, será necessário ativar as conexões dos dois lados (entrada para a porta 22 do servidor + saída para a porta aleatória [1024-65535] do cliente) .

Considerando que, se você está lidando com "Security Groups", você só precisa permitir a entrada para a porta 22. É só porque "Security Group" é um firewall statefull e controla a conexão de entrada, portanto você não precisa permitir explicitamente a conexão de saída para a porta [1024-65535] aleatória do cliente.

    
por 02.06.2015 / 14:00