In, IPTables, qual a diferença entre essas duas regras?

4

Qual a diferença entre estes dois ou são essencialmente a mesma coisa?

iptables -t filter -A FORWARD -s $EXTERNALNET -d $INTERNALNET -p tcp --dport 22 -j ACCEPT
iptables -t filter -A FORWARD -s $INTERNALNET -d $EXTERNALNET -p tcp --sport 22 -j ACCEPT
    
por Aaron 24.10.2012 / 22:29

3 respostas

6

A primeira regra aceita o tráfego sendo encaminhado de $EXTERNALNET para $INTERNALNET com destino porta 22 / tcp.

A segunda regra aceita o tráfego sendo encaminhado de $INTERNALNET para $EXTERNALNET com a porta source 22 / tcp.

Em uma configuração adequada de um firewall com estado como o iptables, não deve haver necessidade de regras para permitir o tráfego com base na porta de origem, uma vez que ambas as direções de fluxos TCP estabelecidos de forma válida são permitidas. Fazer o contrário pode levar a falhas de segurança - nesse caso, permitir todo o tráfego de saída, desde que tenha uma porta de origem de 22 / tcp.

Com uma configuração não-stateful, o exemplo dado é provavelmente o melhor que pode ser realizado.

    
por 24.10.2012 / 22:37
1

-s é a origem e -d é o destino, portanto, essas regras estão relacionadas ao tráfego em qualquer direção.

o $ INTERNALNET & $ EXTERNALNET são variáveis, provavelmente de uma sub-rede ou intervalo de rede. Eu estou supondo que isso é de um script que você tem em algum lugar?

    
por 24.10.2012 / 22:32
0
--dport 22 ACCEPT

Esta diretiva diz ao firewall para permitir que o tráfego destinado à porta 22 passe para o seu servidor.

--sport 22 ACCEPT

Esta diretiva diz ao firewall para permitir que o tráfego enviado da porta 22 de máquinas externas passe para o seu servidor.

    
por 24.10.2012 / 22:33