Rootserver mit FTP über SSL austatten – Teil 6 der 10 teiligen Artikelserie

Auf den Rootserver FTP und SSL einrichten sowie mit Filezilla zugreifen

Überblick

Im sechsten Teil der Artikelserie: Konfiguration eines Rootserver in 10 Teilen, möchte ich zeigen, wie man den FTP-Dienst auf dem Ubuntu Rootserver installiert und konfiguriert. Ein wichtiger Aspekt dabei ist, dass der FTP-Dienst prinzipiell nicht sicher ist, weshalb man diesen mit einem SSL-Zertifikat ausstatten sollte, damit die Verbindung verschlüsselt abläuft.

Installation und Konfiguration von vsftpd

Auch die Installation von vsftpd läuft über den apt-Paketmanager.

sudo apt-get install vsftpd

Nach der Installation ist der Dienst bereits auch aktiv. Die Konfigurationsdatei mit dem Namen vsftpd.conf liegt im /etc Verzeichnis. Auch hier ist es sinnvoll vor der Konfiguration ein Backup zu erstellen. Diese Datei sollte natürlich auch entsprechend angepasst werden. Einige wichtige Einstellungen sind in der nachfolgenden Tabelle aufgelistet.

KonfigurationseinstellungenBeschreibung des Parameters
local_enable=YESLokalen Benutzer den Zugriff erlauben
write_enable=YES
Den Benutzers Schreibrechte gewähren
anonymous_enable=NOKeinen anonymen Zugriff erlauben
anon_upload_enable=NO
Keine anonyme Uploads erlauben
chroot_local_user=YES
Benutzer in deren Homeverzeichnis beschränken
userlist_enable=YES
Benutzerliste aktivieren!
userlist_file=/etc/vsftpd.user_list
Nur die aufgeführten Benutzer haben einen FTP Zugang

Mit diesen obigen Einstellungen ist ein ftp Zugriff auf den Server möglich. Dieser ist allerdings noch nicht per Zertifikat abgesichert. Genau das zeige ich euch im nächsten Abschnitt. Übrigens muss man nach jeder Änderung an der Konfigurationsdatei den vsftpd Dienst neu starten.

Rootserver Zugriff per FTP - Unsicherer Zugriff mittels vsftpd
Rootserver Zugriff per FTP – Unsicherer Zugriff mittels vsftpd
/etc/init.d/vsftpd restart

Absichern des Zugriffs mit einem SSL Zertifikat

Um den Zugriff per FTP besser zu schützen, sollte man ein SSL- Zertifikat verwenden. Ich habe hierfür ein eigenes Zertifikat generiert. Das geht indem man openssl am Server installiert.

sudo apt-get install openssl

Bevor man jetzt das Zertifikat erzeugt, macht es Sinn sich einen Ordner anzulegen, indem man sämtliche Zertifikate ablegt. Ich nenne den Ordner mal secure und erstelle ihn im /etc/ssl Verzeichnis. Die Rechte werden dabei so vergeben, dass nur der Besitzer alle Rechte erhält.

mkdir -p /etc/ssl/secure
chmod 700 /etc/ssl/eecure

Mit der folgenden Befehlszeile wird nun das Zertifikat erzeugt.

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/secure/vsftpd.pem -out /etc/ssl/secure/vsftpd.pem
Rootserver Zugriff per FTP - Generierung eines SSL-Zertifikats mittels opennssl
Rootserver Zugriff per FTP – Generierung eines SSL-Zertifikats mittels opennssl

Bei der Generierung des Zertifikats werden natürlich neben der Key-Länge auch grundsätzliche Daten wie Country Name, Adresse etc. benötigt. Jetzt ist es noch wichtig, dem vsftpd Server mitzueilen, dass er SSL verwenden soll. Hierzu muss man die vsftpd.conf Datei öffnen und folgende Einstellungen vornehmen.

KonfigurationsparameterBeschreibung des Parameters
ssl_enable =YESSSL einschalten
force_local_logins_ssl=YESSSL erzwingen
rsa_cert_file=/etc/ssl/secure/vsfptd.pemPfad zum SSL Zertifikat

Beim Zugriff über Filezilla wird jetzt das Zertifikat explizit angezeigt und man kann sich die jeweiligen Daten (Company Name, Email etc.) ansehen. Zuvor muss in den Einstellungen natürlich auch angeben werden, dass FTP mit TLS verwendet werden soll, sofern es verfügbar ist.

Rootserver Zugriff per FTP mit TLS in Filezilla einstellen
Rootserver Zugriff per FTP mit TLS in Filezilla einstellen

Übrigens zeigt Filezilla durch das Schlosssymbol in der Statuszeile auch an, dass die Verbindung verschlüsselt ist.

Rootserver Zugriff per FTP mit TLS - Anzeige des Zertifikats
Rootserver Zugriff per FTP mit TLS – Anzeige des Zertifikats
Rootserver Zugriff per FTP mit TLS - Anzeige des Zertifikats
Rootserver Zugriff per FTP mit TLS – Anzeige des Zertifikats

Fazit

Prinzipiell ist der FTP Zugang zum Rootserver sehr schnell eingerichtet. Aus Sicherheitsgründen sollte man aber unbedingt ein Zertifikat verwenden, da der Zugriff sonst komplett unverschlüsselt ist und damit sehr unsicher. Generell würde ich empfehlen der FTP Dienst auch nur zu starten wenn er unbedingt gebraucht wird. So wie z.B. im nächsten Artikel der Serie, wo auf dem Rootserver WordPress installiert wird.

Zum Teil 5 Artikelserie Zum Teil 7