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: