Hej,
@Michael und wir haben ein ganz ähnliches Setting (auch „interner FQDN = externer FQDN“) aber wir holen unsere Zertifikate tatsächlich direkt auf dem pädagogischen Server.
Hier mal (ziemlich ungefiltert) meine Notizen von damals, als ich das eingerichtet habe.
Notizen: Let’s Encrypt auf/ für pädagogischem Server
Auf dem pädagogischen Server läuft nur noch ajenti
, kein anderer Webserver wie nginx
oder apache
. Deshalb kann man sich nicht ein Zertifikat von dehydrated
holen lassen.
Der certbot
braucht aber keinen eigenen webserver, weshalb man den verwenden kann.
Voraussetzung: Portweiterleitung
Zumindest für Port 80 muss auf der OpenSense eine Portweiterleitung zum Server eingerichtet werden
Certbot installieren und einrichten
- Es reicht die Version aus den Paketquellen :
sudo apt install certbot
- Mit dem Befehl
sudo certbot certonly --standalone
wird certbot eingerichtet, es werden einige Informationen (E-Mailadresse für Warnungen und natürlich servername für das Zertifikat) abgefragt
- Zudem wird ein cronjob angelegt (in
/etc/cron.d/certbot
). Um zu überprüfen ob alles geklappt hat, kann man sudo certbot renew --dry-run
ausführen
Zertifikate verschieben
Die Zertifikate werden /etc/letsencrypt/live/<servername>
abgelegt.
Die WebUI benötigt ein Bundle aus privkey und fullchain. Deshalb:
cat fullchain.pem privkey.pem > server.le.cert.bundle.pem
(Reihenfolge stimmt so…)
Samba dagegen braucht die Einzeldateien. Siehe unten…
Zunächst müssen die Zertifikate an den richtigen Ort kopiert werden:
cd /etc/letsencrypt/live/server.MEINE-SCHULE.de/
cat fullchain.pem privkey.pem > /etc/linuxmuster/ssl/server.le.cert.bundle.pem
cp privkey.pem /etc/linuxmuster/ssl/server.le.privkey.pem
cp fullchain.pem /etc/linuxmuster/ssl/server.le.fullchain.pem
cp chain.pem /etc/linuxmuster/ssl/server.le.chain.pem
chown root:ssl-cert /etc/linuxmuster/ssl/server.le*
chmod 640 /etc/linuxmuster/ssl/server.le*
chmod 600 /etc/linuxmuster/ssl/server.le.privkey.pem
Das Ganze kann in einen Deploy-Hook für certbot: /etc/letsencrypt/renewal-hooks/deploy/copy_certs.sh
. Angepasste Version von hier
Edit 2021-01: Es muss nach dem renewal nicht nur die WebUI sondern auch Samba neu gestartet werden:
# Restart WebUI && Samba
systemctl restart linuxmuster-webui
systemctl restart samba-ad-dc.service
Zertifikate scharfschalten.
- In der WebUI als gobal-admin unter
Einstellungen > globale Einstellungen
das bundle eintragen (server.le.cert.bundle.pem
). Das setzt einen Eintrag in /etc/ajenti/config.yml
Danach die WebUI neu starten: systemctl restart linuxmuster-webui
-
/etc/samba/smb.conf.admin
editieren
tls keyfile = /etc/linuxmuster/ssl/server.le.privkey.pem
tls certfile = /etc/linuxmuster/ssl/server.le.fullchain.pem
tls cafile = /etc/linuxmuster/ssl/server.le.chain.pem
-
chain.pem
nach var/lib/samba/sysvol/[FQDN]/tls kopieren und in cacert.pem umbenennen
Linuxmuster-client-adsso funktioniert nicht (mehr) - #5 von foer
Danach
- macct-Datei löschen
- linuxmuster-client-adsso-setup auf dem Masterclient ausführen
- Image schreiben
Der letzte Schritt bezieht sich auf den alten Linuxclient - Nicht mehr beachten…
Grüße
Michael