FTP-Server unter Debian: So installieren und konfigurieren Sie einen Server

FTP-Server auf Debian

FTP-Server unter Debian: So installieren und konfigurieren Sie einen Server

Das häufige Speichern oder Herunterladen großer Dateien auf einem Server erfordert eine geeignete Übertragungstechnologie, wobei die Übertragung von Dateien über das sogenannte File Transfer Protocol (FTP) als die am häufigsten nachgefragte verfügbare Lösung hervorgehoben wird. Das Übertragungsprotokoll für IP-Netzwerke, das auf der Anwendungsschicht wirkt, bietet dem Benutzer die Möglichkeit, Verzeichnisse zu erstellen und nach Bedarf zu strukturieren, zusätzlich zum Transport der Daten mit den TCP- Netzwerkports 20 und 21 . Zwei Gründe erklären die häufige Verwendung dieser Übertragungstechnologie zum Hochladen und Herunterladen von Dateien im Web – Space: auf der einen Seite nur eine Client – Software benötigt , um den FTP – Server zugreifen und auf der anderen Seite , es ist genug , um beide Komponenten zu verbinden durch Internet .

Wenn Sie diese Art von Webressourcen zur Miete verwenden, erhalten Sie vom Anbieter die spezifischen Zugangscodes, mit denen die Verbindung zu Ihrem FTP-Server hergestellt werden kann . Wenn der Benutzer einen Server hostet , kann die Datenübertragungstechnologie auch verwendet werden , um den Server selbst zu installieren und ordnungsgemäß zu konfigurieren. In diesem Artikel wird erläutert, wie Sie einen FTP-Server unter Debian installieren und einen Abschnitt zur TLS-Verschlüsselung widmen.

Rat

Müssen Sie Daten speichern oder übertragen? Wenn Sie jetzt ein sicheres FTP-Hosting bei IONOS mieten, erhalten Sie eine sichere Übertragung mit SSH und SSL / TLS sowie tägliche Sicherungskopien.

Index
  1. Installieren Sie einen FTP-Server unter Debian
  2. Der FTP-Server unter Debian: Setup-Tutorial
    1. Grundeinstellungen: Hostname und FTP-Verzeichnis
    2. Erstellen Sie Benutzer in FTP
    3. Anonymen Zugriff zulassen
    4. Konfigurieren Sie die SSL / TLS-Verschlüsselung
      1. Schritt 1: Generieren Sie das Zertifikat und den Schlüssel
      2. Schritt 2: Aktivieren Sie SSL / TLS in ProFTPD
      3. Schritt 3: Registrieren Sie sich über SSL / TLS auf dem ProFTPD-Server
    5. Konfigurieren Sie ProFTD – Tipps und Tricks
  3. Konfigurieren Sie den FTP-Server in Debian einfach über die GUI
  4. Mögliche Fehler in der Serverkonfiguration

Installieren Sie einen FTP-Server unter Debian

Bevor Sie mit der Installation und Konfiguration fortfahren, müssen Sie zuerst die entsprechende Serversoftware finden. Linux bietet mehrere FTP-Server an, meistens Open Source und normalerweise in der Paketverwaltung der entsprechenden Distribution zu finden. Eine der bekanntesten Anwendungen ist ProFTPD mit einer GPL-Lizenz. Aufgrund seines modularen Aufbaus ist es leicht skalierbar. Die Hauptkonfigurationsdatei basiert auf Richtlinien oder Gruppen von Richtlinien, mit denen Administratoren vertraut sein sollten, die bereits Kontakt mit dem Apache-Server hatten. Obwohl Debian ProFTPD standardmäßig im Software-Repository ausführt, wird die Installation im Terminal wie gewohnt über den folgenden Befehl ausgeführt:

  sudo apt-get install proftpd  

Um die Installation abzuschließen , müssen Sie entscheiden, ob Sie ProFTPD im Servermodus (Standalone) oder in einem der von inedt gesteuerten Dienste verwenden möchten . Im ersten Fall verarbeitet der FTP-Server eingehende Anforderungen autonom. In der zweiten Variante der? Superserver? inetd / xinetd verarbeitet Anfragen und leitet sie an den FTP-Server weiter, eine Option, die nur dann von Interesse ist, wenn nur wenig Datenverkehr auf dem FTP erwartet wird.

Der FTP-Server unter Debian: Setup-Tutorial

Nach der Installation können Sie mit der Konfiguration von ProFTPD beginnen. Im Verzeichnis / etc / proftpd / befindet sich die Konfigurationsdatei proftpd.conf , die mit einem Editor Ihrer Wahl geöffnet werden kann , z. B. dem Standardprogramm Debian nano, auf das über den folgenden Befehl zugegriffen wird:

  sudo nano /etc/proftpd/proftpd.conf  

In den folgenden Zeilen des Editors finden Sie die wichtigsten Funktionen und Konfigurationsmöglichkeiten. Jede Komponente hat eine eigene Zeile und erfordert vordefinierte Werte . Wenn Sie beispielsweise angeben möchten, ob eine Funktion verwendet werden kann, haben Sie den Wert ? On? (Funktion aktiviert) und ? aus? ( Funktion deaktiviert). Es besteht auch die Möglichkeit, einer Zeile einen Hash (#) voranzustellen , um ihn zu umgehen, sodass die gesamte Zeile vom ProFTPD-Server ignoriert wird, d. H. Der Hash wird als Alternative zu ? Off? Funktionen deaktivieren. Der Hauptzweck dieser Symbole (die Raute) besteht jedoch darin, die verschiedenen Konfigurationsmöglichkeiten zu kommentieren und damit die Lesbarkeit von proftpd.conf zu verbessern .

See also  Windows 10-Produktschlüssel: Wann Sie ihn benötigen und wo Sie ihn finden können

Rat

Anstelle einer proftpd.conf-Datei können Sie auch Ihre eigene Konfigurationsdatei verwenden und im Verzeichnis /etc/proftpd/conf.d/ speichern. Dieses Verzeichnis bleibt intakt, wenn die FTP-Software aktualisiert wird, wodurch das Risiko des Verlusts von Einstellungen verringert wird. Mit include-Anweisungen können die im Verzeichnis conf.d gespeicherten Serverspezifikationen nahtlos in die Hauptdatei integriert werden (dies erfolgt automatisch bei der Standardkonfiguration).

Grundeinstellungen: Hostname und FTP-Verzeichnis

Bevor Sie mit der Konfiguration des FTP-Servers in Debian fortfahren, müssen Sie auf die Basisinstallation achten, dh auf die Grundeinstellungen: Weisen Sie dem Server einen Hostnamen zu oder bestimmen Sie das Verzeichnis, in das Daten hochgeladen oder heruntergeladen werden sollen. Darüber hinaus gibt es verschiedene Konfigurationsmöglichkeiten für potenzielle FTP-Benutzer, wie in der folgenden Beispielkonfiguration dargestellt:

  # Indicación de hostname y mensaje de bienvenida ServerName "hostname/ip-address" DisplayLogin "El inicio de sesión en el servidor FTP en Debian se ha realizado con éxito? # Directivas generales de inicio de sesión <Global> # Solo permite el acceso con shells definidos en /etc/shells RequireValidShell on # No aceptar Root-Log-in RootLogin off # Indicación del directorio FTP al que debe acceder el usuario DefaultRoot Directorio </Global> # Definir usuario/grupo de usuarios autorizados al inicio de sesión en FTP <Limit LOGIN> # El inicio de sesión solo se permite a los usuarios del grupo ftpuser # En vez de una larga lista se ignora al grupo con (!) DenyGroup !ftpuser </Limit>  

Mit dieser Grundkonfiguration erhalten Benutzer Zugriff auf ein bestimmtes Verzeichnis. Dies ist unter anderem dann sehr nützlich, wenn sie für die Wartung des Webs verantwortlich sind, da sie umfangreiche Zugriffsrechte benötigen . Wenn auf der anderen Seite will die Linux FTP – Serverfunktion für Dateien den Benutzer mit Stauraum zur Verfügung zu stellen, muß ProFTPD so konfiguriert werden, dass der Zugriff auf das Haus beschränkt Verzeichnis :

  # Permitir a los usuarios solamente el acceso al directorio inicial DefaultRoot ~  

Erstellen Sie Benutzer in FTP

Wenn Sie einen neuen ProFTPD-Benutzer erstellen möchten, müssen Sie immer / bin / false als Anmeldeshell definieren. Auf diese Weise hat der neue Benutzer nur Zugriff auf diesen Server und nicht auf das gesamte System. Fügen Sie zuerst / bin / false mit dem folgenden Terminalbefehl in die Shell der angegebenen Datei ein:

  sudo echo "/bin/false" >> /etc/shells  

Dann erstellen Sie einen ersten Benutzer:

  sudo adduser user1 --shell /bin/false --home /home/user1  

In diesem Beispiel wird das Benutzerkonto mit dem Namen? Benutzer 1? und das Eingabeverzeichnis wird ebenfalls angezeigt. Sie müssen auch ein Kennwort für das neue Benutzerkonto festlegen und das neue Profil bestätigen. Damit dieser neue Benutzer jedoch tatsächlich eine Verbindung zum FTP-Server unter Debian herstellen und die Daten in sein eigenes Verzeichnis hochladen und herunterladen kann, müssen Sie sein Ausgangsverzeichnis in proftpd.conf eingeben:

  <Directory /home /user1> Umask 022 AllowOverwrite off <Limit LOGIN> AllowUser user1 DenyAll </Limit> <Limit ALL> AllowUser user1 DenyAll </Limit> </Directory>  

Dieses Codebeispiel begrenzt das Verzeichnis auf verschiedene Weise, um es zu einem privaten Speicherort für die Dateien von Benutzer1 zu machen, und der Befehl Umask (022) weist dem Eigentümer des Verzeichnisses alle Rechte zu. Andere Benutzer hingegen können die Dateien lesen, dürfen sie jedoch nur exportieren, wenn der Eigentümer ihnen die erforderlichen Rechte gewährt. Die deaktivierte AllowOverwrite- Direktive verhindert, dass beim Hochladen neuer Daten die bereits gespeicherten Daten überschrieben werden . Schließlich werden die FTP-Anmeldung (Limit LOGIN) und die Implementierung des Befehls (Limit ALL) für alle Benutzer außer user1 blockiert .

Rat

Anstatt die Implementierung aller FTP-Befehle zu verbieten, ist es möglich, einzelne Vorgänge zu verhindern und so beispielsweise ein Verzeichnis zu erstellen, in das Benutzer nur Dateien hochladen dürfen. Eine geführte Vorschau der verschiedenen Konfigurationsmöglichkeiten finden Sie in den folgenden Online-Handbüchern.

See also  Hyper-V: Das Virtualisierungsprogramm von Microsoft

Anonymen Zugriff zulassen

Wenn Sie möchten, dass Ihr FTP-Server unter Debian als öffentlicher Download-Server konfiguriert wird, wird in den meisten Fällen auch erwartet, dass Benutzer anonym auf die bereitgestellten Dateien zugreifen können . Dazu müssen Sie zuerst die Zugriffsrechte über chmod für das nachfolgende Download-Verzeichnis definieren , in diesem Fall / home / ftpdownload :

  sudo chmod 755 -R /home/ftpdownload  

Der Eigentümer des Verzeichnisses hat alle Rechte (7 = Lesen, Schreiben und Ausführen), während die Benutzer der Gruppe und der Rest der Benutzer nur lesen und ausführen können (5) . Sobald die Rechte definiert wurden, kann der anonyme Zugriff in der Datei proftpd.conf konfiguriert werden:

  <Anonymous ~ftp> User ftp Group ftpgroup # Posibles perfiles de login para clientes UserAlias anonymous ftp # Número máximo de clientes y ocultar las propiedades de usuario y de grupo DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>  

Fügen Sie zunächst die FTP-Benutzergruppe hinzu, damit die Debian-FTP-Serveranmeldung mit dem FTP- Profil funktioniert :

  sudo adduser ftp ftpgroup  

Konfigurieren Sie die SSL / TLS-Verschlüsselung

Das FTP-Protokoll überträgt sowohl Protokollinformationen als auch gesendete Daten im Klartext . Wenn Sie ProFTPD im privaten Modus so konfigurieren möchten, dass nicht jeder darauf zugreifen kann, wird empfohlen, den Zugriff zu verschlüsseln . Die am häufigsten verwendete Lösung ist die Verschlüsselung mit SSL / TLS, die mithilfe der OpenSSL-Software einfach zu installieren ist . Der Debian-Paketmanager enthält dieses Verschlüsselungstool standardmäßig, die Installation kann jedoch auch alternativ wie folgt durchgeführt werden:

  apt-get install openssl  

Schritt 1: Generieren Sie das Zertifikat und den Schlüssel

Verwenden Sie OpenSSL, um ein Zertifikat zu erstellen. Erstellen Sie zum Speichern einen Ordner im ProFTPD-Verzeichnis mit dem folgenden Befehl:

  mkdir /etc/proftpd/ssl  

Sowohl das Zertifikat ( proftpd.cert.pem ) als auch der Schlüssel ( proftpd.key.pem ) sind ein Jahr gültig. In Linux-FTP-Servern werden sie generiert, sobald das Speicherverzeichnis eingefügt wurde in:

  openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem  

Darüber hinaus müssen Sie Ihre Daten angeben, damit das Zertifikat ordnungsgemäß registriert wird:

  • Ländername (2-Buchstaben-Code) – Ländercode, zum Beispiel ? ES? für Spanien
  • Name des Bundesstaates oder der Provinz (vollständiger Name) : Bundesstaat oder Provinz, zum Beispiel? Barcelona?
  • Ortsname (z. B. Stadt) : Stadt zum Beispiel? Madrid?
  • Organisationsname (z. B. Firma) : Firmenname oder Ihr eigener Name
  • Name der Organisationseinheit (z. B. Firma) : Abteilung (falls vorhanden), z. B.? TI?
  • Allgemeiner Name (z. B. IHR Name) : Name der zu schützenden Domain, zum Beispiel? ftp.example.com. ?
  • E-Mail-Adresse : E-Mail-Adresse

Schritt 2: Aktivieren Sie SSL / TLS in ProFTPD

Nachdem Sie Ihr eigenes Zertifikat zusammen mit einem privaten Schlüssel erstellt haben, müssen Sie die Verschlüsselungstechnik für den ProFTPD-Server aktivieren . Zu diesem Zweck verfügt die FTP-Serversoftware in Debian über das Modul mod_tls, das standardmäßig installiert, aber deaktiviert ist . Um es zu aktivieren, müssen Sie eine Reihe von Anpassungen in proftpd.conf vornehmen . Öffnen Sie die Dateneinstellungen und suchen Sie nach folgendem Eintrag:

  <IfModule mod_tls.c> TLSEngine off </IfModule>  

Setzen Sie die TLSEngine-Direktive auf den Wert? auf ? und erweitern Sie den Absatz wie folgt:

  <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol TLSv1 TLSv1.1 TLSv1.2 TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>  

Auf diese Weise haben Sie nicht nur die SSL / TLS-Verschlüsselung für Ihren FTP-Server in Debian aktiviert, sondern im selben Schritt die wichtigsten Konfigurationen vorgenommen, als Sie die Zugriffsdatei für das Protokoll der FTP-Verbindungen (TLSLog) sowie die Pfade zum Zertifikat ( TLSRSACertificateFile ) und zum Schlüssel ( TLSRSACertificateKeyFile ) sowie Eingabe der möglichen Protokollversionen ( TLSProtocol ). In den letzten beiden Zeilen überprüft das Modul das vom Client vorgelegte Zertifikat ( TLSVerifyClient ) nicht und die Verschlüsselung ist eine Voraussetzung für den Verbindungsaufbau ( TLSRequired ). Nach dem Neustart des ProFTPD-Servers werden die Einstellungen wirksam:

See also  0x80070bc2: So beheben Sie diesen Windows Update-Fehler

  sudo /etc/init.d/proftpd restart  

Schritt 3: Registrieren Sie sich über SSL / TLS auf dem ProFTPD-Server

Wenn Sie SSL / TLS für ProFTPD bereits aktiviert haben, wie in diesem Lernprogramm empfohlen, benötigen Benutzer einen FTP-Client, der die Erstellung der verschlüsselten Verbindung unterstützt . Einer der wichtigsten Agenten ist FileZilla, das nicht nur für Debian und andere Linux-Distributionen, sondern auch für MacOS und Windows verfügbar ist. Das Open Source-Programm wird als die beste Lösung für den Zugriff auf den FTP-Server von verschiedenen Plattformen aus vorgestellt.

Geben Sie im FileZilla Server Manager bei der Auswahl des Servertyps die sichere Variante FTPS (? FTP über explizites TLS / SSL ?) Anstelle von FTP ein. Bei der ersten Herstellung der Verbindung mit dem Server muss das Zertifikat ebenfalls akzeptiert werden.

Konfigurieren Sie ProFTD – Tipps und Tricks

Die obigen Konfigurationsoptionen stellen nur eine kleine Auswahl dar, da die vielseitige FTP-Software viel spezifischere und komplexere Szenarien für die Konfiguration eines Servers ermöglicht. Die offizielle Website von ProFTPD bietet eine unbegrenzte Menge nützlicher Informationen. Die kostenlose Online-Dokumentation enthält unter anderem Beispielkonfigurationen , detaillierte Anweisungen , FAQs oder häufig gestellte Fragen und Erläuterungen zu einzelnen Richtlinien . Es gibt auch Informationen zu den verschiedenen Standard- und Zusatzmodulen.

 

Konfigurieren Sie den FTP-Server in Debian einfach über die GUI

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie einen FTP-Server mit ProFTPD über Befehlszeilen und manuelle Änderungen in der Konfigurationsdatei konfigurieren. Wie bei vielen anderen Linux / Unix-Programmen gibt es auch hier verschiedene grafische Benutzeroberflächen für die FTP-Serversoftware, mit denen Sie den Server konfigurieren können, ohne auf das Terminal zurückgreifen zu müssen. Gadmintools enthält eine Benutzeroberfläche, die nahtlos mit dem Paketmanager installiert werden kann . Die Schnittstelle mit dem Namen gadmin-proftpd unterstützt das Starten des FTP-Servers unter Debian, das Erstellen eines Benutzerprofils und das Vornehmen von Änderungen an proftpd.conf , um das Öffnen von Konfigurationsdateien zu vermeiden. Neue oder geänderte Einträge werden direkt übertragen.

Hinweis

Die Verwendung einer grafischen Benutzeroberfläche schließt die Konfiguration und parallele Verwaltung des Servers über die Befehlszeile nicht aus.

Mögliche Fehler in der Serverkonfiguration

In einigen Fällen werden beim Neustart des ProFTPDS-Servers möglicherweise die folgenden Fehlermeldungen angezeigt:

  ?mod_tls_memcache/0.1: notice: unable to register 'memcache' SSL session cache: Memcache support not enabled?  

In diesem speziellen Fall besteht das Problem darin, dass das Cache-Modul mod_tls_memcache in der ProFTPD-Kompilierung automatisch als SSL / TLS-Komponente aktiviert wurde. In der SSL / TLS-Verschlüsselungskonfiguration kümmert sich das Modul theoretisch und auf Wunsch um die temporäre Speicherung der verschlüsselten FTP-Sitzungen. Da der Sitzungscache standardmäßig nicht erforderlich ist, wurden auch nicht die erforderlichen Einstellungen vorgenommen, damit das Modul funktioniert, was zu einer Fehlermeldung führt . Die Lösung für dieses Problem ist einfach: Sie können das Modul oder den Ladevorgang in den Konfigurationsdateien kommentieren .

  # LoadModule mod_tls_memcache.c  

Zusätzlich zu dem oben beschriebenen Fehler kann auch nach der Installation eines FTP-Servers unter Debian eine fehlerhafte Verbindung auftreten . Um dieses Problem zu beheben, kann auf verschiedene Analyseoptionen zugegriffen werden :

1. Überprüfen Sie, ob der ProFTPD-Server funktioniert:

  sudo service proftpd status  

2. Überprüfen Sie, ob der ProFTPD-Server Port 21 überwacht, um seine eigenen FTP-Anforderungen aufzuzeichnen :

  sudo netstat -tlp|grep proftpd  

3. Überprüfen Sie die Fehlermeldungen beim Zugriff auf ProFTPD:

  sudo tail -20 /var/log/proftpd/proftpd.log  

4. Überprüfen Sie die TLS-Zugriffsfehlermeldungen :

  sudo tail -20 /var/log/proftpd/tls.log  

5. Konnektivitätstests an Port 21 mit Telnet:

  sudo telnet 192.0.2.10 21  

6. Konnektivitätstests an Port 21 mit TLS:

  sudo openssl s_client -connect 192.0.2.10:21 -stattls ftp  

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *