Proftp installieren
Installation
Im Grunde ist das schnell geschehen. Dazu installiert als root das proftpd Paket:
apt-get install proftpd
Ihr werdet dann während der Installation gefragt, ob Ihr den Server in der inetd oder standalone Version installieren wollt. Wenn Ihr keine virtuellen Hosts betreibt ist an der Stelle der Standalone die bessere Wahl.
Nach Beendigung der Installation fährt der FTP Server bereits hoch und Ihr könnt Euch mit Eurem bereits angelegten User anmelden. Für Debian ist der Proftp schon so konfiguriert, dass die FTP User gleich die Systemuser sind und landen somit gleich in Ihrem Homeverzeichnis. Allerdings hat man in der Standardkonfiguration die Möglichkeit, in jedes Verzeichnis außerhalb des Homeverzeichnisses zu wechseln. Das ist normalerweise nicht gewünscht. Um das abzustellen (der FTP User wird gechailt, in sein Homeverzeichnis"gefängnis" gesperrt) müssen wir noch die proftpd.conf bearbeiten. Unter Debian Sarge befindet diese sich im Verzeichnis /etc. Bei Etch und Lenny im Verzeichnis /etc/proftpd.
Sucht in der proftpd.conf die Zeile
# DefaultRoot ~
Entfernt das # . Die Zeile sieht nun wie folgt aus:
DefaultRoot ~
Speichert die Änderung. Man muss den Server nicht neu starten, sondern es genügt, den proftp Dämon neu zu starten:
/etc/init.d/proftpd restart
Jetzt solltet Ihr nicht mehr aus dem eigenen Homeverzeichnis kommen.
Verbindung mittels TLS sichern
Openssl sollte hierzu installiert sein:
apt-get install ssl-cert
make-ssl-cert generate-default-snakeoil --force-overwrite
Legt dann die tls.conf an:
nano /etc/proftpd/conf.d/tls.conf
Und füllt diese mit folgenden code:
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
TLSRSACertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
TLSVerifyClient off
TLSRequired on
</IfModule>
Wenn Ihr eine Firewall am Server betreibt, muss noch eine TCP_IN Range als Passive Ports festgelegt werden. Diese Range (in einem sehr hohen Bereich und nur einige wenige Ports) tragt in der /etc/proftpd/proftpd.conf beim Parameter
PassivePorts XXXXXX XXXXXX
Startet dann den proftp neu:
/etc/init.d/proftpd restart
Fehlermeldung memcache beim proftp Start
Um die Fehlermeldung zu unterbinden, stellt das memcache Modul ab:
nano /etc/proftpd/modules.conf
Kommentiert die folgende Zeile aus:
LoadModule mod_tls_memcache.c
in
#LoadModule mod_tls_memcache.c
Startet dann den proftp neu:
/etc/init.d/proftpd restart
Anmeldung auf proftp langsam
Falls die Anmeldung auf dem Proftp verzögert läuft könnt Ihr mal folgendes ausprobieren:
Editiert die Datei /etc/proftpd/proftpd.conf und fügt unter der Zeile
IdentLookups off
die Zeile
UseReverseDNS off
ein. Danach den proftp neu starten:
/etc/init.d/proftpd restart
User beim proftp ausschließen
Wenn auf ein bestimmtes User Verzeichnis nicht via ftp zugegriffen werden darf, dann könnt Ihr das ganz einfach wie folgt ausschließen: Schreibt den Usernamen in die /etc/ftpusers
Der Proftp schaut in diese Datei und schließt die dort aufgeführten User vom ftp-Zugriff aus. Nach einer Änderung startet den ftp-Server neu:
/etc/init.d/proftpd restart