ProFTP
ProFTPD ist ein einfacher, aber mächtiger FTP Server, welcher unter der GPL steht und in den meisten Distributionen zur Grundausstattung gehört. Eine seiner großen Stärken ist die Konfiguration, die zentral über eine Datei benutzerfreundlich erledigt wird.
Installation
Das Programm ist als proftpdAUR im AUR verfügbar, und kann von dort zum Beispiel mit einem der AUR Hilfsprogramme installiert werden.
Bei der Verwendung von AUR-Hilfsprogrammen ist zu beachten, dass Pakete niemals „blind“ installiert werden sollten. Vor dem Installieren sollten die Kommentare im AUR gelesen, und das PKGBUILD geprüft werden.
Konfiguration
Sobald die Installation fertig ist können wir uns an die Konfiguration des Servers machen.
Im Grunde genommen ist es recht einfach, denn in der Datei /etc/proftpd.conf ist alles gut dokumentiert.
/etc/proftpd.conf mit dem Editor seiner Wahl öffnen:
# Servername ServerName "Privater FTP Server" # Standalone (warten auf ankommende Verbindung und Daemon starten) # oder (x)inetd für Start über den 'Superserver' ServerType standalone # Ist dies der Standard Server (idR. ja) DefaultServer on # Port festlegen (Standard ist 21) Port 21 # Globale Verzeichnis- und Dateirechteänderung Umask 022 # Anzahl max. gleichzeitiger Verbindungen (nur Standalone-Modus) MaxInstances 30 # Benutzerkennung unter der ProFTP laufen soll User nobody Group nobody #### Globale Einstellungen <Global> # Ausgabe bei Fehlanmeldung und erfolgreicher Anmeldung (%u steht für den Benutzernamen) AccessDenyMsg "Keine Anmeldung für %u möglich" AccessGrantMsg "Anmeldung erfolgreich. Willkommen %u " # Client trennen nach x Sekunden (Inaktivität, Nicht Erreichbar) TimeOutStalled 240 TimeOutIdle 240 TimeOutLogin 240 # Portbereich festlegen (für passive Verbindungen) PassivePorts 40000 50000 </Global> #### Anonymer Zugang # Verzeichnis für Anonymes FTP <Anonymous /home/aftp> # Benutzer und Gruppe User nobody Group nobody # Zu Setzen wenn der User keine Shell hat RequireValidShell off # Max. Download-Rate setzen (KB/s). Beispiel 50 KB TransferRate RETR 50.0 # Maximale Anzahl von Klienten, die sich gleichzeitig anmelden dürfen MaxClients 04 # Schreibrechte entziehen <Limit WRITE> DenyAll </Limit> </Anonymous>
Für weitere Konfigurationsmöglichkeiten besuche bitte die Webseiten in dem Abschnitt Web-Links.
FTPS
FTP über SSL oder FTP over TLS, kurz FTPS, ist eine Methode zur Verschlüsselung des File Transfer Protocol (FTP), die im RFC 4217 beschrieben ist. Im Unterschied zu SFTP stellt FTPS eine Kommunikation von FTP über Transport Layer Security (TLS) und keine Kommunikation von FTP über SSH dar.
Um dieses zu ProFTPD hinzuzufügen muss man folgendes durchführen (openssl muss installiert sein):
# cd /usr/local/etc # mkdir ftpcert # cd ftpcert # openssl genrsa 1024 > host.key # chmod 400 host.key # openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert
abschließend noch folgendes in die /etc/proftpd.conf einfügen:
# TLS <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/proftpd_tls.log TLSProtocol TLSv1 TLSRequired off TLSVerifyClient off TLSRSACertificateFile /usr/local/etc/ftpcert/host.cert TLSRSACertificateKeyFile /usr/local/etc/ftpcert/host.key </IfModule>
RootLogin
Achtung! Bei Ftp ohne TLS wird das Passwort unverschlüsselt übertragen. Das heiß es ist stark davon abzuraten diese Option zu verwenden wenn keine Verschlüsselung verwendet wird! Falls RootLogin dennoch erlaubt sein soll wird empfohlen TLS zu verwenden.
Um dem Benutzer "root" Ftp-Zugriff zu gewähren muss folgende Zeile in die /etc/proftp.conf eingetragen werden.
RootLogin on
um diese Freigabe wieder rückgängig zu machen ersetzt man diese Zeile mit:
RootLogin off