Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[proftpd] MLSD, PassivePorts et Livebox (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Sun Jun 12, 2016 3:58 pm    Post subject: [proftpd] MLSD, PassivePorts et Livebox (résolu) Reply with quote

Bsr tous

J'essaie de mettre à disposition un service FTP avec proftpd (avec un certificat TLS maison pour le chiffrement)

Le message de connexion d'un client indique en abrégé :

Le client Filezilla wrote:
Statut : Le serveur a envoyé une réponse passive avec une adresse non routable. Adresse remplacée par celle du serveur.
Commande : MLSD
Erreur : Connection interrompue après 20 secondes d'inactivité
Erreur : Impossible de récupérer le contenu du dossier
Statut : Déconnecté du serveur


C'est un grand classique auquel je ne suis pas habitué. Il me semble.
J'ai établi une règle NAT dans ma box pour diriger le port 2221 en entrée sur mon serveur protfpd qui écoute sur le port 21

On a aussi essayé de faire du 21 de bout en bout et c'est pareil.

Je ne sais pas trop quoi faire.

Code:
n73sm ~ # emerge -pv proftpd

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] net-ftp/proftpd-1.3.5b::gentoo  USE="acl caps doc ipv6 ldap ncurses nls pam pcre ssl tcpd -authfile -ban -case -clamav -copy -ctrls -deflate -diskuse -dso -dynmasq -exec -ident -ifsession -ifversion -kerberos (-libressl) -log_forensic -memcache -msg -mysql -postgres -qos -radius -ratio -readme -rewrite (-selinux) -sftp -shaper -sitemisc -snmp -softquota -sqlite {-test} -trace -unique_id -vroot -xinetd" LINGUAS="en_US fr_FR -bg_BG -it_IT -ja_JP -ko_KR -ru_RU -zh_CN -zh_TW" 0 KiB

Code:
# This is a sample ProFTPD configuration file for Gentoo Linux (rename
# it to 'proftpd.conf' for actual use). It establishes a single server
# and a single anonymous login.

ServerName "ProFTPD Default Server"
ServerType standalone
DefaultServer on
RequireValidShell off
AuthPAM off
AuthPAMConfig ftp

## AJOUTS

<IfModule mod_facts.c>
    FactsAdvertise off
</IfModule>

<IfModule mod_ctrls_admin.c>
    AdminControlsEngine off
</IfModule>

##

# Listen on the standard FTP port 21.
Port 21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.

# FROM THE END

PassivePorts                  49152 49156

# 65534


# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
MasqueradeAddress           IP.WAN.POINTÉE.DOT


# New directories and files should not be group or world writable.
Umask 022 022

# To prevent DoS attacks set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once simply increase this value.
MaxInstances 30

# The server will run under ftp/ftp.
User ftp
Group ftp

# Every FTP sessions is "jailed" into the user's home directory.
DefaultRoot ~

# Generally files are overwritable.
AllowOverwrite on

AllowStoreRestart on
# Autoriser la reprise d'un upload de fichier (resuming)

AllowRetrieveRestart on
# Autoriser la reprise d'un téléchargement de fichier

# Pour les commandes RETR (téléchargement)
TransferRate    RETR            600:0

SystemLog /var/log/proftpd.log
TransferLog /var/log/xferlog

# Disallow the use of the SITE CHMOD command.
<Limit SITE_CHMOD>
  DenyAll
</Limit>

<Limit LOGIN>
    AllowUser untel
    AllowUser unautre
    DenyAll
</Limit>

<Limit WRITE>
   DenyAll
</Limit>

<Directory /home/untel>
   <Limit STOR RNFR DELE>
      DenyAll
   </Limit>   
</Directory>

<Directory /home/unautre>
   <Limit STOR RNFR DELE>
      DenyAll
   </Limit>   
</Directory>

TLSEngine                         on                               # Basicly to turn on TLS/SSH
TLSLog                            /var/log/tls.log                 # Path to logfile
TLSProtocol                       SSLv23                           # Wich Types of SSL that is approved
TLSOptions                        NoCertRequest                    # In here to make client less buggy.
TLSRSACertificateFile             /etc/ssl/certs/proftpd.cert.pem  # Path to certificate file
TLSRSACertificateKeyFile          /etc/ssl/certs/proftpd.key.pem   # Path to key file
TLSVerifyClient                   off                              # Turned off to accept clent certificates without verifying it "Less buggy"
TLSRequired                       on                               # Wether Clients has to have SSL/TLS to be able to logged in.
                                                                   # Set this to "off" if you don't want client's to have to use SSL/TLS


Last edited by pti-rem on Thu Jun 16, 2016 12:12 pm; edited 8 times in total
Back to top
View user's profile Send private message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Sun Jun 12, 2016 4:32 pm    Post subject: Reply with quote

https://forum.ubuntu-fr.org/viewtopic.php?pid=9182001#p9182001
cedricbab #13 Le 09/05/2012, à 07:53 wrote:
Ce problème vient de la mauvaise reconnaissance de l'instruction MLSD par proftpd.
La solution est ici: http://forum.ubuntu-fr.org/viewtopic.php?pid=9095201
Il faut fermer et réouvrir filezilla pour qu'il envoie l'instruction LIST à la place de MLSD.

Accueil » Forum » Installation de logiciels et changements de version » Filezilla pas de connexion
https://forum.ubuntu-fr.org/viewtopic.php?pid=9095201
Gouzi31 #5 Le 03/05/2012, à 21:02 wrote:
Luttant depuis hier sur ce problème j'ai enfin trouvé une solution. Le problème vient en effet de la commande MLSD qui est utilisé par filezilla alors que d'autres clients utilisent LIST (qui fonctionne).
J'ai donc trouvé une astuce qui indique au client qu'il doit exécuter LIST et pas MLSD. Le site suivant (en anglais) explique l'installation et la configuration d'un serveur ftp tutorial.
Pour résumer il suffit d'ajouter les lignes suivantes dans le fichier de configuration de proftpd ou en utlisant l'onglet configuration dans gadmin-proftpd
Code:
<IfModule mod_facts.c>
    FactsAdvertise off
</IfModule>

J'ai ajouté aussi (il faut que je recherche pourquoi, je ne me souviens plus):
Code:
<IfModule mod_ctrls_admin.c>
    AdminControlsEngine off
</IfModule>
Back to top
View user's profile Send private message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Mon Jun 13, 2016 6:11 am    Post subject: Reply with quote

Je me trompais partiellement sur l'interprétation de mon problème.

C'est la Livebox 3 et son firewall qui me pose problème pour ouvrir une plage de ports TCP pour proftpd. (PassivePorts 49152 65534)
Je ne peux pas me permettre de personnaliser ce firewall pour des raisons familiales. Il reste en «moyen»

J'ai donc mis mon l'ip de mon serveur proftpd en DMZ ; alors, tout passe bien maintenant.

Mais j'ai certainement à m'occuper avec iptables... (bonjour)

édition : j'ai vite retiré mon IP locale de la DMZ, rien qu'avec un scanner de ports j'ai compris que c'était risqué. Et que je ne maîtrise pas.


Last edited by pti-rem on Mon Jun 13, 2016 5:31 pm; edited 1 time in total
Back to top
View user's profile Send private message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Mon Jun 13, 2016 4:16 pm    Post subject: Reply with quote

J'ai réussi à faire fonctionner proftpd pour mes deux clients Filezilla en n'ouvrant que quelques ports (les 5 premiers) dans la plage 49152 - 65534 et en conservant mon firewall de livebox au niveau moyen
Back to top
View user's profile Send private message
Syl20
Guru
Guru


Joined: 04 Aug 2005
Posts: 564
Location: France

PostPosted: Tue Jun 14, 2016 3:57 pm    Post subject: Reply with quote

Le mode "DMZ" d'une box (de quasiment tous les FAI français, en tout cas) peut en effet s'avérer très dangereux quand on ne sait pas ce qu'il fait, et comment l'utiliser en toute sécurité : il renvoie _toutes_ les requêtes venant de l'extérieur vers l'hôte renseigné, sans aucun filtrage. Très utile quand on a son propre pare-feu, étant donné que le mode bridge n'est que rarement proposé, mais suicidaire sans.

FTP n'est pas copain avec les pare-feu à cause de la séparation des flux "commandes" et "data". Le mode passif (connexions data initiées par le client), couplé aux modules netfilter conntrack_ftp et éventuellement ntp_ftp, permet d'améliorer la situation, mais ça reste assez lourd à gérer.
Je doute qu'une box soit assez "intelligente" pour implanter ce genre de suivi de sessions, en tout cas. Ce qui veut dire qu'elle renverra à ton serveur tous les flux à destination des ports que tu as ouverts, qu'ils soient FTP ou non.

Si tu veux chiffrer les communications, et si tu utilises un client compatible (FileZilla l'est), tu peux utiliser SFTP (SSH) en lieu et place de FTPS. Le gros avantage, c'est qu'il n'y a qu'un seul port TCP (22 par défaut) à ouvrir. L'inconvénient, c'est que si ton serveur SSH est mal paramétré, tu peux laisser un accès en ligne de commande à ton serveur depuis l'extérieur.
Back to top
View user's profile Send private message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Thu Jun 16, 2016 10:12 am    Post subject: Reply with quote

Syl20 wrote:
Ce qui veut dire qu'elle renverra à ton serveur tous les flux à destination des ports que tu as ouverts, qu'ils soient FTP ou non.

Mais est-ce réellement potentiellement dangereux pour mon système ; trojan ou rootkit ou que sais-je ?

Et le mode «bridge» (dont je ne dispose pas) ; Il change quoi réellement à la donne ?

Il n'y a rien à l'écoute sur ces 5 ports ; enfin je sais bien que c'est plus compliqué que ça en a l'air.

Du coup, j'ai stoppé le service proftpd et fermé les ports.

Je vais essayer d'étudier SFTP.

Merci Syl20 pour tes explications.
Back to top
View user's profile Send private message
Syl20
Guru
Guru


Joined: 04 Aug 2005
Posts: 564
Location: France

PostPosted: Thu Jun 16, 2016 11:21 am    Post subject: Reply with quote

Le risque est minime, puisqu'il faut en effet que quelque chose écoute sur les ports ouverts. Ce qui veut dire, soit qu'il faut qu'une session FTP soit ouverte, soit qu'un logiciel "plaisantin" soit implanté, et actif, sur ton serveur.

Dans le deuxième cas, ton serveur est déjà vérolé. Les mesures préventives sont inutiles, et la suite à donner est un autre sujet.

Dans le premier cas, soit l'attaquant initie lui-même la connexion au serveur, puis exploite le port FTP data ouvert, et de toute façon un pare-feu avec suivi de sessions le laissera faire, soit il utilise une session existante, s'il y en a une, pour entrer, ou il utilise deux adresses IP différentes pour attaquer les ports FTP commandes et data, et c'est là qu'un pare-feu avec suivi de sessions sera plus efficace que la boîte orange... Bref, pas de quoi se mettre martel en tête, si tu n'es pas une grosse entreprise ou une administration.

Pour SFTP, cette page, par exemple, explique bien ce qu'il faut faire. Oublie juste le paragraphe 4. :wink:

Le "mode bridge" (dont, en effet, tu ne disposes pas. À ma connaissance, seul Free le propose, s'il le propose encore...) désactive la fonction routeur de ta box, qui devient un simple modem. Ce qui veut dire, concrètement, que c'est ton serveur qui récupère l'adresse IP publique que ton FAI t'a assignée.
Back to top
View user's profile Send private message
pti-rem
Apprentice
Apprentice


Joined: 14 Oct 2011
Posts: 288

PostPosted: Thu Jun 16, 2016 12:11 pm    Post subject: Reply with quote

Syl20 wrote:
À ma connaissance, seul Free le propose, s'il le propose encore...

Un petit butinage m'a donné à voir que pour la «révolution» Free le propose ; J'ai vu aussi que Numéricable le propose. Après ça dépend des offres et des box évidemment.

J'ai remis en fonction mon proftpd avec les ports TCP initiés par le client en attendant d'étudier SFTP sérieusement.

Le contenu du sujet est suffisant pour quiconque qui veuille bien s'en donner la peine.

Hormis un «zombie» acharné et compétent cherchant après mon IP de WAN je m'estime être à l'abri.
Je ne crois pas avoir de «plaisantin» d'incrusté.

Merci pour tout Syl20
je clôture donc ici.

édition :
Syl20 wrote:
Le "mode bridge" (dont, en effet, tu ne disposes pas. À ma connaissance, seul Free le propose, s'il le propose encore...) désactive la fonction routeur de ta box, qui devient un simple modem. Ce qui veut dire, concrètement, que c'est ton serveur qui récupère l'adresse IP publique que ton FAI t'a assignée.

Donc c'est l'IP locale qui devient la zone dé-militarisée et il faut assurer avec iptables.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum