Welche sicheren Alternativen zu FTP gibt es? [geschlossen]


22

Diese Hacker News-Geschichte handelt von den Nachteilen von FTP. Der einzige Grund, warum ich FTP einrichten könnte, ist, dass es einfach ist.

Ich kenne und verwende es scpbereits, aber manchmal möchte ich Dateien mit jemandem teilen, ohne ihm sshZugriff auf meinen Server zu gewähren . Ich möchte, dass sie Dateien hochladen und herunterladen können, aber sonst nichts, und ich möchte sie auf ein einziges Verzeichnis beschränken. Ich möchte auch, dass ihre Verbindung verschlüsselt wird ssh.

Welche Alternativen zu FTP erfüllen diese Kriterien?


2
Sie können scp ohne ssh verwenden, siehe: serverfault.com/questions/354615/allow-sftp-but-disallow-ssh
Stone

1
Ich werde mir nicht die Mühe machen, diesen Artikel zu lesen, aber es lohnt sich, daran zu denken, dass FTP für die Verwendung in einem geschlossenen Netzwerk (im oberen Labor zu / von den Servern im Keller) konzipiert wurde, sodass die Sicherheit nie in Betracht gezogen wurde. Es ist erstaunlich, dass es immer noch in öffentlichen Netzwerken verwendet wird.
John Gardeniers

1
Einige mögen argumentieren, dass FTP überhaupt nicht entwickelt wurde, sondern durch gute Ideen von verschiedenen Personen entwickelt wurde, die Software für den Dateitransfer entwickelten, lange bevor die Schließung zu einer beobachtbaren Eigenschaft für Netzwerke wurde, als die Zugangskontrolle mit verschlossenen Türen und wütenden Blicken passierte.
Eroen

Antworten:


7

Proftpd verfügt über einen integrierten SFTP-Server, mit dem Sie Benutzer für Dateiübertragungen vollständig von sshd trennen können. Sie können es so einrichten, dass es eine vollständig separate passwd-Datei verwendet, um sie noch weiter zu isolieren (es ist schwierig, sich mit ssh bei einem System anzumelden und eine Chroot zu durchbrechen, wenn Sie keinen Benutzer in / etc / passwd haben. .)

Mit proftpd können Sie den sftp-Benutzer auch ganz einfach in eine Reihe von Verzeichnissen einbinden und isolieren.

Wir machen so etwas:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>

1
Um dem Neuling zu helfen, wenn das OP Hilfe beim Einrichten benötigt, habe ich hier ein grundlegendes Tutorial: csrdu.org/nauman/2011/02/13/…
recluze

3

Ich würde WebDav mit einem https-fähigen Server verwenden! Die Authentifizierung basiert dann auf dem Standard-http-Autorisierungsschema. Eine Anleitung zum Einrichten von Webdav mit Apache finden Sie hier. Es ist dann nur erforderlich, diese Ressource hinter https zu setzen, und hier habe ich eine nette Beschreibung gefunden, wie man das macht .


In Anbetracht der hier verwendeten Sprache könnten Sie zumindest eine englische Version des Artikels verlinkt haben.
John Gardeniers

haha sorry habe diesen fehler nicht gemerkt. Danke für die Korrektur!
Joecks

1

Sie haben nicht "kostenlos" als Voraussetzung angegeben, deshalb werde ich das Mass Transit-Paket von grouplogic rausschmeißen. Es ist wahrscheinlich ein bisschen übertrieben für die meisten Leute und außerhalb ihrer Preisklasse, aber die Feature-Suite ist einfach nur fantastisch. Besorgen Sie sich einen zweiten Mass Transit-Server und bringen Sie die Automatisierung in Schwung, und Sie verschieben einige Dateien sehr schnell.


0

Sie können Setup , sftpdass Anwendungen sshin einem Modus ähnlich wie ftp.

Sie können einige Benutzer (einer oder mehrere, abhängig davon, ob jeder Benutzer auf die Dateien des anderen zugreifen darf oder nicht) auf Ihrem Computer erstellen, ihnen shell / bin / false und chrootjedem Benutzer ein Verzeichnis zuweisen, in dem sich diese Dateien befinden sollen platziert.


0

Sie können pure-ftpd mit aktivierter TLS-Verschlüsselung verwenden. Die Konfiguration ist sehr einfach. Aktivieren Sie die TLS-Option zum Entfernen von Verschlüsselungskommentaren in der Konfigurationsdatei (nur eine Zeile :), konfigurieren Sie Ihre Clients für die Verbindung über FTP und fertig. (Sie müssen bedenken, dass nicht alle FTP-Clients FTP unterstützen).


-1

Sie können Up- und Downloads mit rsync über ssh aktivieren, ohne dass Sie sich anmelden müssen, indem Sie rsync als Anmeldeshell für den Benutzer festlegen. Dies aktiviert alle Vorteile von ssh, einschließlich der Zertifikatsanmeldungen, der Verschlüsselung und der standardmäßigen Dateisystemberechtigungen, während Shell-Konten nicht aktiviert werden (da das Konto keine Shell hat, sondern rsync =).


Und wie wäre das sicherer? Noch Klartext ...
EEAA

Das hängt davon ab, wie Sie es einrichten. Die übliche Methode (wie ich sie bisher nur gesehen habe) ist die Verwendung von ssh und die Einstellung von rsync als Anmeldeshell oder (für den Root-Zugriff) befehlsspezifische ssh-Zertifikate.
Eroen

1
Rsync hat beim Ausführen eines Dienstes (wie Sie in Ihrer Antwort empfehlen) keine Verschlüsselung. Das ist bei rsync + ssh natürlich nicht der Fall. Sie können Ihre Antwort bearbeiten, um Ihre Bedeutung klarer zu machen.
EEAA am

Es sind Änderungen eingetreten (falls jemand die obigen Kommentare für unpassend hält).
Eroen

Obwohl es nicht darum gebeten wurde, ist es auch erwähnenswert, dass ich persönlich keine Schnittstelle für rsync kenne, obwohl es eine Reihe von benutzerfreundlichen Schnittstellen für FTP und FTP-ähnliche Protokolle gibt. Wenn die beabsichtigten Benutzer nicht technisch sind, kann dies ein Problem sein.
John Gardeniers
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.