J'ai besoin de votre aide car je ne parviens pas à paramétrer correctement mes règles iptables pour utiliser vsftpd. Comme vous pouvez le voir ci-dessous avec mon journal d'événements de Filezilla, la connexion se fait bien mais la commande LIST échoue. Le résultat est le même suivant que je me connecte depuis un poste de mon réseau local ou depuis l'extérieur derrière ma box (sur laquelle j'ai redirigé les ports 20 et 21 vers mon serveur)
Pour l'installation et la configuration initiale d'iptables je me suis appuyé sur cette page du wiki ainsi que celle-ci.Statut : Connexion à [mon ip]:21...
Statut : Connexion établie, attente du message d'accueil...
Réponse : 220 (vsFTPd 3.0.2)
Commande : USER [mon user]
Réponse : 331 Please specify the password.
Commande : PASS ********
Réponse : 230 Login successful.
Commande : SYST
Réponse : 215 UNIX Type: L8
Commande : FEAT
Réponse : 211-Features:
Réponse : EPRT
Réponse : EPSV
Réponse : MDTM
Réponse : PASV
Réponse : REST STREAM
Réponse : SIZE
Réponse : TVFS
Réponse : UTF8
Réponse : 211 End
Commande : OPTS UTF8 ON
Réponse : 200 Always in UTF8 mode.
Statut : Connecté
Statut : Récupération du contenu du dossier...
Commande : PWD
Réponse : 257 "/home/[mon user]"
Commande : TYPE I
Réponse : 200 Switching to Binary mode.
Commande : PASV
Réponse : 227 Entering Passive Mode ([mon ip],186,42).
Commande : LIST
Erreur : La connexion des données ne peut pas être établie : ETIMEDOUT - Tentative de connexion expirée
Erreur : Délai d'attente expiré
Erreur : Impossible de récupérer le contenu du dossier
Voici ma configuration actuelle :
Code : Tout sélectionner
$ cat /etc/iptables/iptables.rules
# Generated by iptables-save v1.4.21 on Wed Oct 15 00:07:22 2014
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [38:5908]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 21 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Wed Oct 15 00:07:22 2014
$ sudo iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
81 5424 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 ctstate NEW
3 1246 UDP udp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
1 40 TCP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 ctstate NEW
3 1246 REJECT udp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-proto-unreachable
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 48 packets, 5328 bytes)
pkts bytes target prot opt in out source destination
Chain TCP (1 references)
pkts bytes target prot opt in out source destination
1 40 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain UDP (1 references)
pkts bytes target prot opt in out source destination
- Mes connexions ssh sur le port 22 et http sur le port 80 fonctionnent sans soucis.
Lorsque je désactive iptables, le problème avec la commande LIST n'apparaît pas et je peux utiliser normalement ftp avec Filezilla, depuis mon réseau local aussi bien que depuis l'extérieur.