Problemas na criação de regras no iptable

0

Olá a todos :) Eu preciso de uma pequena ajuda para criar regras. Estou começando a aprender iptables e firewalls, mas tenho algumas perguntas. Eu preciso permitir a comunicação HTTP apenas de PcA para PcB./ Meu código é:

iptables  -A INPUT -s PcA's_IP -d PcB's_IP --sport 80 -j ACCEPT

iptables     -A INPUT -d PcB's_IP --dport 80 -jDROP

Minha pergunta aqui é se devo usar INPUT ou FORWARD.

Então, se eu quiser permitir o tráfego restante, o que devo escrever? Talvez:

iptables -A INPUT -P ACCEPT

Eu estou escrevendo no arquivo INPUT do PcB. Ficaria muito satisfeito se alguém me ajudasse. Eu tenho lido muito, mas existem apenas exemplos complexos que são difíceis de entender.

    
por John Adeas 12.05.2013 / 16:42

2 respostas

0

Você pode querer olhar para uma ferramenta que constrói as regras para você e, em seguida, examinar as regras para entender o que elas fazem. Existem algumas regras padrão que devem ser habilitadas para permitidas. Eu prefiro o Shorewall, que é bem documentado e acho fácil de usar para configurações simples e complexas. Ele também tem uma boa configuração de exemplo para usar como ponto de partida.

    
por 12.05.2013 / 22:24
0

Uma coisa crucial para entender com o iptables é que ele vai passar pelas regras em ordem sequencial, então sua pergunta não pode ser respondida sem saber quais são todas as outras regras existentes em sua configuração do iptables. Isso você pode ver para cadeias individuais com "iptables -vL chain" (f.ex. iptables -vL INPUT), ou para todas as cadeias com "iptables-save".

Há também uma regra implícita nas três cadeias padrão (INPUT, OUTPUT e FORWARD); Essa é a política da cadeia, que define o que acontece com os pacotes que não correspondem aos critérios de qualquer uma das regras existentes nessa cadeia. Pelo seu exemplo, parece que você já percebeu isso.

A partir do uso de INPUT ao invés de FORWARD, use INPUT. FORWARD destina-se apenas ao encaminhar os pacotes para outras máquinas (ou seja, quando a máquina com iptables está atuando como firewall para outras máquinas.

Para resumir isso, e para voltar à sua pergunta original, as regras que você escreveu parecem quase ok (eu acho que deveria haver um "-p tcp" dentro das flags, para indicar que as regras dizem respeito ao protocolo tcp. E claro, Se existem outras regras que não conhecemos, então elas podem bloquear o tráfego HTTP antes que ele atinja essas regras.Então, no iptables, a primeira regra de terminal (isto é, regra com ACCEPT, REJECT ou DROP) que possui critérios correspondentes a um pacote processará esse pacote e nenhuma outra regra depois dele na mesma cadeia não terá efeito no processamento.

    
por 12.05.2013 / 22:43