Se uma porta por trás do NAT enviar um pacote para um host malicioso, esse host poderá enviar pacotes para qualquer porta aberta ou apenas para a porta que enviou o pacote?

0

Por exemplo, um computador atrás de um roteador NAT usa o Skype. O Skype usa a porta 4000 para enviar pacotes a um servidor para estabelecer conexões indiretas com outros clientes da Skype.

Desde que o Skype enviou um pacote para o servidor primeiro , o servidor pode obviamente enviar pacotes de volta para o roteador que utiliza o NAT.

A minha pergunta é, considerando que o roteador está usando NAT, esse servidor tem permissão para enviar pacotes para qualquer porta aberta / encaminhada que o NAT tenha, ou apenas para a porta 4000?

Eu sei que os servidores do Skype não são maliciosos, foi apenas um exemplo

    
por Raffat 14.03.2015 / 00:12

2 respostas

0

Para tráfego de entrada iniciado por outras pessoas: Um host mal-intencionado sempre pode enviar dados para qualquer porta do seu roteador ( Digitalização de porta ). Se a porta não for encaminhada, seu roteador pode decidir se está descartando o pacote não solicitado ou responder educadamente se a conexão é inválida. Se a porta foi encaminhada, ela alcançará o host final atrás do roteador.

Para o tráfego de saída iniciado pelo seu host: Não existe uma regra sobre qual porta de origem você deve usar para se comunicar com o Skype Relay Server. Além disso, no seu host final, o Skype pode usar o TCP 4000, mas o NAT pode usar outra porta para enviar a mensagem, digamos, porta A. O servidor Skype só vê a porta A e não a porta 4000. Se o servidor Skype responder a uma porta diferente de A Em seguida, aplica-se a situação descrita em "Para tráfego de entrada". Se o servidor do Skype responder de volta à porta A, o NAT o encaminha de volta ao seu host enviando para a porta 4000.

Para esclarecer: O NAT (Network Address Translator) é o seu roteador. E não confunda a parte "Para tráfego de entrada" como a resposta da rede ao seu host. Na verdade, significa que o servidor externo é o primeiro que fala com seu host para estabelecer uma conexão.

    
por 14.03.2015 / 00:50
0

A resposta simples é "ele só pode enviar pacotes (para o cliente por trás do roteador NAT) para a porta que enviou o pacote". Isto é em grande parte mas não inteiramente correto embora.

A resposta depende da maneira como o IPTables é configurado, da porta em questão e dos módulos usados. Dispositivos simples nat só permitiriam mapeamento de tráfego para a mesma porta que veio, no entanto nem todos os dispositivos são tão simples. No linux e em outros sistemas operacionais, você obtém "firewalls com informações de estado", onde normalmente usa portas "Estabelecidas e relacionadas", junto com vários módulos que examinam os estados de conexão - assim, por exemplo, se uma solicitação FTP de saída for feita (porta 21) também abre a porta 20 para dados se o módulo FTP estiver carregado. Também pode ser possível para o FTP abrir outras portas, e um servidor mal-intencionado pode fazer isso para acessar uma porta arbitrária de alta numeração. Alguns módulos de rastreamento comuns que podem ser aproveitados incluem FTP, SIP, NetBIOS, PPTP, gre, tftp, h323, irc. Existe um erro CVE-2014-8160 que pode permitir o bypass arbitrário do firewall ao usar o rastreamento de conexão sob certas condições - possivelmente da maneira que você pensa.

Seria muito difícil para um servidor malicioso abrir outras portas, mas pode não ser impossível. Naturalmente, você precisaria de algo escutando vulneravelmente nas outras portas - e (no Linux), você poderia atenuar esse risco, garantindo que suas regras de rastreamento de conexão viessem após as regras negarem o acesso geral nessas portas.

    
por 14.03.2015 / 03:33