ProFTP Server – Installation und Einrichtung

ProFTPD ist ein weit verbreiteter, gut konfigurierbarer FTP Server für UNIX-basierte Betriebssysteme. Im gezeigten Beispiel wird eine TLS Verschlüsselung am FTP Server konfiguriert, um die Kommunikation zwischen FTP Client (z.B. FileZilla) und dem FTP Server ProFTPD zu verschlüsseln.

 Grundlagen

Installation

Konfiguration

Das FTP Protokoll Installation Grundlegende Konfiguration (in Bearbeitung)
SSL/TLS verschlüsselte FTP-Verbindung
FTP Benutzer erstellen (in Bearbeitung)
Anonymous Zugang
Fehlerquellen
———————————————- ———————————————- ———————————————-

Das FTP Protokoll

Das File Transfer Protocol (FTP, englisch für Dateiübertragungsprotokoll) ist ein Netzwerkprotokoll zur Übertragung von Dateien über IP-Netzwerke. Es wird benutzt, um Dateien vom Server zum Client (Herunterladen), vom Client zum Server (Hochladen) oder clientgesteuert zwischen zwei FTP-Servern zu übertragen (File Exchange Protocol). Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden.

Das FTP verwendet für die Steuerung und Datenübertragung jeweils separate Verbindungen : Eine FTP-Sitzung beginnt, indem vom Client zum Control Port des Servers (der Standard-Port dafür ist Port 21) eine TCP-Verbindung aufgebaut wird. Über diese Verbindung werden Befehle zum Server gesendet. Der Server antwortet auf jeden Befehl mit einem Statuscode, oft mit einem angehängten, erklärenden Text. Die meisten Befehle sind allerdings erst nach einer erfolgreichen Authentifizierung zulässig.

Zurück zur Übersicht

Installation

Installation

Der ProFTP Server ist bei allen aktuellen Linux Distributionen bereits im Hauptzweig der Softwarequellen enthalten. Aktualität und Sicherheit des ProFTP Servers wird durch die Zugehörigkeit zum Haupt/Main/Basis Zweig der Softwarequellen gewährleistet. Der ProFTP Server kann daher mit folgendem Befehl installiert werden :

Der ProFTP Daemon kann über den inetd Dienst ( eingehende Verbindungen werden von inetd verwaltet, wobei jede Verbindung einen eignen Prozess zugewiesen bekommt) oder als eigenständiges ( standalone ) Programm   gestartet werden ( ProFTP übernimmt die vollständige Verwaltung aller Verbindungen; nur ein Prozess aktiv ).

Zurück zur Übersicht

Konfiguration

Grundlegende Konfiguration

Die Konfigurationsdateien des ProFTP Servers befinden sich in dem Verzeichnis /etc/proftp/. Um ein Überschreiben der Konfigurationen bei Paket-Aktualisierungen zu vermeiden, werden benutzerspezifische Konfigurationen in dem Verzeichnis /etc/proftpd/conf.d/ abgelegt.

In diesem Beispiel wird die Datei custom.conf für die Anpassungen des ProFTPD Servers verwendet, damit die Konfiguration wirksam wird:

Inhalt :

Anschließend wird die Datei gespeichert und der ProFTPD Server neu gestartet:

Zurück zur Übersicht

SSL/TLS verschlüsselte FTP-Verbindung

Verschlüsselungs Modul aktivieren

Das TLS Modul ermöglicht eine verschlüsselte Verbindung über SSL/TLS zum ProFTPD Server. In den meisten Fällen ist SSL/TLS in /etc/proftpd/modules.conf bereits enthalten und automatisch aktiv. Ob der installierte ProFTP Server TLS Verschlüsselung unterstützt kann mit folgenden Befehl überprüft werden :

Zertifikat erstellen

Das folgende Beispiel verwendet als Zertifikat das selbst-signierte Snakeoil Zertifikat des ssl-cert Packages (siehe Ubuntu default snakeoil SSL-Zertifikat erneuern):

TLS konfigurieren

Die SSL/TLS Konfiguration erfolgt über die Datei /etc/proftpd/conf.d/tls.conf mit folgendem Inhalt :

Anschließend wird ProFTPD neu gestartet.

* Kurzinfo auf www.proftpd.org
*Serverseitige Benutzerabhängige TLS/SSL Konfiguration auf www.howtoforge.com
*TLSv1.1 oder v1.2 ist erst ab der Version 1.3.5 möglich.

Zurück zur Übersicht

FTP Benutzer erstellen

Die Benutzerverwaltung von ProFTP kann auf zwei Arten erfolgen :

  1. Benutzer auf Hostsystem – Host verwaltet Benutzer
    Für den FTP Zugriff wird ein eigener Benutzer im Hostsystem erstellt, ohne gültiger Login Shell und mit dem Homeverzeichnis /var/www/upload:
  2. Virtuelle Benutzer – ProFTP verwaltet Benutzer über Datei
    FTP Benutzer werden nicht im Hostsystem erstellt sondern über eine Datei verwaltet

Um einen anonymen Lesezugriff zu erlauben wird folgende Datei erstellt:

Inhalt :

Damit der Benutzer ftp auf den anonymen FTP-Bereich zugreifen darf, muss er der Gruppe ftpuser hinzugefügt werden:

Zurück zur Übersicht

Fehlerquellen

Bei Problemen der FTP Verbindungen können folgende Dinge überprüft werden:

  1. ProFTPD Dienst läuft: sudo service proftpd status
  2. ProFTPD lauscht auf Port 21: sudo netstat -tlp|grep proftp
  3. Fehlermeldungen im ProFTPD Log: sudo tail -20 /var/log/proftpd/proftpd.log
  4. Fehlermeldungen im ProFTPD TLS Log: sudo tail -20 /var/log/proftpd/tls.log
  5. Verbindungstest auf Port 21 mit telnet: telnet 192.168.1.100 21
  6. Verbindungstest auf Port 21 mit TLS: openssl s_client -connect 192.168.1.100:21 -starttls ftp

Meldung: memcache support not enabled

In manchen Fällen kann bei einem Neustart des ProFTPD Servers folgende Meldung erscheinen:

Der ProFTP Server wurde nicht mit der Option -enable-memcache kompiliert. Das Einfügen einer Raute vor der Zeile deaktiviert das Modul :

Ein anschließender Neustart erfolgt ohne der Memcache Meldung:

 

Quellen
http://wiki.ubuntuusers.de/ProFTPD
https://www.thomas-krenn.com/de/wiki/FTP-Server_unter_Debian_einrichten
https://www.howtoforge.com/proftpd-enabling-disabling-tls-based-on-user-or-group
 
 
 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top