„Let’s Encrypt“ mit vsftpd und anderen

Ich habe einen vsftpd laufen und der sollte auch ein Let’s Encrypt Zertifikat für sicheres FTP bekommen.

Ich habe einen vhost im Apache für die Domain angelegt, unter der ich den vsftpd erreichbar mache und dann über den certbot das Zertifikat erstellen lassen. Das klappt auch alles gut, aber der Cronjob für das Renewal der Certifikate startet bei einer Aktualisierung nur den Apache neu und nicht den vsftpd. Und jedes Mal den vsftpd mitneustarten ist ja auch unschön. Daher habe ich einen eigenen Cronjob dafür gebaut.

Aber erst mal die vsftpd config:

rsa_cert_file=/etc/letsencrypt/live/[MYDOMAIN]/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/[MYDOMAIN]/privkey.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Diese Zeilen einfach am Ende hinzufügen und den vsftpd neu starten.

Und das ist der dazugehörige Cronjob.

1 6,18 * * * /usr/local/sbin/certbot-auto certonly --webroot -n -d [MYDOMAIN] --post-hook "/etc/init.d/vsftpd restart" >/dev/null 2>/dev/null

Ich habe dafür gesorgt, dass er 5 Minuten vor dem regulären Cronjob läuft, damit dieses Zertifikat für [MYDOMAIN] auch tatsächlich von diesem Cron erneuert wird. Die Option -d kann auch mehrfach angegeben werden, falls das Zertifikat auf mehrere Domains lauten soll.
Das Plugin --webroot ist in meinem Fall ausreichend. Wenn man aber keinen eigenen Webserver betreibt, kann man auch mit --standalone einen temporären starten, der dann die Authentifizierungen gegenüber Let’s Encrypt übernimmt.

Ähnlich kann man das natürlich auch mit Zertifikaten für Mailserver und andere machen.

Advertisements
„Let’s Encrypt“ mit vsftpd und anderen

Let’s encrypt!

Ich habe meine Seiten auf meinem Debian/Apache Webserver mit SSL verschlüsselt und dabei auf die kostenlose CA Let’s Encrypt! zurückgegriffen.

Es gibt viele Wege, wie man diese CA benutzen kann, aber der certbot ist echt der Hammer. So einfach geht es:

cd /usr/local/sbin
wget https://dl.eff.org/certbot-auto
chmod 750 certbot-auto
certbot-auto --apache

Danach wird man durch alle Schritte geführt und kann inerhalb kürzester Zeit funktionierende SSL Zertifikate nutzen, die sich vollautomatisch installieren.

Die Zertifikate sind zwar nur drei Monate gültig, aber mit certbot installierte Zertifikate lassen sich über diesen automatisch aktualisieren, so dass man sich nie wieder drum kümmern muss. Ein Eintrag wie dieser im Crontab von root reicht:

1 6,18 * * * /usr/local/sbin/certbot-auto renew --post-hook "apache2ctl restart" &>/dev/null

Lasst uns gemeinsam das Internet sicherer machen und „Let’s encrypt!

letsencrypt
https://eliyah.co.il/ ist SSL gesichert!
Let’s encrypt!