server:vsftp

Vsftpd

vsftpd (Kurzform für Very Secure FTP Daemon), ist ein FTP-Server für Unix-Betriebssysteme.

Sein Name „Sehr sicher“ trägt der Tatsache Rechnung, dass die Sicherung gegen unbefugte Nutzung im Mittelpunkt der Entwicklung steht, während komplizierte Einstellungsmöglichkeiten eher hinten anstehen. Der Entwickler führt auf der Produktwebseite an, dass bis zum jetzigen Zeitpunkt – im Gegensatz zu vergleichbaren FTP-Servern – keine Sicherheitslücken in irgendeiner Version von vsftpd bekannt seien.

Quelle: Wikipedia

Eine ausführliche Liste von Konfigurationsoptionen findet man im Handbuch.

man 5 vsftpd.conf

Besonders Traffic-limits und syslog-logging sind in der Debian-Konfiguration nicht enthalten.

Die Konfigurationsdatei liegt meist unter /etc/vsftpd.conf.

Virtuelle Benutzer werden bewi vsftp leider auf das gleiche Verzeichnis gemappt.

Zur besseren Konfiguration kann man sich den Abschnitt aus dem Handbuch in die Konfigurationsdatei kopieren und die Options aktivieren.

# If enabled, then any log output which would have gone to /var/log/vsftpd.log goes to the system log instead. Logging  is  done  under  the
# FTP facility.
# Default: NO
syslog_enable=YES
# SSL
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Somit ist Expliziertes (nachträglich aktiviertes) FTP aktiviert.

  • Implizierte SSL-Verschlüsselung (gleich vor Verbindungsaufbau) aktiviert man so:
    Implicit_SSL=YES
    #
    # Uncomment it if you want/have to use port 990.
    # listen_port=990

:!: Die Version von Debian Lenny (2.0.7-1) unterstützt die Implicit_SSL-Option nicht.

Benutzer/Gruppenlimits lassen sich nur indirekt (siehe Quota mit Betriebssystemmitteln) realisieren. Das geht aber nur mit Systembenutzern und nicht mit virtuellen Benutzern.

Ab der Version 2.3.5 muss das Heim-Verzeichnis schreibgeschützt sein wenn chroot_local_user=YES aktiviert ist (funktioniert nicht mit der Version aus Debian wheezy!):

# disable v.2.3.5 restriction: "vsftpd: refusing to run with writable root inside chroot()"
allow_writeable_chroot=YES

in vsftpd-ext fehlt das „e“ im Namen:

allow_writable_chroot=YES

seccomp sandboxing scheint lt. diverse Bugreports nicht zu funktionieren (500 OOPS: priv_sock_get_int suw.). Behebung:

seccomp_sandbox=NO