SFTP-Server: Besser das interne SSH-SFTP-Subsystem oder das ProFTPD-Plugin verwenden?

11

Ich wurde beauftragt, einen neuen SFTP-Server zu installieren. Per se ist dies eine sehr einfache Operation: Die einfache Verwendung der internal-sftpRolle des allgegenwärtigen SSH-Dienstes (mit Chrooting) reicht aus, um einen zuverlässigen SFTP-Server zu haben.

Es liegt jedoch in meiner Natur, immer mindestens zwei verschiedene Ansätze für dasselbe Problem zu versuchen, und mir wurde klar, dass ich ProFTPDmit einem SFTP-Plugin dasselbe tun kann, mit dem zusätzlichen Vorteil detaillierterer Optionen für den Filetransfer (z. B. Bandbreitendrosselung) ). Andererseits wird dieses Plugin nicht standardmäßig kompiliert (und gebündelt), und ich möchte (vielleicht) eine "weniger getestete" Lösung vermeiden.

Derzeit ist nur SFTP erforderlich. Ich spiele jedoch im Voraus und möchte eine Lösung implementieren, die nicht nur mit SFTP, sondern auch mit FTP / S funktioniert.

Was halten Sie für eine bessere Lösung, wenn man bedenkt, dass ich Benutzer in ihren Häusern chrooten werde?

  1. Verwenden Sie SSH internal-sftpund einen eigenständigen FTP-Server ( vsftpdoder proftpd) für FTP / S-Dienste
  2. Verwenden Sie den ProFTPD-Dienst nur mit dem entsprechenden Plugin
Shodanshok
quelle
1
Dies ist wahrscheinlich meinungsbasiert. Wenn Sie nicht verwenden internal-sftpvon sshd, werden Sie wahrscheinlich SFTP zu verwenden , haben auf verschiedenen als deffault Port (wenn Sie noch sshd wollen) , das Problem sicherlich Usability ist.
Jakuje
Hallo, danke für deine Eingabe. Ich bin nicht auf der Suche nach Meinungen, sondern nach einem Best-Practice-Rat von jemandem, der die beiden beschriebenen Optionen bereits bewertet hat. Sie weisen darauf hin, dass der überwachende TCP-Port richtig ist, aber in diesem Setup ist es kein Problem, einen anderen Port für SSH zu verwenden.
Shodanshok
1
Ich bin nicht sicher, ob "ungetestet" ein faires Urteil über das ProFTPD- mod_sftpModul ist. Es gibt viele Websites, die es tatsächlich täglich nutzen.
Castaglia
Danke für deinen Kommentar. Wird es mod_sftpalso häufiger verwendet als ich? Groß. Jedenfalls würde ich nicht mod_sftpals ungetestet beurteilen , aus diesem Grund habe ich die Zitate verwendet. Ich werde diesen Teil der Frage umformulieren.
Shodanshok

Antworten:

4

Der SFTP-Server von SSH stellt einige zusätzliche Anforderungen an Chroot-Verzeichnisse, z. Benutzer können in einigen Umgebungen keinen Schreibzugriff auf chroot dir haben. Dies könnte ein Problem sein.

Wenn Sie auch ftp / ftps benötigen, würde ich vorschlagen, mod_sftp auszuprobieren. Wir verwenden es in der Produktion auf ungefähr 20 Servern mit über 10.000 Konten mit fast null Problemen (SFTP ist das am wenigsten verwendete Protokoll). Der Nachteil könnte sein, dass es die Kennwortauthentifizierungsmethode nicht unterstützt, aber rsa key und tastaturinteraktiv unterstützt, sodass dies nur für sehr alte Clients ein Problem darstellt.

Lazy404
quelle
20 servers with over 10k accounts- Vielen Dank für Ihren Bericht, es wird sehr geschätzt. Über den Unterschied in der Erlaubnis zum Schreiben zu Hause habe ich bereits daran gearbeitet;)
Shodanshok
3

Dies ist ein älterer Thread, aber ich möchte zukünftigen Lesern nur hinzufügen, dass wir Server seit Jahren so konfigurieren, dass sie proftpd mit mod_sftp ohne Probleme verwenden. Ich mag es sehr, dass die Trennung von Diensten eine differenzierte Kontrolle über die Sicherheit, den Dienst selbst und die Benutzerverwaltung ermöglicht.

Sie können proftpd so konfigurieren, dass eines oder beide Kennwörter / Schlüssel mit mod_sftp unterstützt werden, wenn Sie auch das Modul sftp_pam einschließen. Hier ist eine Beispielkonfiguration, die beides ermöglicht:

# 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
quelle