FTP-Server Installation mit VSFTPD

5
(1)

FTP-Server Installation mit VSFTPD und Absicherung mit Fail2ban

Very Secure File Transfer Protocol Deamon (VSFTPD), wie uns das gleichnamige Dienstprogramm verspricht, ist VSFTPD ein sicherer FTP-Daemon, dieser als Standard-FTP-Server von den meisten Linux Distributionen verwendet wird, so in Debian, Ubuntu, CentOS, Fedora, RHEL und weiteren mehr. VSFTPD ist ein stabiler FTP-Server dieser unter der GNU General Public License autorisiert ist. VSFTPD wurde entwickelt für eine sichere und einfache Unterstützung virtueller Clients mit PAM (Pluggable Authentication Modules). In diesem Tutorial wird gezeigt, wie man VSFTPD installiert und mit Fail2ban auf Debian 10 (buster) oder anderen Linux Versionen implementiert. Fail2ban ist ein in Python geschriebenes Intrusion Prevention System, das auf jedem Linux Betriebssystem läuft, dieses eine manipulierbare Firewall beinhaltet.

INSTALLATION

Unter Debian und Ubuntu wird VSFTPD mit dem apt Paket Manager aus dem Standard Repository installiert.

Bei CentOS und RHEL wird VSFTPD mit YUM installiert.

Nach der Installation geht’s zur Konfiguration von VSFTPD.

Bei CentOS / RHEL / Fedora ist vsftpd.conf unter /etc/vsftpd.

  Wer nicht mit VIM arbeitet, kann mit nano oder ne editieren.

Wir deaktivieren die anonyme Anmeldung und erlauben lokalen Benutzern zu schreiben.

chroot für FTP Benutzer

chroot steht für change root und ist eine Funktion für Unixoide Systeme, um das Rootverzeichnis zu ändern. chroot wirkt sich nur auf den aktuellen Prozess und seine Child-Prozesse aus, es ist ein einfacher Jail-Mechanismus in dem das FTP-Dienstprogramm verhindert das Benutzer auf Dateien ausserhalb seines Verzeichnisses zugreifen können. chroot bietet auch eine einfache Möglichkeit, nicht vertrauenswürdige Daten in eine Sandbox zu versetzen. Die chroot Einstellungen für VSFTPD Benutzer findet man in der Datei vsftpd.conf bei Zeile chroot_local_user und ändere dort auf YES, so auch bei chroot_list_enable.

Alle Benutzer werden chroot zugeteilt, bis auf einige die befreit sind, dazu wird die Datei /etc/vsftpd.chroot_list erstellt, diese Benutzer enthält, die von chroot ausgeschlossen werden.

  CentOS / RHEL Pfad /etc/vsftpd/vsftpd.chroot_list

Um für bestimmte Benutzer die Anmeldung ganz zu verweigern, fügen wir der Datei vsftpd.conf folgende Zeilen hinzu.

Erstelle eine Datei vsftpd.userlist und füge Benutzer hinzu diese abgeleht werden sollen. Abgelehnt werden sollten die Service Accounts, da diese gerne für Angriffe genutzt werden. Benutzer pro Zeile hinzufügen, Beispiel: vsftpd.userlist

SFTP verschlüsselte Authentifizierung

Damit Passwörter nicht im Klartext gesendet werden, diese Optionen zur Konfigurationsdatei hinzufügen, einige davon sind bereits verhanden, überprüfe diese und ändere ggf. die Optionen.

Anmerkung: Wird der SSH Server auf dem System ausgeführt, muss beachtet werden, das per Standard SFTP durch den SSH Daemon bereits ausgeführt wird, deshalb die Datei /etc/ssh/sshd_config überprüfen.

TIP! Weitere empfohlene VSFTPD Einstellungen

VSFTPD Schutz mit Fail2ban

Um den FTP-Server vor Brute-Force Angriffe zu schützen, wird Fail2ban (Fehlschlag führt zum Bann) für VSFTPD aktiviert. Bei einer definierten Anzahl fehlgeschlagener Anmeldeversuche, wird der verdächtige Host für eine bestimmte Zeit gesperrt. Fail2ban liest die Anmeldeversuche aus den Logdateien. Hierzu wird Fail2ban auf dem FTP-Server installiert.

Für Fail2ban und VSFTPD die Datei jail.local erstellen, falls nicht bereits vorhanden.

  Weiter kann die Datei jail.conf kopiert werden, oder es werden einzelne Blöcke der Services in jail.local hinzugefügt.

Der Fail2ban Filter für VSFTPD enthält die Datei unter /etc/fail2ban/filter.d/vsftpd.conf

  Im Standard wird /var/log/vsftpd.log ausgelesen, was mit der Variable %(vsftpd_log)s vordefiniert ist.

Für die funktionsweise von Fail2ban sind die Logs von bedeutung. Der FTP-Server (VSFTPD) protokolliert in der Logdatei /var/log/vsftpd.log. Fail2ban ist flexibel und kann für die meisten Anforderungen angepasst werden, wird zusätzlich ein weiteres Diensprogramm eingesetzt, dieses xferlog voraussetzt, kann mit dual_log_enable=YES in beide Logdateien protokolliert werden.

Um änderungen von Fail2ban zu übernehmen, muss der Daemon neu gestartet werden.

Die von Fail2ban gesperrten IP Adressen können überprüft werden, hier als root mit folgendem fail2ban-client Kommando.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 1

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.