Re: iptables

トップ ページ

このメッセージに返信
著者: Olivier Allard-Jacquin
日付:  
To: GUILDE
題目: Re: iptables
    Hello Patrice,

Patrice Karatchentzeff wrote:

> Avant :
>
> #  iptables --list -vn
> Chain INPUT (policy ACCEPT 3046 packets, 306K bytes)
>  pkts bytes target     prot opt in     out     source               destination         

>
> Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
>  pkts bytes target     prot opt in     out     source               destination         

>
> Chain OUTPUT (policy ACCEPT 3043 packets, 215K bytes)
>  pkts bytes target     prot opt in     out     source               destination         


    Normal, tu laisses tout passer.



> Après :
>
> #  iptables --list -vn                
> Chain INPUT (policy DROP 0 packets, 0 bytes)
>  pkts bytes target     prot opt in     out     source               destination         
>     0     0 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0


    le problème est la : Par defaut, la première chose que tu fais est de 
droper tout les paquets. Ce qu'il faut comprendre avec netfilter, c'est 
que les paquets passent à travers les rêgles les unes après les autres. 
Ils passent DANS L'ORDRE DES REGLES !!! Là, la première chose que tu 
fais c'est de supprimer tout les paquets. Les rêgles suivantes ne sont 
jamais utilisées.



>     0     0 LOG_ACCEPT  all  --  lo     *       0.0.0.0/0            0.0.0.0/0          
>     0     0 LOG_ACCEPT  udp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0          udp spt:53 
>     0     0 LOG_ACCEPT  tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0          tcp spt:53 
>     0     0 LOG_ACCEPT  tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0          tcp spt:80 state ESTABLISHED 

>
> Chain FORWARD (policy DROP 0 packets, 0 bytes)
>  pkts bytes target     prot opt in     out     source               destination         
>     0     0 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0          


    Pas de problème ici, si tu ne fais pas de NAT


> Chain OUTPUT (policy DROP 0 packets, 0 bytes)
>  pkts bytes target     prot opt in     out     source               destination         
>     6   360 LOG_DROP   all  --  *      *       0.0.0.0/0            0.0.0.0/0          


    Même remarque que plus haut.


>     0     0 LOG_ACCEPT  all  --  *      lo      0.0.0.0/0            0.0.0.0/0          
>     0     0 LOG_ACCEPT  udp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0          udp dpt:53 
>     0     0 LOG_ACCEPT  tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0          tcp dpt:53 
>     0     0 LOG_ACCEPT  tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0          tcp dpt:80 state NEW,ESTABLISHED 

>
> Chain LOG_ACCEPT (8 references)
>  pkts bytes target     prot opt in     out     source               destination         
>     0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0          LOG flags 0 level 4 prefix `[IPtables ACCEPT]' 
>     0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          

>
> Chain LOG_DROP (3 references)
>  pkts bytes target     prot opt in     out     source               destination         
>     6   360 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0          LOG flags 0 level 4 prefix `[IPtables DROP] ' 
>     6   360 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0          


    Je ne crois pas que tu étais à la conf que j'ai présenté en 2002, mais 
j'ai écris une (longue) doc sur le sujet de Netfiler. Je t'invite à la 
lire. Elle se lit comme un tutoriel très progressif, qui te permettra de 
bien comprendre tout les subtilités de netfilter :


http://olivieraj.free.fr/fr/linux/information/firewall/

    J'ai aussi écrit un script de configuration de Nefilter : Il est du 
type "mirroir sans teint" : Il laisse tout passer en sortie (je 
considère que j'ai confiance dans les softs qui tournent sur ma 
machine), mais empèche les connexions entrantes non solicitées :


http://olivieraj.free.fr/fr/linux/programmes/netfilter_cfg/

    C'est notament plus efficace que tes rêgles de DNS :


iptables -A INPUT -i ppp0 --protocol udp --source-port 53 -j LOG_ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp --destination-port 53 -j
LOG_ACCEPT
iptables -A INPUT -i ppp0 --protocol tcp --source-port 53 -j LOG_ACCEPT
iptables -A OUTPUT -o ppp0 --protocol tcp --destination-port 53 -j
LOG_ACCEPT

    Ca c'est TRES mauvais : N'importe qui peut te faire un port scanning, 
voir pire, en envoyant les paquets depuis son port 53.



> Merci


    De rien.


    Bon dimanche !


                    Olivier



-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!