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

Re: Apache et iptables



Salut,

Frédéric CONANGLE a écrit :

Et si tu nous donnais les règles complètes de ton firewall alors ? Parce
qu'avec ce que je t'avais donné, ça aurait dû marcher.

désolé le premier n'était pas bon....

1) Ton firewall est un gruyère. Exemple :

/sbin/iptables -A INPUT -i ppp0 --protocol tcp --source-port 80 -j ACCEPT

Cette règle autorise n'importe qui de l'extérieur à se connecter à n'importe quel port TCP de ta machine à partir du port source 80.

Il vaudrait mieux utiliser le suivi de connexion comme tu le fait plus bas.

2) Le trafic local émis par la machine à destination d'elle-même passe systématiquement par l'interface de loopback (lo), même quand l'adresse destination utilisée est celle d'une autre interface. Donc pour contacter ton serveur web en local, il faut autoriser le trafic HTTP en entrée et en sortie sur lo. D'ailleurs, il n'y a pas de raison de filtrer quoi que ce soit sur cette interface. Le plus simple est de remplacer :

/sbin/iptables -t filter -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT
/sbin/iptables -t filter -A INPUT  -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT

par :

/sbin/iptables -t filter -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -t filter -A INPUT  -i lo -j ACCEPT

3) Pour finir, un nettoyage s'impose. Ton script contient un paquet de règles redondantes, comme par exemple :

/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 10.82.1.23 -o ppp0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 10.82.1.21 -o ppp0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 10.82.1.22 -o ppp0 -j MASQUERADE

Les trois dernières règles ne servent à rien puisque la première est plus générale.

Ou encore :

/sbin/iptables -A INPUT -i ppp0 --protocol tcp --source-port 443 -j ACCEPT
/sbin/iptables -A OUTPUT -o ppp0 --protocol tcp --destination-port 443 -j ACCEPT

et plus bas :

/sbin/iptables -A INPUT -i ppp0 --protocol tcp --source-port 443 -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -A OUTPUT -o ppp0 --protocol tcp --destination-port 443 -m state --state NEW,ESTABLISHED -j ACCEPT

Les deux dernières règles ne sont pas utilisées puisque les deux premières sont plus permissives.

Il y aurait encore beaucoup à dire...



Reply to: