vsftpd mit SSL Verschluesselung

An English version of this article can be found on my Website at work.

Um vsftpd die Moeglichkeit zu SSL verschluesseltem Transfer zu geben, braucht man zuerst ein SSL Zertifikat. Ich beschreibe das anhand eines selbstsignierten Zertifikats, was zwar nicht taugt, um die Echtheit des Kommunikationspartners zu bestaetigen, aber dafuer gratis ist.

Alle Beispiele beziehen sich auf RedHat Enterprise Linux 4 oder seine Derivate Tao 4 und CentOS 4.

Erst erstellt man das Zertifikat und den Schluessel


openssl req -new -x509 -days 365 -keyout praxis.key -out praxis.crt

Danach entfernt man die Passphrase vom Schluessel, damit vsftpd ohne Passworteingabe starten kann


openssl rsa -in praxis.key -out praxis_clear.key

Und zuletzt gibt man sowohl das Zertifikat, als auch den Schluessel in eine Datei, auf die vsftpd zugreifen kann:


cat praxis.crt praxis_clear.key > /usr/share/ssl/certs/vsftpd.pem

Um das Zertifikat auch zu verwenden muss man nur noch folgende Zeilen in die /etc/vsftpd/vsftpd.conf einfuegen:


ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem

Die beiden force_...=NO sind noetig, damit auch Clients zum FTP verbinden koennen, die kein SSL beherrschen. Wenn man das verhindern und nur verschluesselten Datenverkehr ermoeglichen will, braucht man nur beide auf "YES" zu setzen.

Blog Reaktionen

Bisher keine Reaktionen

Trackback URL für diesen Beitrag:

http://www.widhalm.or.at/trackback/122

Kommentare

Ich habe Deinen Beitrag erst

Ich habe Deinen Beitrag erst heute gesehen ...
Danke für die Anleitung, so ging das Erweitern auf ftp+ssl ja fix :)

Eine Ergänzung:

Es ist (bei mir) noch der Eintrag rsa_private_key_file mit dem Pfad zum Private key des Serverzertifikats notwendig. Aber dann lief der Server wieder.

super howto

vielen dank, klappt ohne probleme.

Cert & Key für Rechner erzeugen

Mit dem zusätzlichen Parameter -nodes im openssl req aufruf kann man sich das anschliessende decrypten des privaten schluessels sparen. Also kürzer:

openssl req -new -x509 -days 365 -nodes -keyout praxis_clear.key -out praxis.crt
cat praxis.crt praxis_clear.key > /usr/share/ssl/certs/vsftpd.pem

Super Seite!

Hat uns sehr gut ....und schnell weitergeholfen.

cipher list

Auch ich bedanke mich beim Autor für dieses Howto. Ich habe jedoch ein Problem dabei, die Verschlüsselung zu nutzen. Wenn ich mich mit meinem FTP-Client "lftp" mit dem vsftpd verbinde, bekomme ich beim Ausführen von "ls" die folgende Meldung:

ls: Fatal error: SSL_connect: no cipher list

Ich habe nun schon die man page zu vsftpd gelesen, aber durch den Abschnitt für ssl_ciphers kam ich der Problemlösung leider nicht näher. Ich bin mir auch der Bedeutung dieser Variable nicht bewusst, weswegen ich dort leider auch nicht mal andere Werte probieren kann.

Vielleicht weiß der Autor, oder einer der anderen Leser ja Bescheid, was zu tun ist, obwohl der Erstellungszeitpunkt schon lange her ist.

Grüße,

mah.

Danke

Funktioniert super, auch unter Debian.

Datentransfer hängt...

Hi,
also danke auch erstmal, im Prinzip funktionierts bei mir auch :) aber sobald der Datentransfer einsetzen soll (also nach dem *erfolgreichen* TLS handshake ) hängt die ganze sache. Ich hab das selbe Phänomen übrigens auch beim proftpd. Weiss jemand hier zufällig was über dieses Phänomen? Firewallregeln gibts nicht, alle policies sind auf ACCEPT. Wieso gehts trotzdem nicht weiter?

thx u. greetz
abiszett

Geht mir _ganz genauso_. Hat

Geht mir _ganz genauso_. Hat da vielleicht irgendjemand eine Idee?

Danke

Super Danke !

Das habe ich gesucht !!!

Gruß

Björn

Freut mich!

Schön, dass ich helfen konnte. :-)

Gruss,
Thomas

prima, die zeile hab ich

prima, die zeile hab ich gesucht. danke

Aber gern

Freut mich wirklich sehr, dass ich helfen konnte.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <div> <span> <br>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Spoilers can be placed between [spoiler][/spoiler] tags in order to be masked using CSS. Users will need to highlight the text to read content.

  • Twitter-style @usersnames are linked to their Twitter account pages.
  • Twitter-style #hashtags are linked to search.twitter.com.
By submitting this form, you accept the Mollom privacy policy.
Inhalt abgleichen
Nerd
Drupal SEO