Druckversion | ||||||||||||||||||||
AllgemeinesVery Secure im Namen des FTP-Servers unterstreicht das Anliegen der Entwickler, bei Design und Implementierung die Sicherheit zum obersten Prinzip zu erheben. Der Einsatz des Servers ist zwar keine Garantie für absolute Sicherheit. Bislang jedoch sind keine gravierenden Sicherheitslücken des Vsftpd bekannt geworden. Das recht einfache Aufsetzen des Servers und nicht zuletzt seine gute Skalierbarkeit und Geschwindigkeit prädistenieren den Server für den Einsatz als FTP-Server in kleinen und mittleren Netzwerken. KonfigurationDie allgemeine Konfiguration des Daemons erfolgt in der Datei /etc/vsftpd.conf. Belange der Sicherheit werden bei Verwendung von Pluggable Authentication Modules in der Datei /etc/pam.d/vsftpd eingestellt. Die Datei /etc/vsftpd.confMit dem Doppelkreuz beginnende Zeilen der Konfigurationsdatei sind Kommentare. Einträge besitzen stets die Form:
Boolsche Optionen kennen den Status YES (aktiviert) und NO (deaktiviert). Ist eine solche
Option nicht explizit aufgeführt, gilt ihr voreingestellter Wert. anon_mkdir_write_enable (NO)
Gestattet dem anonymen Zugang das Anlegen neuer Verzeichnisse. Hierzu müssen sowohl
write_enable aktiviert als auch die entsprechenden Rechte im übergeordneten Verzeichnis
entsprechend gesetzt sein.
anon_other_write_enable (NO) Umbenennen und Löschen von Dateien/Verzeichnissen ist auch den anonymen Benutzern möglich.
anon_upload_enable (NO)
Gestattet dem anonymen Zugang das Hochladen neuer Dateien. Hierzu müssen sowohl
write_enable aktiviert als auch die entsprechenden Rechte im übergeordneten Verzeichnis
entsprechend gesetzt sein.
anon_world_readable_only (YES) Anonyme Benutzer dürfen nur Dateien runterladen, auf die »Leserechte für alle« bestehen.
anonymous_enable (NO) Ist diese Option gesetzt, ist der anonyme FTP-Zugang zugelassen.
chown_uploads (NO)
Hochgeladene Dateien gehören in edr Voreinstellung dem Benutzer, der das Hochladen vornahm.
Bei YES wird stattdessen der unter chown_username angebene Benutzer zum neuen
Eigentümer.
chroot_list_enable (NO)
Bei Aktivierung werden lokale Benutzer, die in einer Datei /etc/vsftp.chroot_list aufgeführt
sind, vom chroot-Wechsel in ihr Heimatverzeichnis ausgenommen (in Verbindung mit der Option
chroot_local_usr sinnvoll). Die zu verwendende Konfigurationsdatei kann mittels der Option
chroot_list_file geändert werden.
chroot_local_user (NO)
Steht die Option auf YES, landen lokale Benutzer nach der Anmeldung via chroot in
ihrem Homeverzeichnis. In der Voreinstellung verfügen die Benutzer den vollen Zugriff auf das
Dateisystem analog zur lokalen Anmeldung.
dirmessage_enable (NO)
Ist die Option aktiv, erhalten die Benutzer beim erstmaligen Wechsel in ein Verzeichnis den Inhalt der
Datei .message aus dem Verzeichnis (falls vorhanden) angezeigt. Der Name der anzuzeigenden Datei
ist über die Option message_file konfigurierbar.
guest_enable (NO)
Anonyme Anmeldungen werden bei aktivierter Option auf den in guest_username benannten Zugang gemappt.
listen (NO)
Die Option ist zu Setzen, wenn der FTP-Daemon nicht über einen der Internet-Daemonen
inetd oder xinetd gestartet wird.
Erst somit überwacht er selbstständig die Ports auf eintreffende Verbindungen.
local_enable (NO)
Erst bei Aktivierung dürfen sich lokale Benutzer (mit Zugang in der Datei
/etc/passwd) via FTP anmelden.
log_ftp_protocol (NO) Bei aktiver Option werden alle FTP-Anforderungen und -Antworten protokolliert.
port_enable (YES) text_userdb_names (NO) Eigentümer/Gruppen werden beim Dateilisting als Namen anstatt als numerische ID's dargestellt.
userlist_deny (YES)
Die Option ist nur bei gesetzem userlist_enable relevant. Dann wird lokalen Benutzern das
Anmelden nur ermöglicht, wenn sie explizit in der in userlist_file benannten Datei
aufgeführt sind.
userlist_enable (NO)
Bei Aktivierung ist das Anmelden nur für die localen Benutzer möglich, die in der in
userlist_file benannten Datei aufgeführt sind.
write_enable (NO) Bei Aktivierung sind FTP-Kommandos, die Änderungen am Dateisystem vornehmen, gestattet.
xferlog_enable (NO)
Ermöglicht die detaillierte Protokollierung von Downloads und Uploads. Die Daten landen in
der in xferlog_file benannten Datei (Voreinstellung /var/log/vsftpd.log).
Numerische Optionen konfigurieren im Wesentlichen das Timeout-Verhalten und die zu verwendenden Ports (Auswahl): accept_timeout (60)
Nach so vielen Sekunden nach Aufbau der Verbindung wird diese abgebrochen, falls der Client sich noch nicht authentifiziert hat.
anon_max_rate (0)
Anzahl Bytes pro Sekunde, mit denen Daten vom/zum anonymen Clients erfolgen. 0 bedeutet keine
Einschränkung der Transfergeschwindigkeit.
connect_timeout (60) Nach dieser Zeitspanne wird die Verbindung zu einem Client gekappt, falls keine Kommunikation stattfand.
data_connection_timeout (300)
Werden laufende Datenübertragungen unterbrochen, wird ein Client nach Ablauf dieser Zeitspanne automatisch rausgeworfen.
ftp_data_port (20) Der Datenport für die Datenübertragung.
idle_session_timeout (300)
Nach Ablauf dieser Zeit ohne jeglicher Kommunikation zwischen Server und Client wird die
Verbindung zum Client geschlossen.
local_max_rate (0) Analog zu annon_max_rate nur für lokale Benutzer.
max_clients (0)
Maximale Anzahl gleichzeitig akzeptierter Verbindungen. Nur im Stand-alone-Modus relevant.
0 bedeutet »unbegrenzt«.
Des Weiteren existieren eine Fülle von Zeichenkettenoptionen (Auswahl): anon_root (none)
Bei anonymen Zugang erfolgt eine Wechsel in das angegebene Verzeichnis (via chroot).
banner_file (none)
Wenn gesetzt, wird der Text der angegebenen Datei beim ersten Anmelden einen Clients angezeigt.
Ist die Option nicht aktiv, wird der unter ftpd_banner stehende Text zur Anzeige verwendet.
chown_username (root)
Der Eigentümer, dem hochgeladene Dateien anonymer Benutzer zugeordnet werden, insofern auch die
Option chown_uploads gesetzt ist.
chroot_list_file (/etc/vsftpd.chroot_list)
Existiert die angegebene Datei und sind die Optionen chroot_list_enable aktiv bzw.
chroot_local_user nicht aktiv, so werden die in der Datei benannten lokalen Benutzer via
chroot bei Anmeldung in ihr Heimatverzeichnis verbannt.
guest_username (ftp)
Der Benutzername für den anonymen Zugang, falls dieser auf ein spezielles »Gastlogin«
gemappt ist. Die Option wird nur betrachtet, wenn guest_enable gesetzt ist.
ftp_username (ftp)
Der Benutzername für den anonymen Zugang. Das Heimatverzeichnis ist i.d.R. ein spezielles
FTP-Verzeichnis, das mittels eines chroot-Umgebung betreten wird. Der Unterschied zum Gast-Zugang
(vergleiche guest_username) ist im Wesentlichen, das letzterer nicht zwingend in einer
chroot-Umgebung gefangen ist.
ftpd_banner (none)
Der Begrüßungstext bei erstmaligem FTP-Zugang. Ist die Option nicht gesetzt, wird ein
Vsftpd-eigener Text angezeigt.
listen_address (none)
Bei Rechnern mit mehreren Schnittstellen kann der Vsftpd engeweisen werden, eine andere als
die erste Schnittstelle auf einkommende Verbindungen zu überwachen. Einzutragen ist hier die
numerische IP-Adresse der zu überwachenden Schnittstelle.
local_root (none)
Wenn gesetzt, landen lokale Benutzer nach erfolgreicher Anmeldung in diesem Verzeichnis (sonst in
ihrem Heimatverzeichnis).
message_file (.message)
Der Inhalt dieser Datei wird angezeigt, wenn ein Verzeichnis erstmals betreten wird und eine solche
Datei dort existiert. Des Weiterin muss dirmessage_enable gesetzt sein.
pam_service_name (ftp)
Bezeichner, den der Vsftpd bei Verwendung der Pluggable Authentication Modules wählt.
user_config_dir (none)
Ermöglicht eine Benutzer abhängige Konfiguration. Existiert im angegebenen Verzeichnis
eine gleichnamige Datei wie ein sich anmeldender Benutzer(name), so gelten für dessen Zugang neben den
allgemein gesetzten alle darin aufgeführten Optionen. Die Benutzer spezifischen Optionen
überschreiben ggf. die globalen!
userlist_file (/etc/vsftpd.user_list) Siehe userlist_enable.
xferlog_file (/var/log/vsftpd.log) Protokolldatei für die Transferstatistik.
Eine typische Konfigurationsdatei für einen einfachen Server könnte folgende Optionen enthalten:
Die Datei /etc/pam.d/vsftpdWir verbleiben an dieser Stelle einzig bei einer kommentierten Beispieldatei. Was es mit dem Verfahren der Pluggable Authentication Modules auf sich hat, erläutert detailliert der gleichnamige Abschnitt im Kapitel SystemadministrationSichere Systeme.
Start des ServersIn den meisten Anwendungsfällen wird ein FTP-Server nur sporadisch benötigt, sodass sich dessen Start erst bei Bedarf, also über einen der Internet-Daemons inetd oder xinetd anbietet. Start via inetd
Der im Beispiel zwischen geschaltete TCP-Wrapper ist nicht zwingend notwendig. Zumindest bei Authentifizierung mittels Pluggable Authentication Modules ist der zusätzlich Gewinn an Sicherheit gleich Null. Vergessen Sie nach Änderungen in der Konfigurationsdatei nicht, den inetd neu zu starten! Start via xinetd
Nach Modifikation ist der xinetd neu zu starten. Start als eigenständiger ServerDer Vsftpd ist nicht für den Stand-Alone-Betrieb vorgesehen. Versuchten Sie dennoch den Start, ernten Sie eine Abfuhr:
|
||||||||||||||||||||
Korrekturen, Hinweise? |