Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile,
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.

Kasi a écrit :

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 big_smile

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 big_smile

#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 smile.

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 smile


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