So installieren und konfigurieren Sie den FTP -Server in Ubuntu

So installieren und konfigurieren Sie den FTP -Server in Ubuntu

Ftp (Dateiübertragungsprotokoll) ist ein relativ altes und am meisten verwendeten Standard -Netzwerkprotokoll, das zum Hochladen/Herunterladen von Dateien zwischen zwei Computern über ein Netzwerk verwendet wird. Jedoch, Ftp durch seine ursprüngliche Unsicherheit, da es Daten zusammen mit Benutzeranmeldeinformationen (Benutzername und Passwort) ohne Verschlüsselung überträgt.

Warnung: Wenn Sie vorhaben zu verwenden Ftp, Überlegen Sie die Konfiguration der FTP -Verbindung mit SSL/TLS (wird im nächsten Artikel abdecken). Ansonsten ist es immer besser, sichere FTP wie SFTP zu verwenden.

Vorgeschlagene Lesen: So installieren und sichern Sie den FTP -Server in CentOS 7

In diesem Tutorial zeigen wir, wie Sie a installieren, konfigurieren und sichern können Ftp Server (Vsftpd in vollem “Sehr sicherer FTP -Daemon") In Ubuntu Eine starke Sicherheit gegen FTP -Schwachstellen zu haben.

Schritt 1: Installieren von VSFTP -Server in Ubuntu

1. Zuerst müssen wir die Liste der Systempaketquellen aktualisieren und dann installieren Vsftpd Binärpaket wie folgt:

$ sudo apt-Get Update $ sudo apt-Get Install VSFTPD 

2. Sobald die Installation abgeschlossen ist, wird der Dienst zunächst deaktiviert. Daher müssen wir ihn für die mittlere Zeit manuell starten und ihn auch ermöglichen, automatisch vom nächsten Systemstart zu starten:

------------- Auf systemd ------------- # Systemctl Start VSFTPD # SystemCTL aktivieren VSFTPD ------------- Auf sysvinit ------------- # Service VSFTPD START # CHKCONfig -Level 35 VSFTPD ON 

3. Wenn Sie als nächstes auf dem Server UFW Firewall aktiviert haben (es ist standardmäßig nicht aktiviert), müssen Sie Ports öffnen 21 Und 20 Wo die FTP -Daemons zuhören, um den Zugriff auf FTP -Dienste von Remote -Maschinen zu ermöglichen, fügen Sie die neuen Firewall -Regeln wie folgt hinzu:

$ sudo ufw erlauben 20/tcp $ sudo ufw erlauben 21/tcp $ sudo ufw Status 

Schritt 2: Konfigurieren und Sicherung des VSFTP -Servers in Ubuntu

4. Führen wir nun einige Konfigurationen aus, um unseren FTP -Server einzurichten und zu sichern. Zuerst erstellen wir eine Sicherung der ursprünglichen Konfigurationsdatei /etc/vsftpd/vsftpd.Conf Like SO:

$ sudo cp /etc /vsftpd.conf /etc /vsftpd.Conf.orig 

Als nächstes öffnen wir das vsftpd Konfigurationsdatei.

$ sudo vi /etc /vsftpd.conf oder $ sudo nano /etc /vsftpd.Conf 

Fügen Sie die folgenden Optionen mit diesen Werten hinzu/ändern Sie die folgenden Optionen:

anonymous_enable = no # Deaktivieren Sie Anonymous Login local_enable = yes # erlauben lokale Logins write_enable = yes # Aktivieren Sie FTP -Befehle, mit denen das Dateisystem local_umask = 022 # Wert von UMask für die Dateierstellung für lokale Benutzer Dirmessage_Enable = Ja # Aktivieren von Botschaften aktivieren können, wenn Benutzer zuerst eingeben. Ein neues Verzeichnis xferlog_enable = yes # Eine Protokolldatei wird detaillierte Uploads und Downloads Connect_From_Port_20 = Ja # Verwenden Sie Port 20 (FTP-DATA) auf dem Servermaschine für Portstil-Verbindungen XFERLOG_STD_FORMAT = yes # # Standard-Log-Datei Format Hören = Nein # # # # VSFTPD verhindern, dass VSFTPD im Standalone -Modus ausführt # Schalten Sie TCP -Wrapper ein 

5. Konfigurieren Sie nun Vsftpd So erlauben/verweigern Sie Benutzer den Benutzer auf die Benutzerlistendatei auf Benutzer Zugriff /etc/vsftpd.Benutzerliste.

Beachten Sie, dass die Benutzer standardmäßig in aufgeführte Benutzer aufgeführt sind Benutzerlist_file =/etc/vsftpd.Benutzerliste werden an den Anmeldungszugriff mit verweigert userlist_deny = yes Option wenn userlist_enable = yes.

Aber die Option userlist_deny = nr Dreht die Bedeutung der Standardeinstellung, sodass nur Benutzer, deren Benutzername ausdrücklich in aufgeführt ist Benutzerlist_file =/etc/vsftpd.Benutzerliste kann sich beim FTP -Server anmelden.

userlist_enable = yes # vsftpd lädt eine Liste von Benutzernamen aus dem Dateinamen von userlist_file userlist_file =/etc/vsftpd.Benutzerliste # speichert Benutzernamen. userlist_deny = nr 

Wichtig: Wenn sich Benutzer beim FTP -Server anmelden, werden sie in ein chroses Gefängnis platziert. Dies ist das lokale Root -Verzeichnis, das nur als Heimverzeichnis für die FTP -Sitzung fungiert.

Als nächstes werden wir uns zwei mögliche Szenarien ansehen.

6. Fügen wir diese beiden folgenden Optionen an diesem Punkt hinzu, um FTP -Benutzer auf ihre Heimverzeichnisse zu beschränken/zu ändern/zu übernehmen.

CHROOT_LOCAL_USER = JA ZEIN ADGE_WRITEABLE_CHROOT = JA 

Die Option chroot_local_user = ja Wichtig ist, dass lokale Benutzer in einem Chroot -Gefängnis, ihrem Heimverzeichnis standardmäßig nach dem Anmeldung.

Und wir müssen auch verstehen, dass VSFTPD das Chroot -Gefängnisverzeichnis nicht aus Sicherheitsgründen beschreibbar ist. Wir können die Option jedoch verwenden degly_writable_chroot = yes Um diese Einstellung zu deaktivieren.

Speichern Sie die Datei und schließen Sie sie. Dann müssen wir VSFTPD -Dienste neu starten, damit die oben genannten Änderungen wirksam werden:

------------- Auf systemd ------------- # Systemctl Neustart VSFTPD ------------- Auf sysvinit ------------- # Service VSFTPD Neustart 

Schritt 3: Testen des VSFTP -Servers in Ubuntu

7. Jetzt testen wir den FTP -Server, indem wir einen FTP -Benutzer mit dem Befehl userAdd wie folgt erstellen:

$ sudo userAdd -m -c "Aaron Kili, Mitwirkende" -S /Bin /Bash Aaronkilik $ sudo Passwd Aaronkilik 

Dann müssen wir den Benutzer explizit auflisten Aaronkilik in der Datei /etc/vsftpd.Benutzerliste mit dem Echo -Befehl und TEE -Befehl wie nachstehend:

$ echo "Aaronkilik" | sudo tee -a /etc /vsftpd.Benutzerliste $ cat /etc /vsftpd.Benutzerliste 

8. Jetzt ist es an der Zeit, unsere oben genannten Konfigurationen nach Bedarf zu testen. Wir werden zunächst anonyme Anmeldungen testen. Aus der folgenden Ausgabe können wir deutlich erkennen, dass anonyme Anmeldungen auf dem FTP -Server nicht zulässig sind:

# FTP 192.168.56.102 Verbunden mit 192.168.56.102 (192.168.56.102). 220 Willkommen bei Tecmint.Com FTP -Service. Name (192.168.56.102: Aaronkilik): Anonymous 530 Erlaubnis abgelehnt. Fehler bei der Anmeldung. ftp> tschüss 221 Auf Wiedersehen. 

9. Lassen Sie uns als nächstes testen, ob ein Benutzer, der nicht in der Datei aufgeführt ist /etc/vsftpd.Benutzerliste Erteilt die Erlaubnis zur Anmeldung, was nicht aus der folgenden Ausgabe gilt:

# FTP 192.168.56.102 Verbunden mit 192.168.56.102 (192.168.56.102). 220 Willkommen bei Tecmint.Com FTP -Service. Name (192.168.56.10: root): user1 530 Berechtigung abgelehnt. Fehler bei der Anmeldung. ftp> tschüss 221 Auf Wiedersehen. 

10. Jetzt werden wir einen endgültigen Test durchführen, um festzustellen, ob ein in der Datei aufgeführter Benutzer aufgeführt ist /etc/vsftpd.Benutzerliste, wird tatsächlich nach dem Login in sein Heimverzeichnis platziert. Und dies gilt aus der folgenden Ausgabe:

# FTP 192.168.56.102 Verbunden mit 192.168.56.102 (192.168.56.102). 220 Willkommen bei Tecmint.Com FTP -Service. Name (192.168.56.102: Aaronkilik): Aaronkilik 331 Bitte geben Sie das Passwort an. Passwort: 230 erfolgreich anmelden. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. ftp> ls 
Überprüfen Sie die FTP -Login in Ubuntu

Warnung: Einstellen der Option degly_writable_chroot = yes Kann so gefährlich sein, dass es mögliche Sicherheitsauswirkungen hat, insbesondere wenn die Benutzer die Berechtigung zum Hochladen haben, oder mehr, Shell Access. Verwenden Sie es nur, wenn Sie genau wissen, was Sie tun.

Wir sollten beachten, dass diese Sicherheitsauswirkungen nicht spezifisch für VSFTPD sind. Sie können auch alle anderen FTP -Dämonen beeinflussen, die dazu anbieten, lokale Benutzer in Chroot -Gefängnisse zu versetzen.

Aus diesem Grund erklären wir im folgenden Abschnitt eine sichere Methode, um ein anderes nicht geschriebenes lokales Root-Verzeichnis für einen Benutzer festzulegen.

Schritt 4: Konfigurieren Sie FTP -Benutzer -Home -Verzeichnisse in Ubuntu

11. Öffnen Sie nun die VSFTPD -Konfigurationsdatei noch einmal Zeit.

$ sudo vi /etc /vsftpd.conf oder $ sudo nano /etc /vsftpd.Conf 

und kommentieren Sie die unsichere Option mit der # Zeichen wie unten gezeigt:

#erlauben_writable_chroot = ja 

Erstellen Sie als nächstes das alternative lokale Stammverzeichnis für den Benutzer (Aaronkilik, Ihr ist möglicherweise nicht dasselbe) und setzen Sie die erforderlichen Berechtigungen fest, indem Sie alle anderen Benutzer in diesem Verzeichnis Schreibberechtigungen deaktivieren:

$ sudo mkdir/home/aaronkilik/ftp $ sudo chown NO 

12. Erstellen Sie dann ein Verzeichnis unter dem lokalen Stamm mit den entsprechenden Berechtigungen, in denen der Benutzer seine Dateien speichert:

$ sudo mkdir /home/aaronkilik/ftp/files $ sudo chown -R aaronkilk:aaronkilik /home/aaronkilik/ftp/files $ sudo chmod -R 0770 /home/aaronkilik/ftp/files/ 

Fügen Sie anschließend die folgenden Optionen in der VSFTPD -Konfigurationsdatei mit ihren entsprechenden Werten hinzu:

user_sub_token = $ user # fügt den Benutzernamen in das lokale Root -Verzeichnis local_root =/home/$ user/ftp # ein definiert ein lokales Root -Verzeichnis von Benutzern 

Speichern Sie die Datei und schließen Sie sie. Und starten Sie die VSFTPD -Dienste mit den jüngsten Einstellungen neu:

------------- Auf systemd ------------- # Systemctl Neustart VSFTPD ------------- Auf sysvinit ------------- # Service VSFTPD Neustart 

13. Lassen Sie uns nun einen endgültigen Scheck durchführen und sicherstellen, dass das lokale Root -Verzeichnis des Benutzers das FTP -Verzeichnis ist, das wir in seinem Heimverzeichnis erstellt haben.

# FTP 192.168.56.102 Verbunden mit 192.168.56.102 (192.168.56.102). 220 Willkommen bei Tecmint.Com FTP -Service. Name (192.168.56.10: Aaronkilik): Aaronkilik 331 Bitte geben Sie das Passwort an. Passwort: 230 erfolgreich anmelden. Remote -Systemtyp ist Unix. Verwenden des Binärmodus, um Dateien zu übertragen. ftp> ls 
FTP User Home Directory Login

Das ist es! Denken Sie daran, Ihre Meinung zu diesem Leitfaden über das folgende Kommentarformular zu teilen oder uns möglicherweise wichtige Informationen zum Thema zu geben.

Verpassen Sie unseren nächsten Artikel, in dem wir beschreiben, wie Sie einen FTP -Server mithilfe von SSL/TLS -Verbindungen in Ubuntu 16 erhalten können.04/16.10, bis dahin bleiben immer bis tecmint abgestimmt.