Pages : 1
#1 Le 06/07/2009, à 18:14
- Kasi
Pure-ftpd et iptables
Bonjour,
j'essaye de déployer le serveur ftp Pure-ftpd sur une debian lenny.
Le serveur en lui même semble fonctionner correctement puisque j'arrive à me connecter dessus. Cependant je n'arrive pas à recevoir la liste des fichiers disponible sur le serveur.
Quand je regarde les logs d'iptables, voici ce que ça donne :
Jul 6 16:42:46 serveur-deb kernel: [ 4047.713558] warning: `pure-ftpd' uses 32-bit capabilities (legacy support in use)
Jul 6 16:42:46 serveur-deb pure-ftpd: (?@192.168.0.1) [INFO] New connection from 192.168.0.1
Jul 6 16:42:46 serveur-deb pure-ftpd: (?@192.168.0.1) [INFO] PAM_RHOST enabled. Getting the peer address
Jul 6 16:42:49 serveur-deb pure-ftpd: (?@192.168.0.1) [INFO] toto is now logged in
Jul 6 16:42:49 serveur-deb kernel: [ 4050.836005] [IPTABLES DROP] : IN=eth0 OUT= MAC=00:30:1b:b1:53:0e:00:13:02:14:61:27:08:00 SRC=192.168.0.1 DST=192.168.0.4 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=20390 DF PROTO=TCP SPT=53104 DPT=6543 WINDOW=5840 RES=0x00 SYN URGP=0
Jul 6 16:42:52 serveur-deb kernel: [ 4053.862290] [IPTABLES DROP] : IN=eth0 OUT= MAC=00:30:1b:b1:53:0e:00:13:02:14:61:27:08:00 SRC=192.168.0.1 DST=192.168.0.4 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=20391 DF PROTO=TCP SPT=53104 DPT=6543 WINDOW=5840 RES=0x00 SYN URGP=0
Jul 6 16:42:58 serveur-deb kernel: [ 4059.862200] [IPTABLES DROP] : IN=eth0 OUT= MAC=00:30:1b:b1:53:0e:00:13:02:14:61:27:08:00 SRC=192.168.0.1 DST=192.168.0.4 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=20392 DF PROTO=TCP SPT=53104 DPT=6543 WINDOW=5840 RES=0x00 SYN URGP=0
En désactivant iptables, ça fonctionne. Donc le problème vient bien de là.
J'ai lu différents tuto mais je ne trouve pas mon bonheur.
J'ai lu qu'il faut faire :
/sbin/modprobe ip_conntrack_ftp
serveur-deb:~# lsmod | grep ftp
nf_conntrack_ftp 6852 0
nf_conntrack 55540 5 nf_conntrack_ftp,xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
Déjà je n'ai pas le module "ip_conntrack_ftp" mais "nf_conntrack_ftp", je ne sais pas si ça va ou non...
Après voici ma conf d'iptables pour le serveur ftp :
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
Voila, j'espère que quelqu'un pourra m'éclairer ,
Merci
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne
#2 Le 06/07/2009, à 19:37
- 0xdeadbeef
Re : Pure-ftpd et iptables
Déjà je te conseille de te documenter pour bien comprendre la différence entre ftp passif et actif, et d'éplucher la doc de Pure-ftpd concernant sa configuration.
Déjà je n'ai pas le module "ip_conntrack_ftp" mais "nf_conntrack_ftp", je ne sais pas si ça va ou non...
Oui ça va.
Pour du ftp actif je verrais ça:
# accepter les requetes sur le port ftp-commande, et leur suivi de connexion
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 21 -m state --state RELATED,ESTABLISHED -j ACCEPT
# accepter le suivi de connexion sur le port ftp-data
iptables -A INPUT -i eth0 -p tcp --dport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
Remarque bien que ces règles sont simplistes.
Elles devraient laisser passer le traffic ftp actif, mais à toi de voir pour les sécuriser davantage
Après pour du ftp passif, ça va dépendre de la conf de Pure-ftpd (besoin de définir une plage de ports passifs, à reporter en dur dans des règles iptables supplémentaires) et là aussi je te laisse creuser
#3 Le 06/07/2009, à 19:38
- gnieark
Re : Pure-ftpd et iptables
Bonsoir,
essayez ainsi:
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo - Autoriser serveur FTP : [OK]
Hors ligne
#4 Le 06/07/2009, à 20:03
- Kasi
Re : Pure-ftpd et iptables
Merci pour vos réponses, cependant je ne comprends pas trop...
Je sais que l'ordre des règles à une importance...
Mais en quoi mettre :
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
(avec ou sans le port)
avant ou après :
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
change quelque chose ?
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne
#5 Le 07/07/2009, à 00:34
- 0xdeadbeef
Re : Pure-ftpd et iptables
C'est vrai qu'il faut faire attention à l'ordre en général, mais là c'est que de l'ACCEPT: avant ou après ça revient au même.
#6 Le 07/07/2009, à 00:38
- Kasi
Re : Pure-ftpd et iptables
Apparemment non ça ne revient pas au même, je l'avais mis avant ça ne marche pas, je le met après et ça fonctionne...
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne
#7 Le 07/07/2009, à 15:06
- 0xdeadbeef
Re : Pure-ftpd et iptables
Je pense que tu devrais poster l'intégralité de ton script iptables.
#8 Le 07/07/2009, à 15:51
- Kasi
Re : Pure-ftpd et iptables
# Chargement des modules
modprobe ip_conntrack_ftp
# REMISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F
iptables -t filter -X
# On créé une règle pour loger
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
# ---------------------------------------------------------------------------------------
# DEBUT des "politiques par défaut"
# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP
# Je veux que les connexions destinées à être forwardées
# soient acceptées par défaut
iptables -P FORWARD ACCEPT
# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT
# FIN des "politiques par défaut"
# ---------------------------------------------------------------------------------------
# DEBUT des règles de filtrage
# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -i eth0 -p icmp -m limit --limit 3/second -j ACCEPT
# J'accepte le protocole IGMP (pour le multicast)
iptables -A INPUT -i eth0 -p igmp -m limit --limit 3/second -j ACCEPT
# J'accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Décommentez les deux lignes suivantes pour que le serveur FTP éventuel
# soit joignable de l'extérieur
iptables -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 20 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Mode passif du serveur ftp
iptables -A INPUT -i eth0 -p tcp --dport 40000:41000 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Règles par défaut pour INPUT
iptables -A INPUT -j LOG_DROP
# FIN des règles de filtrage
Je sais il est loin d'être parfait, je suis parti d'un exemple d'un tuto, d'ailleurs au passage je suis preneur d'améliorations .
Sinon j'ai un petit soucis, j'ai appliqué le TLS sur pure-ftpd, j'arrive bien à me connecter mais ça ne me liste pas le contenu du dossier même en désactivant le firewall alors que ça fonctionne sans TLS, une idée de ce qui pourrait causer cela ?
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne
#9 Le 07/07/2009, à 22:51
- gnieark
Re : Pure-ftpd et iptables
d'ailleurs au passage je suis preneur d'améliorations smile.
Il y a combien de carte réseau sur le serveur?
et il assure quoi comme fonctions?
Hors ligne
#10 Le 07/07/2009, à 22:56
- Kasi
Re : Pure-ftpd et iptables
Une seule carte réseaux.
FTP, apache, mysql, ssh. Après il y aura vpn, dns, postfix. Un peu de tout
Manuel Ubuntu : http://www.framabook.org/ubuntu.html
Manuel OpenOffice : http://www.framabook.org/openoffice.html
Formation Debian : http://formation-debian.via.ecp.fr/
Guide d'autodéfense numérique : http://guide.boum.org/
Hors ligne
Pages : 1