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 !!