[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Help pour débuter avec iptables



Le 11/09/2010 10:54, Pascal Hambourg a écrit :
> giggz a écrit :
>> Le 11/09/2010 00:21, Serge Cavailles a écrit :
>>>
>>> La politique par _defaut_ s'applique en fin de chaîne aux paquets restants 
>>> (comprendre qui n'auront pas été acceptés par une règle).
> 
> Pas seulement acceptés. La politique par défaut est appliquée aux
> paquets qui atteignent la fin de la chaîne sans avoir rencontré de cible
> dite "terminale" : DROP, ACCEPT, REJECT, DNAT, SNAT, MASQUERADE...
> 
>> ah ok. j'avais pas saisi. Donc si je comprends bien, en mettant
>> :INPUT DROP au début je n'ai plus besoin d'avoir:
>> -A INPUT -j DROP juste avant le commit, non ?
> 
> En effet.
> 
>> Faut il mieux mettre la règle pour lo et RELATED,ESTABLISHED avant ou
>> après "anti-spoofing" ?
> 
> Pour lo, tu peux la mettre avant sauf si tu soupçonnes ta machine de
> faire du spoofing lorsqu'elle se cause à elle-même (ce qui traduirait de
> graves troubles de la personnalité).
> 
> Pour RELATED,ESTABLISHED, en toute rigueur il faudrait la mettre après.
> En effet le suivi de connexion ne tient pas compte de l'interface
> d'arrivée des paquets (après tout, le routage sur internet est
> asymétrique par nature et une machine multihomée peut recevoir un paquet
> légitime par n'importe quelle interface). On pourrait imaginer une
> situation où la machine communique avec une machine A sur l'interface
> interne, et une machine B extérieure profite de la connexion établie
> pour injecter des paquets par l'interface externe en se faisant passer
> pour A. Mais cette situation a autant sinon plus de chances de se
> produire si la machine usurpée et la machine usurpatrice sont du même
> côté, et là le filtrage anti-spoofing n'y peut rien.
> 

ok. donc
#
## Allow all traffic on localhost
-A INPUT -i lo -j ACCEPT
#
# IP DROP SPOOF
-A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
-A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
-A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
-A INPUT -i eth1 -s 240.0.0.0/4 -j DROP
# IP DROP link-local
-A INPUT -i eth1 -s 169.254.0.0/16  -j DROP
# IP DROP
-A INPUT -i eth1 -s 0.0.0.0/8  -j DROP
-A INPUT -i eth1 -s 168.254.0.0/16  -j DROP
#
## Allow previously established connections
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#



>> ok . merci de tes explications. BOn en combinant vos 2 réponses. J'ai
>> pour l'instant:
> [...]
>> -A INPUT -i eth1 -s 240.0.0.0/4 -j DROP
> [...]
>> -A INPUT -i eth1 -s 240.0.0.0/4  -j DROP
> 
> Doublon.
> 

damned. j'ai pas les yeux en face des trous...

>> Donc les points qui restent obscurent pour le moment ce sont:
>> - peut on mettre -A INPUT -eth0 -s 192.168.200.0/24 -j ACCEPT ?
> 
> Plutôt -i eth0.
> 

redamned. bon j'ai mis -i eth0.

c'est difficile de voir si ça fonctionne...mais ipmitool a l'air de
discuter avec le switch donc ça a l'air de fonctionner.

>> ou alors -A INPUT -eth0:2 -s 192.168.200.0/24 -j ACCEPT ?
> 
> Encore moins, eth0:2 n'est pas une interface.
> 
>> - la ligne -A INPUT -j DROP est elle nécessaire ? si j'ai bien compris
>> la réponse de Serge, je suppose que je peux la supprimer.
> 
> En effet, puisque la politique par défaut de la chaîne est DROP.
> 
>> - si je veux permettre à mes noeuds d'avoir internet, il suffit que je
>> fasse :
>> iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE -s
>> 192.168.0.0/16
>> sysctl -w net.ipv4.ip_forward=1
>> non ?
> 
> Il faudra aussi des règles dans FORWARD pour accepter les connexions
> routées arrivant par eth0 puisque la politique par défaut est DROP.
> 
> iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
> iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW -j ACCEPT
> 

bon ben l'internet sur les noeuds marche!
en gros j'ajoute ces lignes qd je veux avoir internet sur les noeuds.
sinon je les vire.

> A précéder par des règles anti-spoofing sur eth1 si tu y tiens. Elles
> peuvent être factorisées dans une chaîne utilisateur appelée depuis
> INPUT et FORWARD.
> 

bah je pense que ce n'est pas vraiment nécessaire. j'ai besoin
d'internet sur les noeuds de manière ponctuelle (genre 5 à 10 minutes
pour télécharger un paquet). ensuite FORWARD est vide et à DROP.

bon pour ip6tables j'ai mis ça :
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
#
## Allow all traffic on localhost
-A INPUT -i lo -j ACCEPT
#
## Allow previously established connections
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
# begin: allowed networks
#
## Allow all traffic from the nodes
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i ib0 -j ACCEPT
#
# end: allowed networks
#
## Allow icmp
-A INPUT -p icmpv6 -j ACCEPT
## Allow mdns (avahi)
#-A INPUT -p udp --dport 5353 -d ff02::fb -j ACCEPT
## Allow WWW http port 80
#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
## Allow SSH
-A INPUT -m tcp -p tcp --dport 22 -j ACCEPT
#
#-A INPUT -j LOG
COMMIT


c'est pas exactement la même chose...mais ça devrait suffire pour
l'instant. et pour le moment je ne comprends rien au ip ipv6. faut
encore que je lise des docs...

Merci beaucoup à tous les 2! si vous avez encore des commentaires je
suis à l'écoute.

Guillaume


Reply to: