Eu tenho uma tarefa para usar o iptables para criar um conjunto de regras. Usando o marionnet, simulamos a seguinte rede:
Oquequeremosaquiéevitarque"intrus" sejam capazes de interagir com a LAN. A rede na qual o "intrus" está conectado está na interface eth2 e imaginamos que qualquer outra interface seja uma LAN que queremos evitar " intrus "de interagir com. Passei horas tentando descobrir por que o meu conjunto de regras não faz o que queremos e tentando ordens ou métodos diferentes, mas nada deu certo, então suponho que estou entendendo mal alguma coisa. m1 e "intrus" tem um servidor apache em execução e m2 tem ssh em execução
Os 4 comportamentos que queremos implementar com as regras são os seguintes:
intrus
não pode acessar as redes privadas routeur
pode acessar o servidor da Web de intrus
intrus
será camuflada como proveniente de routeur
intrus
pode ser um cliente para o servidor apache da m1 e para o ssh da m2 mas, apesar de achar que routeur
é o host desses serviços, o que significa que routeur
é seu único provedor de serviços. Aqui estão minhas regras na ordem em que as adiciono:
iptables -A FORWARD -i eth2 -m state --state NEW,RELATED -j DROP
iptables -A FORWARD -o eth2 -p tcp --dport 80 -m state --state NEW,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to 145.12.0.53
Este grupo:
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.2
Se bem me lembro, a ordem é como uma pilha, primeiro a ser usada pela última vez, e é por isso que a regra (1) é a primeira.
Com esse conjunto, a LAN pode acessar o servidor apache de intrus
, mas intrus
não pode acessar os serviços da LAN ao chamar routeur
.
Se eu mudar a primeira regra para um simples iptables -A FORWARD -i eth2 -j DROP
então o m1 não pode acessar o servidor web do intrus
, e eu nem entendo como as duas versões são tão diferentes.
Meu palpite é que esses sinais que retornam não são coletados por nenhuma das regras e são destruídos pela primeira regra, mas não entendo por quê.
Então, depois de muitas horas procurando sozinha, eu estou pedindo sua ajuda e qualquer um que possa pelo menos me explicar algo que parece que eu não acertei, tenho meus agradecimentos antecipados