So richten Sie einen Linux-FTP-Server für schnelle Dateiübertragungen ein

0
132

FTP oder File Transfer Protocol ist ein Standardprotokoll zum Senden und Empfangen Dateien von entfernten Servern. Es ist einfacher zu verwenden als Befehlszeilenalternativen wie scp, insbesondere mit GUI-Schnittstellen wie FileZilla.

Was ist FTP?

< p>In den alten Tagen des Internets waren öffentliche FTP-Server ein weit verbreitetes Mittel, um Dateien für eine große Anzahl von Personen verfügbar zu machen. Heute gibt es FTP noch immer und wird häufig für Verwaltungsaufgaben verwendet.

Während eine Art von FTP-CLI mit den meisten gängigen Betriebssystemen ausgeliefert wird, machen GUI-Clients wie FileZilla das Verschieben von Dateien zwischen Servern so einfach wie das Ziehen und Ablegen vom lokalen Speicher auf den Remote-Speicher oder umgekehrt. Der gesamte zugrunde liegende Datenverkehr wird über FTP abgewickelt.

Einstellung up erfordert die Installation und Konfiguration eines FTP-Servers wie vsftpd auf dem Remote-Rechner, auf den Sie zugreifen möchten.

Beachten Sie, dass über FTP angemeldete Benutzer genauso wie Sie Zugriff auf Ihr System haben. Es gibt Schritte, die Sie unternehmen können, um diese Risiken zu mindern, wie z. B. den Zugriff auf die Whitelist und das Sperren von Benutzern für ihre Home-Verzeichnisse.

Installation von vsftpd

Installieren Sie zunächst vsftpd über den Paketmanager Ihrer Distribution. Für Debian-basierte Systeme wie Ubuntu wäre das von apt:

sudo apt-get install vsftpd Werbung

Als Nächstes müssen Sie den Dienst starten und so einstellen, dass er beim Booten ausgeführt wird:

systemctl start vsftpd systemctl enable vsftpd

FTP hat zwei primäre Authentifizierungsmethoden:

    < li>Anonymous FTP, bei dem sich jeder ohne Passwort anmelden kann. Dies wird für die öffentliche Dateifreigabe verwendet und ist standardmäßig deaktiviert.
  • Lokale Benutzeranmeldung, die es jedem Benutzer in /etc/passwd ermöglicht, mit einem Benutzernamen und einem Passwort auf FTP zuzugreifen.

Sie möchten wahrscheinlich die lokale Benutzeranmeldung aktivieren und den anonymen Zugriff deaktiviert lassen. Wenn Sie sich mit Ihrem Benutzerkonto bei FTP anmelden, haben Sie Zugriff auf alles, worauf Ihr Konto zugreifen kann.

Öffnen Sie /etc/vsftpd.conf in Ihrem bevorzugten Texteditor und ändern Sie die folgende Zeile in JA:

local_enable=YES

Wenn Sie Dateien hochladen möchten, ändern Sie auch write_enable in YES:

write_enable=YES

Mit einem Neustart von vsftpd (systemctl restart vsftpd) sollten Sie jetzt in der Lage sein um sich mit einem Client wie FileZilla oder der CLI auf Ihrem persönlichen Computer bei FTP anzumelden.

Werbung

Wenn Sie FTP nur für bestimmte Benutzer aktivieren möchten, können Sie den Zugriff auf die Whitelist setzen. Öffnen Sie /etc/vsftpd.userlist und fügen Sie die Namen jedes Kontos, das Sie aktivieren möchten, in separate Zeilen ein.

nano /etc/vsftpd.userlist

Fügen Sie dann die folgenden Zeilen zu /etc/vsftpd hinzu. conf:

userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO

Dadurch wird der Zugriff nur auf die in der userlist-Datei definierten Benutzer beschränkt und allen anderen verweigert.

Wenn Sie nicht möchten, dass Benutzer auf Dateien außerhalb ihres Home-Verzeichnisses zugreifen, können Sie sie in einem Chroot-Gefängnis platzieren, das sie daran hindert, mit Verzeichnissen der höheren Ebene zu interagieren. Sie können dies aktivieren, indem Sie die folgende Zeile in /etc/vsftpd.conf auskommentieren:

chroot_local_user=YES

Neustart vsftpd with systemctl restart vsftpd um die Änderungen zu übernehmen.

Einrichten von FTPS

Standard-FTP-Datenverkehr wird unverschlüsselt wie HTTP gesendet. Dies ist offensichtlich nicht großartig, daher sollten Sie vsftpd konfigurieren, um den Datenverkehr mit TLS zu verschlüsseln.

Generieren Sie dazu einen neuen Schlüssel und signieren Sie eine Anfrage mit openssl:

openssl genrsa -des3 -out FTP.key openssl req -new -key FTP.key -out certificate.csr

vsftpd muss das Passwort entfernt werden von diesem Schlüssel kopieren, also kopieren Sie den Schlüssel und übergeben Sie ihn an openssl:

cp FTP.key FTP.key.orig openssl rsa -in FTP.key.orig -out ftp.key

Generieren Sie zum Schluss ein TLS Zertifikat mit diesem Schlüssel:

openssl x509 -req -days 365 -in certificate.csr -signkey ftp.key -out mycertificate.crt

Kopieren Sie den Schlüssel und das Zertifikat nach /etc/pki/tls/certs/:

cp ftp.key /etc/pki/tls/certs/cp mycertificate.crt /etc/pki/tls/certs Werbung

Jetzt, wo alle Zertifikate eingerichtet sind, kannst du es wieder tun öffne /etc/vsftpd.conf und füge die folgenden Zeilen hinzu:

ssl_enable=YES allow_anon_ssl=YES ssl_tlsv1=YES ssl_sslv2=NEIN ssl_sslv3=NEIN rsa_cert_file=/etc/prt//mycertls/certates /etc/pki/tls/certs/ftp.key ssl_ciphers=HIGH require_ssl_reuse=NO

Neustart vsftpd mit systemctl restart vsftpd um das anzuwenden Änderungen.