Solicitação HTTP / SSH não passando por algumas regras do iptables

1

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:

  1. intrus não pode acessar as redes privadas
  2. qualquer computador de uma das redes privadas conectadas a routeur pode acessar o servidor da Web de intrus
  3. toda solicitação para intrus será camuflada como proveniente de routeur
  4. 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:

  1. iptables -A FORWARD -i eth2 -m state --state NEW,RELATED -j DROP
  2. iptables -A FORWARD -o eth2 -p tcp --dport 80 -m state --state NEW,RELATED -j ACCEPT
  3. iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to 145.12.0.53
  4. 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

    
por deathlab 23.03.2017 / 10:49

0 respostas