NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Linuxtopia - CentOS Enterprise Linux Sicherheitshandbuch - Sicherung von FTP
Das File Transport Protocol oder 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.
gssftpd — Ein f�r Kerberos aktivierter, xinetd-basierter FTP-Daemon, der keine Authentifizierungsinformationen �ber das Netzwerk �bertr�gt.
Red Hat Content Accelerator (tux) — Ein Kernel-Space Webserver mit FTP F�higkeiten.
vsftpd — Eine einzelstehende, sicherheitsorientierte Implementierung des FTP-Dienstes.
Die folgenden Sicherheitsrichtlinien gelten f�r das Einrichten des vsftpd-FTP-Dienstes.
5.6.1. FTP-Gru�banner
Bevor der Benutzername und das Passwort eingereicht 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.#
####################################################
Hinweis
Es ist nicht n�tig, jede Zeile der Datei mit 220, wie in Abschnitt 5.1.1.1 beschrieben, zu beginnen.
Um auf diese Gru�bannerdatei f�r vsftpd zu referenzieren, 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 Wrappern 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 lediglich Lese-Berechtigungen f�r Verzeichnisse.
Standardm��ig k�nnen anonyme Benutzer nicht in Verzeichnisse schreiben.
Vorsicht
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 nur mit 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
Achtung
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 Dienstes direkt zu deaktivieren.
Um bestimmte Benutzeraccounts in vsftpd zu deaktivieren, f�gen Sie den Benutzernamen zu /etc/vsftpd.ftpusers hinzu.
5.6.4. TCP Wrapper f�r die Zugriffskontrolle
Sie k�nnen TCP Wrapper f�r die Zugriffskontrolle zu den FTP-Daemons wie unter Abschnitt 5.1.1 beschrieben einsetzen.