A regra de negação de SSH está me permitindo fazer SSH?

A regra de negação de SSH está me permitindo fazer SSH?

Estou aprendendo AWS VPC onde estou atribuindo regras de entrada/saída NACL conforme abaixo: No momento estou fazendo para todos os IPs

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny


Outbound
Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

Estou me perguntando como meu SSH está funcionando, pois a regra diz que um número menor será avaliado primeiro e, na regra de saída, neguei o SSH. Alguém pode explicar como a regra realmente funciona na AWS?

Responder1

O tráfego SSH de entrada é permitido porque a regra de entrada nº 100 (200 é praticamente ignorada) e a regra de saída não corresponde à conexão SSH já estabelecida...


Baseado emDocumentação da AWS:

As ACLs de rede não têm estado, o que significa que as respostas ao tráfego de entrada permitido estão sujeitas às regras do tráfego de saída (e vice-versa).

  • Regra de entrada

Com base no que vejo, acho que você entendeu a ordem errada das regras.

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny

Isso simplesmente não faz sentido, pois você está permitindo todo o tráfego com a regra 100, para que a regra 200 não seja utilizada em nenhum momento (o tráfego já será permitido com base na regra 100, portanto, nada "permanecerá" para a regra 200). Acho que mais sentido tem uma ordem diferente (caso você queira negar o serviço ssh:

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny
  • Saída

Aqui está o tráfego SSH com número de regra inferior:

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

Isto negará o tráfego para SSH e para o resto será permitido...

O tipo SSH é o tráfego com porta TCP/22 - geralmente usada como porta de destino. Caso você entre em contato com o servidor SSH, você está se conectando ao TCP/22, mas sua porta de origem é TCP/X, onde X é "aleatoriamente" (na verdade não, mas para simplificar, digamos aleatoriamente) selecionado, digamos> 10000.

Uma vez que o servidor responde à sua conexão, a porta de destino é "seu" TCP/X, portanto a regra não é necessária para corresponder a esse tráfego ...

O tráfego de saída com destino TCP/22 seria a conexão iniciada no servidor com destino em algum outro dispositivo e ainda não estabelecida a conexão SSH.

Responder2

Você está permitindo todo o tráfego em seu host, mas negando a saída de ssh dele.

Até onde sei, os NACLs não fazem inspeção profunda de pacotes. O que significa que os protocolos são simples apelidos para seusportas atribuídas.

A menos que você esteja fazendo algo realmente bizarro, como tentar fazer sshdeporta 22, sua sessão ssh de entrada deve funcionar bem.

informação relacionada