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.
Kommentare
prima, die zeile hab ich
prima, die zeile hab ich gesucht. danke
Aber gern
Freut mich wirklich sehr, dass ich helfen konnte.
Danke
Super Danke !
Das habe ich gesucht !!!
Gruß
Björn
Freut mich!
Schön, dass ich helfen konnte. :-)
Gruss,
Thomas
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
Funktioniert super, auch unter Debian.
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.
Super Seite!
Hat uns sehr gut ....und schnell weitergeholfen.
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 howto
vielen dank, klappt ohne probleme.
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.
hm
Also irgendwie gehts bei mir nicht. Könnte echt kotzen.
Gruß von Wie mache ich einen Screenshot
Wo hakts denn?
Eventuell kann ich weiterhelfen. Und Screenshots von Shellcommands anzufertigen ist wohl etwas sinnfrei, oder? Noch dazu, wo ich kein Windows verwende, mit dem ich Deine Anleitung nachvollziehen könnte.
Pingback
Seiten
Neuen Kommentar schreiben