# Problème FTP depuis mise en place iptables

**URL:** <https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702>\
**Category:** Support Debian\
**Created:** [Mai 29, 2021, 8:22 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702 "2021-05-29T08:22:43Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 8:22 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/1 "2021-05-29T08:22:43Z")

</div>

Bonjour , je vous explique mon problème ,  
Hier j’ai mis en place un firewall iptables pour bloquer certain accès depuis l’extérieur à ma machine qui est ouverte sur internet. Le parzmetrage de iptables c’est bien passé et tout mes services fonctionne comme avant , je précise que je bloque tout en input et forward et que j’autorise loutput par défaut , j’ai donc dans ma ma table des règles autorisant le trafic en input sur ma machine accès spécifiquement pour éviter l’utilisation de mon serveur dns a l’extérieur par exemple ,  
Depuis que mes règles iptables sont mise en place je n’arrive plus à récupérer le contenu du dossier de mon serveur FTP  
Ma config de FTP est basic avec les ports passif 5000-5100 ouvert  
Je vous transmet mes règles iptables voir si vous remarquiez une grossière erreur

 ![image](https://www.debian-fr.org/uploads/default/original/2X/6/625229b0db0968b7d7acd24aa470e67bbb5ff4aa.jpeg)

Autre point il me faudrait maintenant un pare feu ip6 mais pour le moment ce n’est pas urgent  
Cordialement  
Tomy

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Mai 29, 2021, 8:30 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/2 "2021-05-29T08:30:42Z")

</div>

Si tu as un FTP ouvert sur internet, déjà ce n’est pas terrible, mais c’est un choix.

Mais as tu le port 21 ouvert? Car tes ports 5000-5100 ne servent qu’à la data, pas à l’ouverture de session.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 8:50 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/3 "2021-05-29T08:50:31Z")

</div>

> [@Meqah](#):
>
> Je vous transmet mes règles iptables voir si vous remarquiez une grossière erreur

Au premier coup d’oeil je relève déjà deux erreurs grossières :

- poster une image, peu pratique, au lieu de texte
- poster la sortie de `iptables -Lv`, peu lisible et incomplète, au lieu de `iptables-save`

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 8:54 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/4 "2021-05-29T08:54:13Z")

</div>

Peut être pas très lisible dans mon image mais oui , le port 20 et 21 sont ouvert

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 9:01 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/5 "2021-05-29T09:01:25Z")

</div>

```nohighlight
# Generated by xtables-save v1.8.2 on Fri May 28 20:02:11 2021
*filter
:INPUT DROP [61059:12350754]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [35314:2372461]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -i lo -m comment --comment "Localhost input" -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -p udp -m udp --dport 3389 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3422 -j ACCEPT
-A INPUT -p udp -m state --state RELATED,ESTABLISHED -m udp --dport 51413 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 9.9.9.9/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 9.9.9.9/32 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 149.112.112.112/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 149.112.112.112/32 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9091 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 20,21 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --sport 5000:5100 --dport 5000:5100 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri May 28 20:02:11 2021

```

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 9:08 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/6 "2021-05-29T09:08:18Z")

</div>

> [@Meqah](#):
>
> `--sport 5000:5100`

Ceci est en trop. Le port source utilisé par le client est quelconque.  
Si la connexions de commande FTP sur le port 21 n’est pas chiffrée avec TLS/SSL, tu pourrais utiliser le suivi de connexion FTP pour autoriser dynamiquement le port ouvert pour chaque connexion avec le module nf\_conntrack\_ftp. Cf. la cible `CT` et la correspondance `helper`. Ça ne marche qu’avec le FTP en clair.

Par ailleurs il y a des maladresses et des redondances, mais je ne vois rien d’autre susceptible de bloquer les connexions de données FTP.

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 9:14 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/7 "2021-05-29T09:14:52Z")

</div>

> [@PascalHambourg](#):
>
> `nf_conntrack_ftp`

Qu’elle que chose comme ceci ?

```plaintext
iptables -A FORWARD -m conntrack --ctstate RELATED -m helper --helper ftp -d $iplocalhost -p tcp --dport 21 -j ACCEPT

```

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 9:23 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/8 "2021-05-29T09:23:57Z")

</div>

après a voir appliquer la règle , je ne vois pas de changement  
elle ressemble a ça :

```nohighlight
iptables -A FORWARD -m conntrack --ctstate RELATED -m helper --helper ftp -d 192.168.0.49 -p tcp --dport 21 -j ACCEPT

```

| Statut : | Connecté |
| --- | --- |
| Statut : | Récupération du contenu du dossier… |
| Commande : | PWD |
| Réponse : | 257 «&nbsp;/home/tomy/Stockage&nbsp;» est le rÃ©pertoire courant |
| Commande : | TYPE I |
| Réponse : | 200 Type paramÃ©trÃ© Ã I |
| Commande : | PASV |
| Réponse : | 227 Entering Passive Mode (x,x,x,x,157,69). |
| Commande : | LIST |
| Erreur : | Les données de connexion ne peuvent pas être établies : ETIMEDOUT - Tentative de connexion expirée |
| Erreur : | Connection interrompue après 20 secondes d’inactivité |
| Erreur : | Impossible de récupérer le contenu du dossier |

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 9:36 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/10 "2021-05-29T09:36:29Z")

</div>

> [@Meqah](#):
>
> Qu’elle que chose comme ceci ?

Non, le trafic ne passe pas par la chaîne FORWARD.  
D’autre part il faut associer la connexion de commande au helper ftp avec la cible CT dans la table `raw`, ce n’est plus automatique par défaut (à moins de charger le module nf\_conntrack avec le paramètre `nf_conntrack_helper=1`

Je répète que ça ne peut fonctionner que si la connexion de commande FTP est en clair. Est-ce le cas ?

> [@Meqah](#):
>
> |Réponse :|227 Entering Passive Mode (x,x,x,x,157,69).

Tu es sûr(e) d’avoir bien fixé la plage de ports passifs à 5000-5100 dans le serveur ? Le port annoncé dans la réponse PASV n’est pas dans cette plage.

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 9:43 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/11 "2021-05-29T09:43:32Z")

</div>

j’ai réussi a faire refonctionner mon ftp en effacer toutes mes règles le concernant et en ajoutant celle ci

```nohighlight
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
et echo « 1 » > /proc/sys/net/netfilter/nf_conntrack_helper

```

source : [https://unix.stackexchange.com/questions/93554/iptables-to-allow-incoming-ftp](https://unix.stackexchange.com/questions/93554/iptables-to-allow-incoming-ftp)

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 9:47 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/12 "2021-05-29T09:47:02Z")

</div>

Donc FTP non sécurisé, avec transmission du mot de passe en clair. C’est pour du FTP anonyme ?

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 9:50 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/13 "2021-05-29T09:50:46Z")

</div>

Simplement pour lire des films/series dispo sur le répertoire du serveur, les identifiants sont pour mes amis pour qu’il puisse lire les fichiers directement de chez eux via vlc ou autre.  
Je n’est aucune idée de ce qu’est un ftp anonyme…  
j’avais bien mes ports passif config sur 5000 à 5100 mais je l’ai est commenter ,

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 10:10 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/14 "2021-05-29T10:10:19Z")

</div>

Peu importe pour qui sont les identifiants, les mots de passe sont transmis en clair et n’importe qui sur le chemin des paquets peut les voir.

Un FTP anonyme est un serveur public ouvert à tous qui ne requiert pas d’authentification. En général il ne permet que de télécharger des fichiers, pas d’en déposer.

---

<div class="post-metadata">

**Author:** ![Meqah](https://www.debian-fr.org/user_avatar/www.debian-fr.org/meqah/32/8785_2.png) [@Meqah](https://www.debian-fr.org/u/Meqah)\
**Post date:** [Mai 29, 2021, 10:24 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/15 "2021-05-29T10:24:39Z")

</div>

C’est vrai que cela serait une bonne solution à mettre en place , merci.  
Après mon utilisateur ftp a comme paramètre —shell /bin/false/ .

Et est-il possible de lire le contenu du fichier/dossier depuis un ftp anonyme ?

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 29, 2021, 10:33 UTC](https://www.debian-fr.org/t/probleme-ftp-depuis-mise-en-place-iptables/84702/16 "2021-05-29T10:33:26Z")

</div>

Bien sûr. Un exemple : ftp://ftp.free.fr
