Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
zertifikate_installieren_mit_acme-clients [2023/01/13 09:36] rweltezertifikate_installieren_mit_acme-clients [2023/01/13 12:45] (aktuell) nw75
Zeile 2: Zeile 2:
  
  
-Sinnvollerweise sollte die Nutzung von Zertifikaten für den Serverbetrieb automatisiert werden. Das RZ empfiehlt dies für alle Systeme, die länger als nur temporär betrieben werden. Hierzu kommt das “Automated Certificate Management Environment (ACME)” zum Einsatz. +Sinnvollerweise sollte die Nutzung von Zertifikaten für den Serverbetrieb automatisiert werden, um den Administrationsaufwand zu reduzieren und Hinweise auf abgelaufene Zertifikate zu vermeiden. Das RZ empfiehlt dies für alle Systeme, die länger als nur temporär betrieben werden. Hierzu kommt das inzwischen gut erprobte und stabile “Automated Certificate Management Environment (ACME)” zum Einsatz. 
  
 **Vorgehen:** **Vorgehen:**
    
-Es wird ein Admin definiert, der für eine oder mehrere Subdomain(s), z.B. physik.uni-freiburg.de zuständig ist. Dieser wendet sich an unsere PKI Stelle ([[pki@rz.uni-freiburg.de]]) und lässt sich einen ACME-Account einrichten. +Es wird in den einzelnen Gliederungen bzw. Zuständigkeitsbereichen ein Admin bestimmt, der für eine oder mehrere Subdomain(s), z.B. physik.uni-freiburg.de zuständig ist. Dieser wendet sich an die PKI Stelle ([[pki@rz.uni-freiburg.de]]) des RZs und lässt sich einen ACME-Account einrichten.  
 + 
 +<note>Hinweis: Der Admin sollte auf jeden Fall einen regulären Mitarbeiter*in Status an der Universität Freiburg besitzen und bereits in der Vergangenheit über das DFN Serverzertifikate beantragt haben. War dies bisher nicht der Fall, wird ein formloses Bestätigungsschreiben vom Dekanat bzw. Leiter*in der Einrichtung benötigt.</note> 
 + 
 +Die beantragte Host-Domäne wird dann vom Rechenzentrum im Sectigo-Portal unterhalb der Domäne “uni-freiburg.de” hinzugefügt.  
 + 
 +Es gibt eine ganze Reihe von Tools, die mit dem ACME-Server von Sectigo kommunizieren können und dabei für viele Standarddienste bereits Module enthalten, um diese zu konfigurieren (z.B. Apache, Nginx, ...). 
 +Eine Übersicht über diverse ACME Clients findet sich unter http://acmeclients.com. Ein weiterer, guter Einstiegspunkt hierfür ist zudem https://certbot.eff.org oder auch https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04 
 +Der Client ist für viele Betriebssysteme verfügbar, zudem können auf der Website Konfigurationsdateien erstellt werden.  
 + 
 +<note important>Für Windows-Systeme kann dieser ACME Client jedoch für Apache / Nginx Server die Zertifikate nur beziehen, diese jedoch nicht automatisiert installieren. Ein ACME-Client mit GUI für Windows findet sich hier: https://www.win-acme.com - eine Anleitung wird momentan erstellt.</note> 
 + 
 +Diese Tools können einerseits direkt auf dem Server laufen, der mit dem Zertifikat arbeitet. Zudem können sie aber auch für eine ganze Serverlandschaft mit unterschiedlichen Administratoren auf einer dedizierten Maschine installiert werden, um die Zertifikate auf diese Weise dort zu beziehen und dann automatisiert zu verteilen.  
 + 
 +<note important>Achtung: Der Account sollte auf jeden Fall nur auf sicheren Systemen eingesetzt werden, wo Nutzende nicht durch booten mit einem anderen Betriebssystem oder das Ausbauen des Datenträgers direkt Zugriff zum Filesystem erlangen können (Pool-PCs, Workstations in gemeinsam genutzten Laboren, Büros, ... o.ä.).</note>
  
-Der zu benennende Admin sollte auf jeden Fall einen regulären Mitarbeiter*in Status der Universität Freiburg besitzen und optimalerweise dem Rechenzentrum bekannt sein (in der Vergangenheit wurden von der Person bereits über das DFN Serverzertifikate beantragt). -> war dies noch nicht der Fall, wird ein formloses Schreiben vom Dekan benötigt, der ihn hierfür befugt. 
-Unter Umständen muss die Host-Domäne noch im Sectigo-Portal unter “Domain” der Domäne “uni-freiburg.de” hinzugefügt werden. Dies ist zum Beispiel dann der Fall, wenn der ACME-Account weiter eingeschränkt werden soll, bspw. auf: “omero.uni-freiburg.de”. Sodass dieser Account keine Zertfikate für “uni-freiburg.de” erstellen kann. 
-Es gibt eine ganze Reihe von Tools, die mit dem ACME-Server kommunizieren können und dabei für viele Standarddienste bereits Module enthalten, um diese zu konfigurieren (z.B. Apache, Nginx, ...)  
-Eine Übersicht über diverse ACME Clients findet sich unter http://acmeclients.com. Ein guter Einstiegspunkt hierfür ist zudem https://certbot.eff.org oder auch https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-20-04 
-Der Client ist für viele Betriebssysteme verfügbar, zudem können auf der Website Konfigurationsdateien erstellt werden. Für Windows-Systeme kann dieser ACME Client jedoch für Apache / Nginx Server die Zertifikate nur beziehen, diese jedoch nicht automatisiert installieren. Ein ACME-Client mit GUI für Windows findet sich hier: https://www.win-acme.com  
-Diese Tools können einerseits direkt auf dem Server laufen, der mit dem Zertifikat arbeitet. Oder aber für eine ganze Serverlandschaft mit unterschiedlichen Administratoren auf einer dedizierten Maschine installiert werden, um so die Zertifikate dann automatisch zu verteilen. Der Account sollte auf jeden Fall nur auf sicheren Systemen eingesetzt werden, wo Nutzende nicht einfach durch booten mit einem anderen Betriebssystem Zugriff zum Filesystem erlangen können (Pool-PCs o.ä.). 
 Auf dem System wird dann das jeweilige ACME-Tool konfiguriert, wofür die folgenden Informationen benötigt werden (Username, Passwort, ACME-Server) Auf dem System wird dann das jeweilige ACME-Tool konfiguriert, wofür die folgenden Informationen benötigt werden (Username, Passwort, ACME-Server)
  
  
  
 +<WRAP center round box 60%>Beispiel für certbot (Linux):
  
 +**/etc/letsencrypt/cli.ini**
 +
 +<blockquote>max-log-backups = 0
  
-Beispiel für certbot (Linux): 
-/etc/letsencrypt/cli.ini 
----- 
-max-log-backups = 0 
 email = <userid>@rz.uni-freiburg.de email = <userid>@rz.uni-freiburg.de
 +
 agree-tos = true agree-tos = true
 +
 server = https://acme.sectigo.com/v2/GEANTOV server = https://acme.sectigo.com/v2/GEANTOV
 +
 eab-kid = <eab-kid> eab-kid = <eab-kid>
-eab-hmac-key = <hmac> 
------- 
  
-<blockquote>Hinweis: Das Setzen von https://acme.sectigo.com/v2/GEANTOV bietet den Vorteil, dass im Zertifikat als Stammorganisation GEANT steht und *nicht* SECTIGO. Das ist quasi der Ersatz für "DFN Forschungsverein...". Hierfür muss jedoch ein ACME-Account in dem oben genannten Realm erstellt werden (Kontakt: [[pki@rz.uni-freiburg.de]])</blockquote>+eab-hmac-key = <hmac></blockquote
 + 
 + 
 +</WRAP> 
 + 
 + 
 +{{tag>zertifikate sicherheit}} 
 + 
 +<note>Hinweis: Das Setzen von https://acme.sectigo.com/v2/GEANTOV bietet den Vorteil, dass im Zertifikat als Stammorganisation GEANT und *nicht* SECTIGO steht. Das ist quasi der Ersatz für "DFN Forschungsverein...". Hierfür muss jedoch ein ACME-Account in dem oben genannten Realm erstellt werden (Kontakt: [[pki@rz.uni-freiburg.de]])</note> 
 + 
 +<note tip>Für das Renewal der Zertifikate kann man entsprechende Automatismen setzen (hier das Beispiel für einen Systemd Timer): 
 +</note> 
 + 
 + 
 +<WRAP center round box 60%> 
 +**/etc/systemd/system/certbot-renewal.timer**
  
-Für das Renewal der Zertifikate kann man entsprechende Automatismen setzen (hier das Beispiel für einen Systemd Timer): 
-/etc/systemd/system/certbot-renewal.timer 
--------------- 
 [Unit] [Unit]
 +
 Description=Timer for Certbot Renewal Description=Timer for Certbot Renewal
 +
 [Timer] [Timer]
 +
 OnBootSec=300 OnBootSec=300
 +
 OnUnitActiveSec=1d OnUnitActiveSec=1d
 +
 [Install] [Install]
 +
 WantedBy=multi-user.target WantedBy=multi-user.target
------------------------ + 
-/etc/systemd/system/certbot-renewal.service + 
---------------+ 
 + 
 + 
 + 
 +**/etc/systemd/system/certbot-renewal.service** 
 [Unit] [Unit]
 +
 Description=Certbot Renewal Description=Certbot Renewal
 +
 [Service] [Service]
 +
 ExecStart=/usr/bin/certbot renew --post-hook "systemctl restart nginx" ExecStart=/usr/bin/certbot renew --post-hook "systemctl restart nginx"
 +
 +</WRAP>
 +
  
QR-Code
QR-Code ACME für Sectigo Zertifikate (erstellt für aktuelle Seite)