Auteur Sujet: FTP : et le port 20?  (Lu 19127 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
FTP : et le port 20?
« le: 07 septembre 2011 à 02:04:49 »
Le protocole FTP préhistorique stipule que le port par défaut du coté serveur de la connexion de données est (port de la connexion de contrôle - 1), soit par défaut 21 - 1 = 20 (dit "ftp-data").

Bien sur, les plupart des clients FTP utilisent le mode passif (PASV, EPSV), et donc le serveur choisit un port dynamique sur lequel il accepte la connexion de données. Rien à dire.

Il y a des clients FTP auxquels on peut indiquer d'utiliser le mode actif (PORT, EPRT) : dans ce cas le client indique au serveur sur quelle IP et quel port le contacter. La préhistorique norme veut que le serveur utilise comme port source le port "ftp-data" 20.

Cette règle antique est parfaitement ridicule, le choix du port source n'ayant strictement aucun intérêt (voir pouvant causer un problème de sécurité).

Je suis curieux de savoir :
- à part FileZilla Server (Windows), quel serveur FTP implèmente cela?
- quelle proportion approximative de serveurs d'importance significative supportent cette ânerie?
- si une norme récente l'a abolie officiellement?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
FTP : et le port 20?
« Réponse #1 le: 07 septembre 2011 à 07:04:29 »
Je t'ai mis à disposition deux serveur FTP sous linux pour faire des tests de débit si tu souhaites tester l'implèmentation :
- ftp://1.testdebit.info
- 100ms.lafibre.info

En mode "actif", c'est bien le port 20 qui est utilisé.

Le mode passif est par contre celui utilisé par défaut.

corrector

  • Invité
FTP : et le port 20?
« Réponse #2 le: 07 septembre 2011 à 10:03:39 »
Heu... le ftpd est en root?  :o

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
FTP : et le port 20?
« Réponse #3 le: 07 septembre 2011 à 10:15:42 »
bien sur que non !

même méthode que pour Apache qui écoute un port < 1024 et qui tourne avec l'utilisateur www-data

corrector

  • Invité
FTP : et le port 20?
« Réponse #4 le: 07 septembre 2011 à 10:20:54 »
Il bind la socket en root, puis il change ses UID?

corrector

  • Invité
FTP : et le port 20?
« Réponse #5 le: 07 septembre 2011 à 15:56:24 »
bien sur que non !

même méthode que pour Apache qui écoute un port < 1024 et qui tourne avec l'utilisateur www-data
Même méthode?

Apache est un serveur. Il a besoin d'un socket en tout.

FTPD est un client. Il a besoin d'un socket par connexion.

Je ne vois pas du tout de quoi tu parles.

corrector

  • Invité
FTP : et le port 20?
« Réponse #6 le: 08 octobre 2011 à 23:10:20 »
bien sur que non !

même méthode que pour Apache qui écoute un port < 1024 et qui tourne avec l'utilisateur www-data
J'ai un peu cherché, et je n'ai trouvé aucun FTP qui puisse faire cela; sur les serveurs populaires, les options sont :
- le serveur est root (ou partiellement root sous linux), le port 20 est utilisé
- ou alors, le serveur n'est pas root, le port 20 n'est jamais utilisé, et donc le serveur n'est pas conforme à la norme

Tu utilises quoi?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
FTP : et le port 20?
« Réponse #7 le: 09 octobre 2011 à 10:26:26 »
J'utilise ProFTPd, un des serveurs GNU GPL les plus utilisés.

Un PS AUX montre bien qu'il n'est pas démarré en root :

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
proftpd   7917  0.0  0.0  92148  2224 ?        Ss   06:45   0:00 proftpd: (accepting connections)
             

corrector

  • Invité
FTP : et le port 20?
« Réponse #8 le: 09 octobre 2011 à 11:57:05 »
Quelle est la config? RootRevoke?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
FTP : et le port 20?
« Réponse #9 le: 09 octobre 2011 à 12:13:36 »
La config par défaut sous debian / ubuntu server fait que le port 20 est utilisé et que le serveur n'est pas root :

# Set the user and group that the server normally runs at.
User                            proftpd
Group                           nogroup


corrector

  • Invité
FTP : et le port 20?
« Réponse #10 le: 09 octobre 2011 à 13:03:46 »
Que raconte /proc/7917/status ?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
FTP : et le port 20?
« Réponse #11 le: 09 octobre 2011 à 13:39:32 »
Voila :
$ cat /proc/7917/status
Name: proftpd
State: S (sleeping)
Tgid: 7917
Pid: 7917
PPid: 1
TracerPid: 0
Uid: 0 104 0 104
Gid: 65534 65534 65534 65534
FDSize: 64
Groups: 65534
VmPeak:    92152 kB
VmSize:    92148 kB
VmLck:        0 kB
VmHWM:     2224 kB
VmRSS:     2224 kB
VmData:     1160 kB
VmStk:      268 kB
VmExe:      616 kB
VmLib:     4896 kB
VmPTE:      184 kB
VmSwap:        0 kB
Threads: 1
SigQ: 1/16382
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000010401000
SigCgt: 000000000081ecef
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 1645
nonvoluntary_ctxt_switches: 0
vgu@ip:~$ cat /proc/7917/status
Name: proftpd
State: S (sleeping)
Tgid: 7917
Pid: 7917
PPid: 1
TracerPid: 0
Uid: 0 104 0 104
Gid: 65534 65534 65534 65534
FDSize: 64
Groups: 65534
VmPeak:    92152 kB
VmSize:    92148 kB
VmLck:        0 kB
VmHWM:     2224 kB
VmRSS:     2224 kB
VmData:     1160 kB
VmStk:      268 kB
VmExe:      616 kB
VmLib:     4896 kB
VmPTE:      184 kB
VmSwap:        0 kB
Threads: 1
SigQ: 1/16382
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000010401000
SigCgt: 000000000081ecef
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 1645
nonvoluntary_ctxt_switches: 0

Pour info :
$ uptime
 13:38:34 up 17 days, 50 min,  1 user,  load average: 0.00, 0.02, 0.05
$ free -m
             total       used       free     shared    buffers     cached
Mem:          3963       3642        321          0        213       3214
-/+ buffers/cache:        214       3749
Swap:         1905          0       1905