====== FTP-Server ======
Debian
[[ftp:server:webdav|Webdav & FTP auf ein Verzeichnis]]
Zwei 'große' Server: vsftpd & proftp
vsttpd legt eher Wert auf Zugriffssicherung als auf Features, daher habe ich mich für meine Zwecke für diesen Server entschieden.
===== vsftdp =====
Konfigurationsoptionen: [[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-de-4/s1-ftp-vsftpd-conf.html]] [[wp>vsftpd]]
Quelle((http://www.tim-bormann.de/tutorial-installation-debian-etch-server/))
Vsftpd ist ein Debian FTP Server, mittels ihm lassen sich Dateien bequem über das Internet abrufen und speichern. Die Konfiguration lässt nur FTPS zu. Nicht zuverwechseln mit SFTP oder Secure FTP. VSFTP unter Debian Etch transferiert somit Daten über TLS verschlüsselt durch das Netz.
//Anmerkungen:// Ein Debian FTP Server stellt grundsätzlich ein Sicherheitsproblem dar. Die folgende Config von vsftp versucht dem Problem zu entsprechen.
Wer ein anonymous Login oder umusk für einen solchen Fall sucht, dem kann ich nicht helfen, da ich persönlich aufgrund einer solchen Config (, ob vsftp oder Proftpd ) und den resultierenden Sicherheitsbedenken nicht ruhig schlafen könnte.
Wer Vsftp nicht mag, dem habe ich alternativ die Installation von Proftpd unter Debian Etch beschrieben.
Meine Empfehlung: Proftpd ist gut, aber testen Sie Vsftp!
==== Installation vsftpd ====
Debian Dedicated Server ~# apt-get install vsftpd
=== Grundsätzliche Konfiguration ===
Der FTP-Server ist so eingestellt, dass er einen anonymen Zugriff gestattet.
Unsere Konfiguration von vsftp wird folgendender Maßen aussehen:
* Vsftp lauscht auf Port 2121 und nutzt passive Ports,
* anonymes Einlogen verboten ist,
* jeder am System bekannter Benutzer darf sich einlogen,
* einschließlich jener, die sich nicht lokal oder per SSH einlogen können, weil ihre Shell in /etc/passwd auf /bin/false zeigt.
* Jeder Benutzer ist in seinem Home gefangen (chrooted), Ausnahmen sind alle Benutzer, die in der Datei /etc/vsftpd.chroot_list stehen.
* Alle Benutzer, die in der Datei /etc/ftpuser stehen, dürfen sich nicht anmelden. Dies dient dazu um z.B. Systemkonten die Anmeldung zu verweigern.
* Es ist zwingend notwendig sich mittels FTPS bzw SSL/TLS verschlüsselt einzulogen. Normale FTP-Verbindungen sind nicht zugelassen.
=== Konfiguration ===
Zunächst Sicherung der Original Konfiguration:
Debian Dedicated Server ~# cp /etc/vsftpd.conf /etc/vsftpd.conf_original
Anpassung der vsftp Konfiguration
Debian Dedicated Server ~# mcedit /etc/vsftpd.conf
Inhalt
# Anonymer Zugriff auf den Debian FTP Server von YES auf No
anonymous_enable=no
# Raute weg / Kommentieren von local_enable entfernen und
# Zugriff Systembenutzern gewähren
local_enable=YES
# Raute weg / Kommentieren von chroot_local_user=YES und
# damit alle FTP Server Benutzer in Home einsperren
chroot_local_user=YES
# Raute weg / Kommentieren von chroot_list_enable
# als whitelist für FTP Server, die nicht eingesperrt sein sollen
chroot_list_enable=YES
#Folgendes ans Ende der Konfiguration setzen
# ssl/ tls Verschluesslung des FTP Server aktivieren
ssl_enable=YES
# Verbindung von FTP Server auf Passiven Modus erlauben und
# Portrange definieren. Wichtig für Firewallregeln
pasv_enable=YES
pasv_min_port=49152
pasv_max_port=50000
# port-command für FTP Server erlauben
port_enable=yes
# FTP Server lauscht i.d.R. auf Port 22, aber die Verlegung auf Port 2222 ist sicherer
listen_port=2222
=== Zertifikat erstellen ===
SSL-Verschlüsselung benötigt zwingend ein Zertifikat, mit dem sich der Server gegenüber den Nutzern ausweißt. Beglaubigte Zertifikate sind sehr teuer, daher weichen wir auf ein selbstsigniertes Zertifikat aus.
Debian FTP Server ~# openssl req -new -x509 -nodes -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pem
FTP Server Whitelist der nicht eingesperrten Benutzer erstellen
Debian FTP Server ~# mcedit /etc/vsftpd.chroot_list
Neustart des FTP Servers
Debian FTP Server ~# /etc/init.d/vsftpd stop
Debian FTP Server ~# /etc/init.d/vsftpd start
=== Troubleshooting FTP Server ===
Start einer neune Konifguration:
Debian FTP Server ~# apt-get remove vsftpd –purge
{{tag>ftp ftp-Server WebDav}}