ProFTP

Aus wiki.archlinux.de
Version vom 14. Oktober 2020, 03:10 Uhr von RoundCube (Diskussion | Beiträge) (Link zum Englischem Wiki)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.

pakku -S proftpd

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 

Siehe auch

Very Secure FTP Daemon
FTP

Web-Links

ProFTPD.de
ProFTPD.org