5.6. Sicherung von FTP

Das File Transport Protocol (FTP) ist ein älteres TCP-Protokoll, das zum Übertragen von Dateien über ein Netzwerk entwickelt wurde. Da alle Transaktionen mit dem Server, einschließlich der Benutzerauthentifizierung, unverschlüsselt ablaufen, wird es als ein unsicheres Protokoll betrachtet und sollte sorgfältig konfiguriert werden.

Red Hat Enterprise Linux bietet drei FTP-Server.

Die folgenden Sicherheitsrichtlinien gelten für das Einrichten des vsftpd-FTP-services.

5.6.1. FTP-Grußbanner

Bevor der Benutzername und das Passwort eingegeben werden, erhalten alle Benutzer ein Grußbanner. Standardmäßig enthält dieses Banner Versionsinformationen, die für Cracker nützlich sein können, die Schwachstellen in einem System herausfinden wollen.

Um dieses Grußbanner für vsftpd zu ändern, fügen Sie die folgende Direktive zu /etc/vsftpd/vsftpd.conf hinzu:

ftpd_banner=<insert_greeting_here>

Ersetzen Sie <insert_greeting_here> in der obigen Direktive durch den Text Ihrer Begrüßung.

Für mehrzeilige Banner ist es ratsam, eine Bannerdatei zu verwenden. Um die Verwaltung von mehreren Bannern zu vereinfachen, speichern Sie alle Banner in einem neuen Verzeichnis mit dem Namen /etc/banners/. Die Bannerdatei für FTP-Verbindungen in diesem Beispiel ist /etc/banners/ftp.msg. Das untenstehende Beispiel zeigt, wie eine derartige Datei assehen kann:

####################################################
# Hello, all activity on ftp.example.com is logged.#
####################################################

AnmerkungHinweis
 

Es ist nicht nötig, jede Zeile der Datei mit 220, wie in Abschnitt 5.1.1.1 beschrieben, zu beginnen.

Um diese Grußbannerdatei für vsftpd festzulegen, fügen Sie folgende Direktive zu /etc/vsftpd/vsftpd.conf hinzu:

banner_file=/etc/banners/ftp.msg

Es ist auch möglich, zusätzliche Banner für eingehende Verbindungen mittels TCP Wrappers zu senden. Dies wird unter Abschnitt 5.1.1.1 beschrieben.

5.6.2. Anonymer Zugang

Das Vorhandensein des /var/ftp/-Verzeichnisses aktiviert das anonyme Account.

Der einfachste Weg, dieses Verzeichnis zu erstellen, ist durch die Installation des vsftpd-Pakets. Dieses Paket erstellt einen Verzeichnisbaum für anonyme Benutzer und vergibt anonymen Benutzern Nur-Lese-Berechtigungen für Verzeichnisse.

Standardmäßig können anonyme Benutzer nicht in Verzeichnisse schreiben.

AchtungVorsicht
 

Wenn Sie einen anonymen Zugang zu FTP-Servern zulassen, sollten Sie darauf achten, wo Sie empfindliche Daten speichern.

5.6.2.1. Anonymes Hochladen

Wenn Sie anonymen Benutzern erlauben möchten, Dateien hochzuladen, wird empfohlen, ein Verzeichnis mit Nur-Schreibberechtigung innerhalb von /var/ftp/pub/ anzulegen.

Hierfür geben Sie folgendes ein:

mkdir /var/ftp/pub/upload

Ändern Sie dann wie folgt die Berechtigungen, so dass anonyme Benutzer nicht sehen können, was sich innerhalb des Verzeichnisses befindet:

chmod 730 /var/ftp/pub/upload

Eine detaillierte Auflistung des Verzeichnisses sollte wie folgt aussehen:

drwx-wx---    2 root     ftp          4096 Feb 13 20:05 upload

WarnungAchtung
 

Administratoren, die anonymen Benutzern Lese- und Schreibberechtigungen für Verzeichnisse geben, stellen häufig fest, dass ihr Server dann zu einer Fundgrube gestohlener Software wird.

Fügen Sie zusätzlich unter vsftpd die folgende Zeile in die Datei /etc/vsftpd/vsftpd.conf ein:

anon_upload_enable=YES

5.6.3. Benutzeraccounts

Da FTP unverschlüsselt Benutzernamen und Passwörter über unsichere Netzwerke zur Authentifizierung überträgt, ist es ratsam, Systembenutzerzugang zum Server von den Benutzeraccounts aus zu verbieten.

Um Benutzeraccounts in vsftpd zu deaktivieren, fügen Sie die folgende Direktive zu /etc/vsftpd/vsftpd.conf hinzu:

local_enable=NO

5.6.3.1. Benutzeraccounts einschränken

Der einfachste Weg, eine bestimmte Gruppe von Accounts, wie den Root-Benutzer und solche mit sudo-Berechtigungen, am Zugriff auf den FTP-Server zu hindern, ist durch eine PAM-Liste, wie unter Abschnitt 4.4.2.4 beschrieben. Die PAM-Konfigurationsdatei für vsftpd ist /etc/pam.d/vsftpd.

Es ist auch möglich, Benutzeraccounts innerhalb jeden Services direkt zu deaktivieren.

Um bestimmte Benutzeraccounts in vsftpd zu deaktivieren, fügen Sie den Benutzernamen zu /etc/vsftpd.ftpusers hinzu.

5.6.4. TCP Wrappers für die Zugriffskontrolle

Sie können TCP Wrappers für die Zugriffskontrolle zu den FTP-Daemons wie unter Abschnitt 5.1.1 beschrieben einsetzen.