Serveur SFTP: mieux utiliser le sous-système sftp interne SSH ou le plugin ProFTPD?

11

J'ai été chargé d'installer un nouveau serveur SFTP. En soi, c'est une opération très simple: il suffit d'utiliser le internal-sftprôle du service SSH omniprésent (avec chrootage) pour avoir un serveur SFTP fiable.

Cependant, c'est dans ma nature d'essayer toujours au moins deux approches différentes pour le même problème, et j'ai réalisé que je peux utiliser ProFTPDavec un plugin sftp pour faire la même chose, avec l'avantage supplémentaire d'options plus granulaires liées au transfert de fichiers (par exemple: limitation de la bande passante ). D'un autre côté, ce plugin n'est pas compilé (et fourni) par défaut, et je voudrais éviter (peut-être) une solution "moins testée".

Pour le moment, le seul service requis est SFTP; cependant, je joue à l'avance et j'aimerais implémenter une solution qui peut non seulement fonctionner avec SFTP, mais aussi avec FTP / S.

Étant donné que je vais chrooter les utilisateurs à l'intérieur de leurs maisons, quelle est selon vous la meilleure solution?

  1. utiliser SSH internal-sftpet un serveur FTP autonome ( vsftpdou proftpd) pour les services FTP / S
  2. utiliser uniquement le service ProFTPD avec le plugin correspondant
shodanshok
la source
1
c'est probablement basé sur l'opinion. Si vous n'utilisez pas internal-sftpde sshd, vous devrez probablement utiliser SFTP sur différents que le port de deffault (si vous voulez encore sshd) qui est certainement question de la facilité d' utilisation.
Jakuje
Salut, merci pour votre contribution. Je ne suis pas à la recherche d'opinions, plutôt d'un conseil sur les meilleures pratiques d'une personne qui a déjà évalué les deux options décrites. Vous dites que le port TCP d'écoute est correct, mais dans cette configuration, l'utilisation d'un port différent pour SSH n'est pas un problème.
shodanshok
1
Je ne suis pas sûr que "non testé" soit un jugement juste du mod_sftpmodule de ProFTPD ; il existe de nombreux sites qui l'utilisent en fait au quotidien.
Castaglia
Merci pour le commentaire. Alors, est-ce mod_sftpplus courant que moi? Génial. Quoi qu'il en soit, je ne jugerais pas mod_sftpcomme non testé, c'est pour cette raison que j'ai utilisé les citations. Je reformule cette partie de la question.
shodanshok

Réponses:

4

Le serveur sftp de SSH a des exigences supplémentaires pour les répertoires chroot, ie. l'utilisateur ne peut pas accéder en écriture au répertoire chroot dans certains environnements, cela peut être un problème.

Si vous avez également besoin de ftp / ftps, je vous suggère d'essayer mod_sftp. Nous l'utilisons en production sur une vingtaine de serveurs avec plus de 10 000 comptes avec des problèmes presque nuls (sftp est le protocole le moins utilisé). L'inconvénient pourrait être qu'il ne prend pas en charge la méthode d'authentification par mot de passe, mais il prend en charge la touche rsa et le clavier interactif, ce n'est donc un problème que pour les très anciens clients.

Lazy404
la source
20 servers with over 10k accounts- merci beaucoup pour votre rapport, il est très apprécié. À propos de la différence dans la permission d'écriture de la maison, j'ai déjà travaillé dessus;)
shodanshok
3

Il s'agit d'un fil plus ancien, mais j'aimerais simplement ajouter aux futurs lecteurs que nous configurons les serveurs pour utiliser proftpd avec mod_sftp depuis des années sans aucun problème. J'aime beaucoup que la séparation des services donne un contrôle précis sur la sécurité, le service lui-même et la gestion des utilisateurs.

Vous pouvez configurer proftpd pour prendre en charge l'un ou les deux mots de passe / clés avec mod_sftp si vous incluez également le module sftp_pam. Voici un exemple de configuration qui permet les deux:

# Include all available modules
Include /etc/proftpd/modules.conf

<Global>
  <IfModule mod_sftp.c>
    <IfModule mod_sftp_pam.c>
      SFTPPAMEngine on
      SFTPPAMServiceName sftp
    </IfModule>

    SFTPEngine on
    SFTPLog /var/log/proftpd/sftp.log

    # Configure both the host keys
    SFTPHostKey /etc/ssh/ssh_host_rsa_key
    SFTPHostKey /etc/ssh/ssh_host_dsa_key

    SFTPAuthMethods publickey password keyboard-interactive
    SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u

    # Enable compression
    SFTPCompression delayed
  </IfModule>
</Global>
Diogenes deLight
la source