So installierst du ProFTPd FTP Server unter FreeBSD
FTP (File Transfer Protocol) ist wahrscheinlich die beliebteste Methode, um Dateien auf einen Server hochzuladen. ProFTPD ist ein beliebter und leicht konfigurierbarer FTP-Server für Unix-ähnliche Systeme, der SSL/TLS-Verschlüsselung unterstützt.
Diese Anleitung zeigt dir, wie du den FTP-Server unter FreeBSD 12.0 mit der Serveranwendung ProFTPd einrichtest. Wir werden den ProFTPd-Server installieren, den Einsatz mit SSL/TLS-Sicherheit einrichten und absichern und den FTP-Benutzer einrichten.
Voraussetzung
Für diese Anleitung verwenden wir das Betriebssystem FreeBSD. Der Server verfügt über 1 GB RAM und 2 CPUs.
Was wir tun werden:
- Pakete aktualisieren und upgraden
- ProFTPd installieren
- ProFTPd konfigurieren
- SSL/TLS ProFTPd einrichten
- FTP-Benutzer einrichten
- Testen
Schritt 1 – Pakete aktualisieren und upgraden
Zunächst aktualisieren wir das Paket-Repository und führen ein Upgrade aller Pakete auf die neueste Version durch. Dazu verwenden wir das Paketverwaltungsprogramm pkg für FreeBSD.
Aktualisiere alle verfügbaren Repositories und aktualisiere alle Pakete mit dem folgenden Befehl auf die neueste Version.
pkg update pkg upgrade
Sobald die Installation abgeschlossen ist, gehst du zum nächsten Schritt über und installierst das Paket ProFTPd.
Schritt 2 – ProFTPd installieren
In diesem Schritt installieren wir das ProFTPd-Paket. Das FreeBSD-Repository stellt das ProFTPd-Paket und ein weiteres Modul für die Backend-Datenbank bereit, zum Beispiel ein Modul für MySQL-, PostgreSQL- und SQLite-Datenbanken.
Zeige alle verfügbaren ProFTPd-Pakete mit dem folgenden Befehl an.
pkg search proftpd
Du erhältst dann das untenstehende Ergebnis.
Installiere nun nur das ProFTPd-Paket mit dem unten stehenden pkg-Befehl.
pkg install proftpd
Sobald die Installation abgeschlossen ist, füge den ProFTPd-Dienst zum Systemstart hinzu.
sysrc proftpd_enable=yes
Starte dann den ProFTPd-Dienst und überprüfe seinen Status.
service proftpd start service proftpd status
Jetzt siehst du, dass der ProFTPd-Dienst auf dem FreeBSD 12.0-System läuft.
In der Standardeinstellung verwendet der Dienst den FTP-Port „21“. Überprüfe die geöffneten Ports auf dem System mit dem Befehl sockstat (siehe unten).
sockstat -4 -l -P tcp
Du wirst sehen, dass der ProFTPd-Dienst auf Port ’21‘ läuft.
Schritt 3 – ProFTPd konfigurieren
Jetzt werden wir unsere ProFTPd-Installation konfigurieren, indem wir die Konfiguration im Verzeichnis „/usr/local/etc“ bearbeiten.
Gehe in das Verzeichnis „/usr/local/etc“ und bearbeite die Konfigurationsdatei „proftpd.conf“ mit dem Editor vim.
cd /usr/local/etc/ vim proftpd.conf
Ändere den „ServerName“ mit deinen Daten und belasse den Port auf dem Standardwert „21“.
ServerName "Hakase-Labs ProFTPd Server" Port 21
Schalte die IPv6-Unterstützung aus und aktiviere das Gefängnis für jeden Benutzer.
UseIPv6 off DefaultRoot ~
Füge die folgende Konfiguration hinzu, um die Serveridentität zu verbergen und die erforderliche gültige Shell für die Benutzeranmeldung zu deaktivieren.
# Hide Server Identity ServerIdent off RequireValidShell no
Aktiviere nun die Logs für das ProFTPd-System und jede Übertragung auf dem System.
# Setup Log Files TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
Speichere und schließe.
Als Nächstes erstellst du das ProFTPd-Protokollverzeichnis „/var/log/proftpd“.
mkdir -p /var/log/proftpd
Starte dann den ProFTP-Dienst mit dem folgenden Befehl neu.
service proftpd restart
Als Ergebnis wurde der ProFTPd-Dienst neu gestartet. Und er ist mit der Grundkonfiguration einsatzbereit.
Schritt 4 – SSL/TLS ProFTPd einrichten
In diesem Schritt werden wir unsere ProFTPd-Installation absichern, indem wir das TLS-Modul für den ProFTPd-Server aktivieren. Wir aktivieren das Modul mod_tls und fügen dann eine zusätzliche TLS-Konfiguration in das ProFTPd-Konfigurationsverzeichnis ein.
Bevor du weitermachst, stelle sicher, dass du die SSL-Zertifikate hast. Kopiere dann die Zertifikatsdateien in das Verzeichnis „/usr/local/etc/ssl“.
cp /pat/to/ssl/*.pem /usr/local/etc/ssl/
Danach gehst du in das Verzeichnis „/usr/local/etc“ und bearbeitest die ProFTPd-Konfigurationsdatei „proftpd.conf“ mit dem Editor vim.
cd /usr/local/etc/ vim proftpd.conf
Füge die „Include“-Konfiguration unten am Ende der Zeile ein.
Include /usr/local/etc/proftpd/tls.conf
Speichern und schließen.
Als nächstes erstellst du die Konfiguration „tls.conf“ im Verzeichnis „/usr/local/etc/proftpd/“.
vim proftpd/tls.conf
Ändere die Details mit deinen eigenen und füge die Konfiguration dort ein.
# Load the TLS Module LoadModule mod_tls.c # Define the SSL/TLS Configuration <IfModule mod_tls.c> TLSEngine on TLSRSACertificateFile /usr/local/etc/ssl/fullchain.pem TLSRSACertificateKeyFile /usr/local/etc/ssl/privkey.pem TLSLog /var/log/proftpd/tls.log TLSProtocol TLSv1.2 TLSRequired on TLSVerifyClient off </IfModule>
Speichere und schließe.
Starte nun den proFTPd-Dienst mit dem folgenden Befehl neu.
service proftpd restart
Damit ist der ProFTPd-Dienst mit aktiviertem SSL/TLS in Betrieb. Jetzt kannst du deine Dateien sicher per FTP auf den Server übertragen.
Schritt 5 – FTP-Benutzer einrichten
In diesem Schritt werden wir einen neuen FTP-Benutzer einrichten. Wir erstellen einen neuen Systembenutzer mit dem Home-Verzeichnis, mit dem Passwort, aber ohne den Shell-Login.
Erstelle einen neuen Benutzer namens „hakase“ mit dem Home-Verzeichnis „/home/hakase“ und mit der Standardshell „nologin“.
Führe den folgenden Befehl aus.
adduser
Gib nun die Details wie unten ein.
Username: hakase Full name: Hakase Labs Uid (Leave empty for default): Login group [hakase]: Login group is hakase. Invite hakase into other groups? []: Login class [default]: Shell (sh csh tcsh bash rbash nologin) [sh]: nologin Home directory [/home/hakase]: Home directory permissions (Leave empty for default): Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: no Use a random password? (yes/no) [no]: no Enter password: Enter password again: Lock out the account after creation? [no]: Username : hakase Password : ***** Full Name : Hakase Labs Uid : 1001 Class : Groups : hakase Home : /home/hakase Home Mode : Shell : /usr/sbin/nologin Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (hakase) to the user database. Add another user? (yes/no): no Goodbye!
Jetzt ist der neue FTP-Benutzer „hakase“ erstellt.
Schritt 6 – Testen
In diesem Schritt testen wir unsere ProFTPd-Installation mit der Software „FileZilla“. Sie kann auf Mac-, Windows- und Linux-Betriebssystemen installiert werden.
Öffne die Filezilla-Anwendung und gib die Serverdaten, den Benutzernamen, das Passwort und den FTP-Port „21“ ein.
Klicke nun auf die Schaltfläche „Quickconnect“ und du wirst aufgefordert, das SSL/TLS-Zertifikat zu überprüfen.
Klicke auf „Ok“, um das Serverzertifikat zu überprüfen.
Daraufhin wirst du mit dem ProFTPd-Server verbunden. Und du kannst deine Dateien sicher über den ProFTPd-Server übertragen, wenn SSL/TLS aktiviert ist.
Die Installation und Konfiguration des ProFTPd-Servers unter FreeBSD wurde erfolgreich abgeschlossen.