Je veins de me rendre compte que j'ai un bug dans mon script Iptable :
http://www.tux-planet.fr/blog/?2006/03/05/55-un-firewall-avec-iptables
Celui ne marche pas très bien avec le protocol FTP. La connexion se fait bien sur le serveur par le port 21, mais il n'affiche pas le listing du repertoire. J'ai réussi à isoler la parti ou iptable DROP les paquets qui demande le listing :
Dec 9 16:28:15 localhost kernel: [IPTABLES DROP]:IN= OUT=eth0 SRC=192.168.0.175 DST=213.******** LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=1020 DF PROTO=TCP SPT=35778 DPT=21862 WINDOW=5840 RES=0x00 SYN URGP=0
Dec 9 16:28:18 localhost kernel: [IPTABLES DROP]:IN= OUT=eth0 SRC=192.168.0.175 DST=213.******** LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=1021 DF PROTO=TCP SPT=35778 DPT=21862 WINDOW=5840 RES=0x00 SYN URGP=0
Dec 9 16:28:24 localhost kernel: [IPTABLES DROP]:IN= OUT=eth0 SRC=192.168.0.175 DST=213.******** LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=1022 DF PROTO=TCP SPT=35778 DPT=21862 WINDOW=5840 RES=0x00 SYN URGP=0
Ce qui me parait bizarre ici, c'est le port utilisé pour la demande : SPT=35778
Il est assez normal que iptable DROP ce paquet, car ce port de communiquation n'est pas autorisé par mon script.
La question est plutôt, pourquoi le client ftp (gftp) utilise ce port ???
Ce qui me m'énerve le plus, c'est que si j'accepte la communiquation par ce port :
iptables -A OUTPUT -o eth0 -p TCP --dport 35778 -j ACCEPT
Gftp passe par un autre :
Dec 9 16:35:43 localhost kernel: [IPTABLES DROP]:IN= OUT=eth0 SRC=192.168.0.175 DST=213.********** LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=8004 DF PROTO=TCP SPT=33609 DPT=31679 WINDOW=5840 RES=0x00 SYN URGP=0