TLS

Aus C3D2
Version vom 8. Juli 2021, 08:02 Uhr von W01f (Diskussion | Beiträge) (Versuch dem aktuellen Stand näher zu kommen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

TSL

let me troll that for you

Zertifikate

Wir benutzen für alle webbasierten Dienste Letsencrypt. Die Zertifikate werden aktuell zentral auf inbert im LXC Container web generiert, die Container jabber und mail haben einen Timer für renew.

Dafür werden alle ACME-Anfragen (.well-known/acme-challenge) auf Port 80 auf ein für letsencrypt schreibbares Verzeichnis umgeleitet. Alle anderen Anfragen werden auf HTTPS weitergeleitet.

 #/etc/apache2/sites-enabled/000-letsencrypt
 <VirtualHost *:80>
   ServerAlias *
   RewriteEngine On
   RewriteCond %{HTTPS} !=on
   RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
   RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
   Alias "/.well-known/acme-challenge" "/var/www/letsencrypt/.well-known/acme-challenge"
   <Directory "/var/www/letsencrypt/.well-known/acme-challenge">
     Header set Content-Type "application/jose+json"
   </Directory>
 </VirtualHost>

Die Zertifikate wurden folgendermaßen generiert:

 letsencrypt certonly --renew-by-default --webroot --webroot-path /var/www/letsencrypt/ --text \
   -d c3d2.de \
   -d netzbiotop.org \
   -d datenspuren.de \
   -d git.c3d2.de \
   -d media.c3d2.de \ 
   -d offen.c3d2.de \
   -d pentamedia.org \
   -d pentapad.c3d2.de \
   -d ratskarte.offenesdresden.de \
   -d redmine.c3d2.de \
   -d webmail.c3d2.de \
   -d wiki.c3d2.de \
   -d www.c3d2.de \
   -d www.datenspuren.de \
   -d www.pentamedia.org \
   -d cccdd.de \
   -d dresden.ccc.de

Das Zertifikat werden automatisch am Anfang eines Monat erneuert:

 # letsencrypt.timer
 [Unit]
 Description=Renew Let's Encrypt certificate monthly https://wiki.c3d2.de/TLS#Zertifikate
 [Timer]
 OnCalendar=monthly
 Persistent=true
 [Install]
 WantedBy=multi-user.target
 # letsencrypt.service
 [Unit]
 Description=Renew Let's Encrypt certificate monthly https://wiki.c3d2.de/TLS#Zertifikate
 [Service]
 Type=oneshot
 ExecStart=/usr/bin/letsencrypt certonly \
         --agree-tos \
         --renew-by-default \
         --webroot \
         --webroot-path /var/www/letsencrypt/ \
         --email joerg@higgsboson.tk \
         --text \
         -d c3d2.de \
         -d netzbiotop.org \
         #...
         -d dresden.ccc.de
  ExecStartPost=/bin/systemctl reload apache2

Um den Service manuell nach Aktualisierungen an der auszuführen, zuvor systemctl daemon-reload ausführen und anschließend systemctl start letsencrypt starten.

SSL-Test

Interessant und informativ bezüglich des Konfigurationstests ist definitiv diese Seite von Qualys.

Siehe auch