Kategorie:OPNsense/Zertifikatsverwaltung
Zertifikatsverwaltung
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.= Installation und Konfiguration des OpenVPN-Servers =
Grundinstallation
Mithilfe des OpenVPN-Servers können Sie z. B. als Administrator von außen auf das interne Netzwerk zugreifen.
Für die Einrichtung des OpenVPN-Servers steht ein Wizard zur Verfügung, der auch die notwendigen Firewall-Einstellungen hinterlegt:
VPN / OpenVPN / Servers → Use a wizard to to setup a new server* Type of Server: Local User Access
|
Anlegen einer VPN-Gruppe
Durch Anlage einer Gruppe für den VPN-Zugriff, kann man folgende Festlegungen tätigen:* Berechtigung für die VPN-Einwahl nur für Mitglieder der Gruppe
- Beschränkung der OPNsense-Web-Oberfläche für die Gruppenmitglieder, sodass zugehörige Benutzer lediglich ihr eigenes Passwort ändern können
System / Access / Groups → Add* Group name: openvpnusers → Save
|
Anlegen von VPN-Benutzern
System / Access / Users → Add* Username: <gewünschter Benutzername>
|
Export der VPN-Zugangsdaten für angelegte User
VPN / OpenVPN / Client Export* Hostname: IP oder Dyndns-Adresse
|
Unterhalb der Einstellungsmöglichkeiten können für angelegte Benutzer deren individuellen Zugangsdaten heruntergeladen werden. Ggf. wählen Sie hierzu bei Export Type eine passende Downloadmöglichkeit.
Client-Installationsdateien und Konfigurationsdateien ausgeben
Nach Anlage eines VPN-Users können Sie diesem für sein System (z. B. Windows, Mac, ...) personalisierte Dateien für Installation und Konfiguration des OpenVPN-Clients aushändigen:
VPN / OpenVPN / Client Export
→ OpenVPN Clients→ Wahl der gewünschten Dateien des entsprechenden Users |
Diese Kategorie enthält zurzeit keine Seiten oder Medien.