Montar regra de firewall, via iptables. Preciso de esclarecimentos.

1. Montar regra de firewall, via iptables. Preciso de esclarecimentos.

Ivan Luís Kuhn
ilkyest

(usa Arch Linux)

Enviado em 08/02/2011 - 18:04h

Estou tentando montar uma boa regra de iptables. seguindo o tópico do mestre morimoto, até criei uma, mas noutro fórum me disseram que as regras, algumas, estavam defasadas, ou não funcionavam....

e ao executar, também não deu certo.

Conforme o tópico do morimoto:
http://www.hardware.com.br/artigos/firewall-iptables/

eu escolhi as seguintes linhas, conforme o motivo.

>>>>>Se o seu micro está ligado apenas à internet, sem uma rede local, então são necessárias apenas duas regras para resolver o problema

iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -i ppp0 -p udp --dport 0:30000 -j DROP


>>>>>Isso fará com que o micro passe a ignorar conexões vindas em qualquer porta TCP, sem enviar sequer uma confirmação de que o pacote foi recebido.

A seguir, escolhi algumas que abririam portas, que preciso para p2p.
iptables -A INPUT -p tcp --destination-port 21827 -j ACCEPT
iptables -A INPUT -p udp --destination-port 36048 -j ACCEPT

Nestas aqui, me informaram noutro fórum (CdH) que --dport ou destination port estaria errado, e me disseram o seguinte:
>>>>>Essas regras estão erradas. Se você quer especificar a porta de origem, tem que usar o --sport:

iptables -A INPUT -p tcp --sport 2345 --dport 22 -j ACCEPT

PS.: --destination-port é o mesmo que --dport.

Bom, mas pelo que entendi, no exemplo que me passaram, eu abriria a porta 2345 e direciono para a 22, certo? mas, eu teria de fazer esse direcionamento? omitindo o --dport 22, ou colocando --sport e --dport com os mesmos números, não daria certo?

Ou seja, no meu caso eu deveria usar

iptables -A INPUT -p tcp --sport 21827 -j ACCEPT

ou

iptables -A INPUT -p tcp --sport 21827 --dport22 -j ACCEPT ?


Logo após, no tópico do morimoto, um comando para não responder a pings, que gostei
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

e fechando "meu script" algo para ignorar pacotes quebrados

iptables -A INPUT -m length --length 0 -j DROP

Tudo isto, faria num script. na verdade eu já fiz, mas como podem ver, ele tinha uns probleminhas e não funcionou:
=====================
#! /bin/bash
iptables -A FORWARD -m unclean -j DROP
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -i ppp0 -p udp --dport 0:30000 -j DROP
iptables -A INPUT -p tcp --destination-port 21827 -j ACCEPT
iptables -A INPUT -p udp --destination-port 36048 -j ACCEPT
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A INPUT -p tcp --syn -j DROP
==================

Tem algo a mais para adicionar? ou, está ainda errado (me digam que não!!!!)

Vos pergunto porque os tópicos bons que vi são dos kerneis 2.4, ou são antigos, exemplo do meu script, postado no CdH
>>>>>>>na sua primeira regra você usa o módulo unclean, que além de nunca ter tido uma versão final, foi descontinuado e não é mais usado há tempos no kernel 2.6.

Então, sinto-me perdido feito cebola em salada de frutas. E pior.... o firewall que tem no fedora não está abrindo portas quando eu mando (fedora 14), então iria apelar ao iptables


  


2. Re: Montar regra de firewall, via iptables. Preciso de esclarecimentos.





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts