Kategorie:OPNsense/Zertifikatsverwaltung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' | '''topic''' - Kurzbeschreibung | ||
== Beschreibung == | == Beschreibung == | ||
== Installation == | == Installation == | ||
== Anwendungen == | == Anwendungen == | ||
=== | === Problembehebung === | ||
== | == Aufruf == | ||
=== Optionen === | === Optionen === | ||
=== Parameter === | === Parameter === | ||
Zeile 14: | Zeile 14: | ||
== Dokumentation == | == Dokumentation == | ||
=== RFC === | === RFC === | ||
=== Man- | === Man-Page === | ||
=== Info-Pages === | === Info-Pages === | ||
== Siehe auch == | == Siehe auch == | ||
== Links == | == Links == | ||
=== Projekt | === Projekt === | ||
=== Weblinks === | === Weblinks === | ||
== Testfragen == | == Testfragen == | ||
<div class="toccolours mw-collapsible mw-collapsed"> | <div class="toccolours mw-collapsible mw-collapsed"> | ||
Zeile 44: | Zeile 43: | ||
</div> | </div> | ||
= TMP = | = TMP = | ||
Zeile 72: | Zeile 71: | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| Services / Let's Encrypt / Accounts → Add* Haken bei: enabled | || Services / Let's Encrypt / Accounts → Add* Haken bei: enabled | ||
* Name: z. B. lets-encrypt-production | * Name: z. B. lets-encrypt-production | ||
* E-Mail-Address: <an diese E-Mail-Adresse gelangen ihre Zertifikate betreffende Informationen wie z. B. Warnungen bei Ablauf der Gültigkeit> | * E-Mail-Address: <an diese E-Mail-Adresse gelangen ihre Zertifikate betreffende Informationen wie z. B. Warnungen bei Ablauf der Gültigkeit> | ||
|- | |- | ||
|} | |} | ||
Zeile 81: | Zeile 80: | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| Services / Let's Encrypt / Validadtion Methods → Add* Haken bei: enabled | || Services / Let's Encrypt / Validadtion Methods → Add* Haken bei: enabled | ||
* Name: z. B. http-01 | * Name: z. B. http-01 | ||
* Challenge Type: HTTP-01 | * Challenge Type: HTTP-01 | ||
* HTTP-01 | * HTTP-01 | ||
Zeile 99: | Zeile 98: | ||
|| Services / Let's Encrypt / Certificates → Add* Haken bei: enabled | || Services / Let's Encrypt / Certificates → Add* Haken bei: enabled | ||
* Common Name: nextcloud.ihre-schule.de | * Common Name: nextcloud.ihre-schule.de | ||
* Alt Names: z. B. www.nextcloud.ihre-schule.de (damit der Dienst auch mit vorangestelltem www erreichbar ist) | * Alt Names: z. B. www.nextcloud.ihre-schule.de (damit der Dienst auch mit vorangestelltem www erreichbar ist) | ||
* LE Account: z. B. lets-encrypt-production | * LE Account: z. B. lets-encrypt-production | ||
* Validation Method: http-01 | * Validation Method: http-01 | ||
* Haken bei: Auto Renewal | * Haken bei: Auto Renewal | ||
Zeile 149: | Zeile 148: | ||
{| style="border-spacing:0;width:17cm;" | {| style="border-spacing:0;width:17cm;" | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| Services / HAProxy / Settings / Virtual Services / Public Services / https_lan (Dienst für ausschließlich interne https-Anfragen)* SSL Offloading / Certificates: z. B. fog.ihre-schule.de, usermanagement.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate) | || Services / HAProxy / Settings / Virtual Services / Public Services / https_lan (Dienst für ausschließlich interne https-Anfragen)* SSL Offloading / Certificates: z. B. fog.ihre-schule.de, usermanagement.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate) | ||
Services / HAProxy / Settings / Virtual Services / Public Services / https_lan_wan (Dienst für interne und externe https-Anfragen)* SSL Offloading / Certificates: z. B. nextcloud.ihre-schule.de, collabora.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate) | Services / HAProxy / Settings / Virtual Services / Public Services / https_lan_wan (Dienst für interne und externe https-Anfragen)* SSL Offloading / Certificates: z. B. nextcloud.ihre-schule.de, collabora.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate) | ||
|- | |- | ||
|} | |} | ||
Zeile 227: | Zeile 226: | ||
Somit werden nach Erneuerung des Zertifikats für ldap.ihre-schule.de automatisch die Zertifikatsdateien auf den LDAP-Server kopiert und anschließend der DC-Dienst neu gestartet. | Somit werden nach Erneuerung des Zertifikats für ldap.ihre-schule.de automatisch die Zertifikatsdateien auf den LDAP-Server kopiert und anschließend der DC-Dienst neu gestartet. | ||
[[Kategorie:OPNsense | [[Kategorie:OPNsense/Dienste]] |
Aktuelle Version vom 12. November 2024, 19:38 Uhr
topic - Kurzbeschreibung
Beschreibung
Installation
Anwendungen
Problembehebung
Aufruf
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Page
Info-Pages
Siehe auch
Links
Projekt
Weblinks
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Mit dem Let's-Encrypt-Plugin können Sie für Ihre Webdienste kostenlos gültige X.509-Zertifikate von der Zertifizierungsstelle Let's Encrypt generieren. Dies ermöglicht eine verschlüsselte Nutzung Ihrer Webdienste über https ohne Zertifikatswarnungen. Auch für verschlüsselte ldap-Anfragen an den Samba-Server können Let's-Encrypt-Zertifikate eingesetzt werden.
Installation und Konfiguration des acme-Plugins
Das Plugin muss zunächst über die Firmwareverwaltung installiert werden:
System / Firmware / Plugins / os-acme-client → Install |
Grundkonfiguration
Services / Let's Encrypt / Settings* Haken bei: Enable Plugin
|
Anlage eines Let's-Encrypt-Kontos
Services / Let's Encrypt / Accounts → Add* Haken bei: enabled
|
Anlage einer Validierungsmethode
Services / Let's Encrypt / Validadtion Methods → Add* Haken bei: enabled
|
Anlage von Zertifikaten
Richten Sie für jeden Ihrer Webdienste - auch für jene, die nur innerhalb des Schulhauses erreichbar sein sollen - ein Zertifikat ein.
Beispiel für den Webdienst Nextcloud:
Services / Let's Encrypt / Certificates → Add* Haken bei: enabled
|
Den HAProxy für die Verwendung von Let's Encrypt konfigurieren
Durch die Angaben unter Settings und bei der Validierungsmethode http-01 hat das Let's-Encrypt-Plugin entsprechende Eintragungen im HAProxy vorgenommen. Überprüfen Sie deren Anwesenheit:
* HAProxy / Settings / Real Servers → acme_challenge_host
|
Stellen Sie sicher, dass im Public Service http_lan_wan die Regel redirect_acme_challenges an erster Stelle auftaucht. Sie können die Reihenfolge per Drag & Drop ändern:
HAProxy / Settings / Virtual Services / Public Services → http_lan_wan* Select Rules: redirect_acme_challenges (vor allen anderen Regeln) |
Zertifikate generieren
Nachdem der HAProxy für die ACME-Challenge-Anfragen konfiguriert ist, können nun die Zertifikate generiert werden:
Services / Let's Encrypt / Certificates → Issue/Renew Certificates Now (bzw. Klick auf das Neu-Laden-Symbol neben jedem Zertifikat) |
Ob das Generieren der Zertifikate funktioniert hat, kann unter Services / Let's Encrypt / Log File nachverfolgt werden. Suchen Sie bei Problemen nach dem Schlagwort "error".
Zertifikate im HAProxy hinterlegen
Damit der HAProxy die mit Let's Encrypt generierten Zertifikate nun bei https-Anfragen bereitstellt, müssen diese bei den entsprechenden Public-Services hinterlegt werden:
Services / HAProxy / Settings / Virtual Services / Public Services / https_lan (Dienst für ausschließlich interne https-Anfragen)* SSL Offloading / Certificates: z. B. fog.ihre-schule.de, usermanagement.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate)
Services / HAProxy / Settings / Virtual Services / Public Services / https_lan_wan (Dienst für interne und externe https-Anfragen)* SSL Offloading / Certificates: z. B. nextcloud.ihre-schule.de, collabora.ihre-schule.de (Entfernen Sie das zuvor hinterlegte Zertifikat: Web GUI SSL certificate) |
Besonderheit: Zertifikat für verschlüsselte ldap-Anfragen an den Samba-Server
Da der HAProxy die ldap-Anfragen nicht verarbeiten kann, wird der betroffene Port 636 für Anfragen von außen über eine NAT-Regel an den Samba-Server weitergeleitet:
Firewall / NAT / Port Forward→ Add* Interface: WAN
|
Die Zertifikatsgenerierung für ldap.ihre-schule.de soll aber trotzdem über das Let's-Encrypt-Plugin nach obigen Beispiel erfolgen.
Da der HAProxy die ldap-Anfragen aber nicht entgegennimmt, muss der Samba-Server selbst die Zertifikatsinformationen erhalten und ausgeben. Nachdem das Let's-Encrypt-Plugin das Zertifikat für ldap.ihre-schule.de generiert bzw. erneuert hat, soll es die Zertifikatsdateien also auf den Samba-Server kopieren. Hierzu sind die nachfolgenden Schritte erforderlich:
SSH-Kommunikation zwischen Samba-Server und OPNsense vorbereiten
Siehe hierzu die Beschreibung zum Samba-Server.
Skript zum Kopieren der Zertifikate
- Damit nach einer Erneuerung des Zertifikats von ldap.ihre-schule.de durch das Let's-Encrypt-Plugin dieses auf dem LDAP-Server landet, ist ein Skript erforderlich, welches die Dateien von OPNsense auf den LDAP-Server kopiert, entsprechende Dateiberechtigungen setzt und den Domänen-Controller neu startet.
- Dieses Skript wird in OPNsense so hinterlegt, dass es später an entsprechender Stelle in der Webmin-Oberfläche ausgewählt werden kann.
- Achten Sie bei der Verwendung der nachfolgenden Datei auf die Verwendung der richtigen IP-Adresse und Pfade.
vi /usr/local/opnsense/service/conf/actions.d/actions_ldapserver.conf
Datei vi /usr/local/opnsense/service/conf/actions.d/actions_ldapserver.conf
[ldap-upload-certs] command:scp -i /root/.ssh/id_rsa_samba /var/etc/acme-client/home/ldap.ihre-schule.de/* root@10.1.100.7:/etc/samba/tls parameters: type:script message:copy certificates to ldap-server description:LDAP-Server - Copy Certificates [ldap-restart-dc] command:ssh -i /root/.ssh/id_rsa_samba root@10.1.100.7 "chmod -R 0600 /etc/samba/tls && service samba-ad-dc restart" parameters: type:script message:restarting ldap-server-dc description:LDAP-Server - Restart DC
Damit das Skript im System zur Verfügung steht muss der Dienst configd neu gestartet werden:
service configd restart
Skript beim Let's-Encrypt-Zertifikat hinterlegen
Zunächst müssen die beiden Aktionen des Skriptes als Automatisierungsaufgaben im Let's-Encrypt-Plugin definiert werden:
Services / Let's Encrypt / Automation → Add* 1. Automatisierungsaufgabe
|
Anschließend werden die beiden Automatisierungsaufgaben dem Zertifikat ldap.ihre-schule.de zugeordnet.
Services / Let's Encrypt / Certificates / ldap.ihre-schule.de → edit* Automations (Achtung: Reihenfolge einhalten!)
|
Somit werden nach Erneuerung des Zertifikats für ldap.ihre-schule.de automatisch die Zertifikatsdateien auf den LDAP-Server kopiert und anschließend der DC-Dienst neu gestartet.
Diese Kategorie enthält zurzeit keine Seiten oder Medien.