proftpd installation

Wer regelmäßig größere Dateien auf einem Server ablegen und abrufen möchte, ist auf eine geeignete Übertragungstechnik angewiesen. Unter den möglichen Lösungen zählt der Dateitransfer via File-Transfer-Protocol (FTP) bis heute zu den gefragtesten.

Das auf der Anwendungsschicht agierende Übertragungsprotokoll für IP-Netzwerke bietet dem Nutzer zusätzlich zum Transport von Daten über die

  • TCP-Port 20
  • TCP-Port 21

auch die Möglichkeit, Verzeichnisse anzulegen und wunschgemäß zu strukturieren.

Da Sie zu diesem Zweck lediglich mit einer Client-Software auf den FTP-Server zugreifen müssen und eine Vernetzung beider Komponenten über das Internet ausreicht, kommt die Übertragungstechnik oft beim Up- und Download von Dateien auf Webspaces zum Einsatz.

Installation eines Debian-FTP-Servers

Debian-FTP-Server-Tutorial: Die wichtigsten Konfigurationsschritte

Nach der Installation können Sie damit beginnen, ProFTPD einzurichten. Die hierfür notwendige Konfigurationsdatei proftpd.conf befindet sich im Verzeichnis /etc/proftpd/. Um sie zu bearbeiten, öffnen Sie sie einfach mit dem Editor Ihrer Wahl.

Grundeinstellungen: Servername, FTP-Verzeichnis und Co.

 

FTP-User erstellen

Wenn Sie einen neuen ProFTPD-User anlegen, sollten Sie immer /bin/false als Log-in-Shell definieren. Auf diese Weise sorgen Sie dafür, dass der User nur auf den FTP-Server und nicht auf das gesamte System zugreifen kann. Tragen Sie also mit folgendem Terminal-Befehl zunächst /bin/false in die Datei zugelassener Shells ein:

Anschließend können Sie einen ersten Benutzer erstellen:

In diesem Beispiel erstellen Sie einen Nutzer-Account mit dem Namen „user1“ und legen im gleichen Schritt auch sein Home-Verzeichnis an. Abschließend vergeben Sie für den neuen Nutzer-Account ein Passwort und bestätigen das Profil. Damit dieser neu angelegte Benutzer sich nun auch wirklich mit dem Debian-FTP-Server verbinden und Dateien in sein exklusives Verzeichnis hochladen (und später wieder aus diesem herunterladen) kann, geben Sie sein Home-Verzeichnis in der proftpd.conf an:

 

Tipp

Anstatt das Ausführen sämtlicher FTP-Befehle zu verbieten, können Sie auch einzelne Operationen unterbinden. Auf diese Weise lässt sich beispielsweise auch ein Verzeichnis erzeugen, in das Nutzer lediglich Dateien hochladen können. Eine ausführliche Übersicht über die verschiedenen Einstellungsmöglichkeiten finden Sie in den Online-Manuals.

Anonymen Zugriff erlauben

Wenn Sie Ihren Debian-FTP-Server so einrichten wollen, dass dieser als Server für öffentliche Downloads dient, möchten Sie in den meisten Fällen auch, dass Benutzer anonym auf die bereitgestellten Dateien zugreifenkönnen. Hierfür definieren Sie zunächst mithilfe von chmod die notwendigen Zugriffsrechte für das spätere Download-Verzeichnis, das wir hier beispielhaft /home/ftpdownload genannt haben:

Der Besitzer des Verzeichnisses hat also die kompletten Rechte (7 = Lesen, Schreiben und Ausführen), während die Gruppenbenutzer und alle anderen Benutzer lediglich Lesen und Ausführen (5) können. Sind die Rechte definiert, lässt sich der anonyme Zugriff in der proftpd.conf-Datei konfigurieren:

 

Damit nun die Anmeldung auf dem Debian-FTP-Server mit dem Profil ftp gelingt, müssen Sie es der Gruppe ftpuser hinzufügen:

SSL/TLS-Verschlüsselung einrichten

Das FTP-Protokoll überträgt sowohl Anmeldeinformationen als auch die versendeten Daten im Klartext.

Wenn Sie einen privaten ProFTPD-Server einrichten wollen, der nicht für jedermann zugänglich sein soll,

ist es folglich empfehlenswert, den Log-in zu verschlüsseln.

Die meistgenutzte Lösung ist die Verschlüsselung via SSL/TLS,

die Sie mit wenig Aufwand und mithilfe der freien Software OpenSSL einrichten können.

Das Kryptographie-Toolkit ist standardmäßig in der Debian-Paketverwaltung enthalten und bereits installiert.

Alternativ lässt sich die Installation auf dem bekannten Weg durchführen:

Schritt 1: Zertifikat und Schlüssel generieren

Anschließend nutzen Sie OpenSSL, um ein Zertifikat zu erstellen. Da Sie dieses irgendwo ablegen müssen, legen Sie zunächst den passenden Ordner im ProFTPD-Verzeichnis an:

Zertifikat (proftpd.cert.pem) und Schlüssel (proftpd.key.pem) mit einer Lebensdauer von einem Jahr für Ihren Linux-FTP-Server generieren Sie nun unter Angabe dieses Ablageortes mit folgendem Befehl:

Zusätzlich ist die Angabe einiger Informationen notwendig, um das Zertifikat ordnungsgemäß zu registrieren:

  • Country Name (2 letter code): Ländercode, z. B. „DE“ für Deutschland
  • State or Province Name (full name): Bundesland/Region, z. B. „Berlin
  • Locality Name (eg, city): Stadt, z. B. „München
  • Organization Name (eg, company): Name des Unternehmens bzw. Ihr Name
  • Organizational Unit Name (eg, company): Angabe der Abteilung (insofern vorhanden), z. B. „IT
  • Common Name (eg, YOUR name): Angabe der zu schützenden Domain, z. B. „ftp.example.com.
  • Email Address: E-Mail-Adresse

Schritt 2: SSL/TLS in ProFTPD aktivieren

Nachdem Sie Ihr eigenes Zertifikat samt Private-Key erstellt haben, müssen Sie die Verschlüsselungstechnikfür den ProFTPD-Server aktivieren. Hierfür hält die Debian-FTP-Server-Software das Modul mod_tls bereit, das standardmäßig zwar installiert, aber ausgeschaltet ist. Für die Aktivierung sind einmal mehr Anpassungen in der proftpd.conf von Nöten. Öffnen Sie die Konfigurationsdatei und suchen nach dem folgenden Eintrag:

 

Weisen Sie der TLSEngine-Direktive den Wert „on“ zu und erweitern den Abschnitt darüber hinaus folgendermaßen:

 

Auf diese Weise haben Sie nicht nur die SSL/TLS-Verschlüsselung für Ihren Debian-FTP-Server aktiviert, sondern im gleichen Schritt auch die wichtigsten Einstellungen gemacht.

So ist die Log-Datei für die Aufzeichnungen der FTP-Verbindungen (TLSLog) ebenso definiert wie die Pfade zu Zertifikat (TLSRSACertificateFile) und Schlüssel (TLSRSACertificateKeyFile). Ferner sind auch die möglichen Protokoll-Versionen (TLSProtocol) angegeben. Die letzten beiden Zeilen bewirken, dass das Modul die vom Client präsentierten Zertifikate nicht verifiziert (TLSVerifyClient) und dass die Verschlüsselung Grundvoraussetzung für den Verbindungsaufbau ist (TLSRequired). Nach einem Neustart des ProFTPD-Servers sind die Neueinstellungen wirksam:

Schritt 3: Via SSL/TLS auf dem ProFTPD-Server anmelden

Wenn Sie SSL/TLS für ProFTPD (wie in diesem Debian-FTP-Server-Tutorial empfohlen) aktiviert haben, benötigen die Benutzer einen FTP-Client, der den verschlüsselten Verbindungsaufbau unterstützt.

Einer der prominentesten Vertreter ist FileZilla, der nicht nur für Debian und andere Linux-Distributionen, sondern auch für macOS und Windows verfügbar ist. Damit stellt das Open-Source-Programm für Sie und alle anderen Benutzer die optimale Lösung dar, um von verschiedenen Plattformen auf den FTP-Server zuzugreifen.

Im Servermanager von FileZilla geben Sie bei der Auswahl des Servertyps statt FTP die gesicherte Variante FTPS („FTP durch explizites TLS/SSL“) an. Beim ersten Verbindungsaufbau mit dem Server ist es zudem notwendig, das Zertifikat zu akzeptieren.

ProFTPD-Konfiguration – Tipps und Tricks

Bei den hier vorgestellten Konfigurationsmöglichkeiten handelt es sich nur um eine kleine Auswahl. Die facettenreiche FTP-Software lässt noch wesentlich spezifischere und komplexere Szenarien für die Konfiguration des eigenen Servers zu. Die offizielle Website von ProFTPD bietet zu diesem Thema zahlreiche nützliche Infos. Die frei verfügbare Online-Dokumentation beinhaltet unter anderem einige Beispiel-Setups, ausführliche How-tosFAQs sowie Erklärungen zu den einzelnen Direktiven. Ferner gibt es dort Informationen zu den verschiedenen Standard- und Zusatzmodulen.

Debian FTP-Server einrichten leichtgemacht: Konfiguration via GUI

Im Tutorial haben wir gezeigt, wie Sie mit ProFTPD einen FTP-Server über die Kommandozeile und manuelle Änderungen in der Konfigurationsdatei einrichten. Wie für viele Linux/Unix-Programme gibt es jedoch auch für die FTP-Server-Software verschiedene grafische Benutzeroberflächen, die es ermöglichen, den Server ohne Einsatz des Terminals zu konfigurieren. Unter anderem enthält auch die GUI-Sammlung Gadmintools ein solches User-Interface, das sich problemlos über die Paketverwaltung installieren lässt. Die Oberfläche mit dem Namen gadmin-proftpd unterstützt Sie dabei, Ihren Debian-FTP-Server zu starten, Nutzer-Profile anzulegen oder Änderungen in der proftpd.conf vorzunehmen. Letzteres funktioniert, ohne dass Sie die Konfigurationsdatei dafür öffnen müssen – neue oder veränderte Einträge werden automatisch in diese übertragen.

 

 

 

 

 

Ftp ACL (Access Control Lists ) – restricted FTP access

What is ACL ?

When you enable it , only selected ips  have access to  FTP server as a client.  it is for security of FTP. if some one stole  your FTP.

 

How to ?  It is depends on your FTP  provider. But if you have  own linux server.

access-list 101 permit tcp any any eq 21  
!--- The above line permits TCP traffic from any source, such as the FTP client,
      
!--- FTP server destination at the FTP control port 21. 

access-list 101 permit tcp any eq 20 any
!--- The above line permits TCP traffic from any source, such as the FTP server,
    
!--- FTP client at FTP data port 20.

 

Example Document :

HP_ACCESS_CONTROL_Ch3_ACL

 

Posted in FTP