Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
de:certificates [2023/01/09 14:17] – [Überprüfung der Zertifikatskette] Aktualisiert Silke Meyer | de:certificates [2023/01/23 16:00] – [2. Beschaffung eines neuen Zertifikates] oben bereits erwähnte Infos entfernt Silke Meyer | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ~~NOTOC~~ | ||
====== Zertifikate ====== | ====== Zertifikate ====== | ||
- | {{INLINETOC 2}} | + | |
===== Zertifikate für die SAML-basierte Kommunikation ===== | ===== Zertifikate für die SAML-basierte Kommunikation ===== | ||
Zeile 16: | Zeile 15: | ||
Unabhängig davon, welche der u.g. Varianten zum Einsatz kommen, müssen das für die SAML-basierte Kommunikation verwendete Zertifikat und der zugehörige Private Key in der SP-Konfiguration hinterlegt werden. Beim Shibboleth SP ist dies das Element '' | Unabhängig davon, welche der u.g. Varianten zum Einsatz kommen, müssen das für die SAML-basierte Kommunikation verwendete Zertifikat und der zugehörige Private Key in der SP-Konfiguration hinterlegt werden. Beim Shibboleth SP ist dies das Element '' | ||
- | \\ | ||
=== Zertifikate der DFN-PKI bzw. DFN-Verein Community PKI=== | === Zertifikate der DFN-PKI bzw. DFN-Verein Community PKI=== | ||
Für die SAML-basierte Kommunikation empfehlen sich **3 Jahre gültige Zertifikate aus der [[https:// | Für die SAML-basierte Kommunikation empfehlen sich **3 Jahre gültige Zertifikate aus der [[https:// | ||
Wenn Sie berechtigt sind, Zertifikate von der DFN-PKI zu beantragen, wählen Sie bei der Beantragung bitte das Profil " | Wenn Sie berechtigt sind, Zertifikate von der DFN-PKI zu beantragen, wählen Sie bei der Beantragung bitte das Profil " | ||
- | |||
- | \\ | ||
=== Eigene/ | === Eigene/ | ||
Für Zertifikate aus einer eigenen/ | Für Zertifikate aus einer eigenen/ | ||
- | |||
- | \\ | ||
=== Selbst-signierte Zertifikate === | === Selbst-signierte Zertifikate === | ||
Die dritte Möglichkeit ist die Verwendung von selbst-signierten Zertifikaten mit einer Gültigkeitsdauer von maximal 39 Monaten. Wir empfehlen zur korrekten Erstellung die Dokumentation der [[https:// | Die dritte Möglichkeit ist die Verwendung von selbst-signierten Zertifikaten mit einer Gültigkeitsdauer von maximal 39 Monaten. Wir empfehlen zur korrekten Erstellung die Dokumentation der [[https:// | ||
- | |||
- | \\ | ||
=== Zertifikate gängiger Zertifizierungsstellen === | === Zertifikate gängiger Zertifizierungsstellen === | ||
Alternativ können Zertifikate aus CAs genutzt werden, die in den gängigen Standardbrowsern (Google Chrome, Firefox, Microsoft Edge) vorinstalliert sind. | Alternativ können Zertifikate aus CAs genutzt werden, die in den gängigen Standardbrowsern (Google Chrome, Firefox, Microsoft Edge) vorinstalliert sind. | ||
- | |||
- | \\ | ||
<callout color="# | <callout color="# | ||
Zeile 43: | Zeile 33: | ||
</ | </ | ||
- | \\ | + | === Keine Wildcard-Zertifikate |
- | + | ||
- | === Bitte nicht verwenden === | + | |
- | + | ||
- | == Wildcard-Zertifikate == | + | |
Die Nutzung von Wildcards in Zertifikaten ist nur in begründeten Ausnahmefällen gestattet. | Die Nutzung von Wildcards in Zertifikaten ist nur in begründeten Ausnahmefällen gestattet. | ||
- | \\ | ||
- | == Letsencrypt == | + | === Keine Letsencrypt-Zertifikate === |
Für die Signierung und Verschlüsselung der SAML-Komunikation raten wir dringend von Letsenycrpt-Zertifikaten ab, da diese nur eine Gültigkeit von 90 Tagen haben. Ein Zertifikats-Rollover müsste jedes Mal manuell in der Metadatenverwaltung erfolgen. Auch die SP-Konfiguration muss beim Rollover 2x geändert werden. Wir empfehlen daher den Einsatz selbst-signierter Zertifikate oder solcher aus der DFN-Verein Community PKI (siehe oben). | Für die Signierung und Verschlüsselung der SAML-Komunikation raten wir dringend von Letsenycrpt-Zertifikaten ab, da diese nur eine Gültigkeit von 90 Tagen haben. Ein Zertifikats-Rollover müsste jedes Mal manuell in der Metadatenverwaltung erfolgen. Auch die SP-Konfiguration muss beim Rollover 2x geändert werden. Wir empfehlen daher den Einsatz selbst-signierter Zertifikate oder solcher aus der DFN-Verein Community PKI (siehe oben). | ||
**Nächster Schritt:** [[de: | **Nächster Schritt:** [[de: | ||
- | \\ | + | ===== Zertifikatstausch |
- | + | ||
- | ==== Zertifikatstausch ==== | + | |
Vielen Dank an die Schweizer Kolleg*innen für die ausführliche englischsprachige [[https:// | Vielen Dank an die Schweizer Kolleg*innen für die ausführliche englischsprachige [[https:// | ||
Wenn Sie ablaufende Zertifikate auf Ihrem AAI-Systemen austauschen müssen, gehen Sie wie folgt vor: | Wenn Sie ablaufende Zertifikate auf Ihrem AAI-Systemen austauschen müssen, gehen Sie wie folgt vor: | ||
- | === Schritt | + | ==== 1. Was muss getauscht werden? |
Stellen Sie fest, ob es um die Webserver-Zertifikate oder um die Zertifikate für die SAML-basierte Kommunikation geht. Das kann, muss aber nicht dasselbe Zertifikat sein. | Stellen Sie fest, ob es um die Webserver-Zertifikate oder um die Zertifikate für die SAML-basierte Kommunikation geht. Das kann, muss aber nicht dasselbe Zertifikat sein. | ||
- | === Schritt | + | ==== 2. Beschaffung/ |
- | === -- DFN-PKI | + | siehe oben |
- | Bei Fragen zur Erstellung von privaten Schlüsseln und Zertifikatsanträgen, | + | |
- | * Erstellen Sie einen privaten Schlüssel:< | ||
- | user@host: | ||
- | </ | ||
- | * Erstellen Sie einen Zertifikatsantrag (Certificate Signing Request, csr):< | ||
- | user@host: | ||
- | # Sie werden Folgendes abgefragt, evtl. befüllt mit Vorgaben aus Ihrer / | ||
- | Country Name (2 letter code) [DE]: | ||
- | State or Province Name (full name) []: <== Bundesland | ||
- | Locality Name (eg, city) []: <== Stadt | ||
- | Organization Name (eg, company) []: < | ||
- | Organizational Unit Name (eg, section) []: <== ggf. Abteilung o.ä. | ||
- | Common Name (eg, YOUR name) []: | ||
- | A challenge password []: | ||
- | An optional company name []: | ||
- | </ | ||
- | * Geben Sie diesen Zertifikatsantrag im .pem-Format bei der DFN-PKI ein. Wählen Sie das Profil " | ||
- | * Sie bekommen Ihr neues Zertifikat per E-Mail von der DFN-PKI. | ||
- | === -- Sonstige Zertifizierungsstellen bzw. CAs === | + | ==== 3. Ggf. Zertifikat am Webserver tauschen |
- | Konsultieren Sie hierzu die Dokumentation des [[# | + | |
- | + | ||
- | === -- Selbst-signierte Zertifikate === | + | |
- | Selbst-signierte Zertifikate sind ausschließlich für die SAML-basierte Kommunikation geeignet! Sowohl Shibboleth IdP als auch Shibboleth SP werden mit einem '' | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | + | ||
- | === Schritt 3: Ggf. Zertifikat am Webserver tauschen === | + | |
* Ersetzen Sie die alten, in der Webserverkonfiguration eingetragenen Dateien durch das neue Zertifikat, den privaten Schlüssel und die Zertifikatskette. (Unten auf dieser Seite ist erklärt, wie Sie die [[https:// | * Ersetzen Sie die alten, in der Webserverkonfiguration eingetragenen Dateien durch das neue Zertifikat, den privaten Schlüssel und die Zertifikatskette. (Unten auf dieser Seite ist erklärt, wie Sie die [[https:// | ||
* Starten Sie den Webserver neu. | * Starten Sie den Webserver neu. | ||
- | === Schritt | + | ==== 4. Zertifikatswechsel auf dem IdP ==== |
+ | * Editieren Sie die Datei '' | ||
+ | For key rollover, uncomment and point to your original keypair, and use the one above | ||
+ | to point to your new keypair. Once metadata has propagated, comment this one out again. | ||
+ | --> | ||
+ | |||
+ | <bean class=" | ||
+ | p: | ||
+ | p: | ||
+ | p: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 5. zweites Zertifikat für SAML-Kommunikation eintragen ==== | ||
+ | * Tragen Sie das neue Zertifikat und den dazugehörigen privaten Schlüssel zusätzlich in '' | ||
+ | idp.signing.key= / | ||
+ | idp.signing.cert= / | ||
+ | idp.encryption.key= / | ||
+ | idp.encryption.cert= / | ||
+ | idp.encryption.key.2= / | ||
+ | idp.encryption.cert.2= / | ||
+ | </ | ||
+ | * Starten Sie Tomcat neu. | ||
+ | |||
+ | ==== 6. Zertifikat für SAML-Kommunikation in Metadatenverwaltung eintragen | ||
<callout color="# | <callout color="# | ||
- | **Veröffentlichen Sie das neue Zertifikat mindestens 24 Stunden vor dem eigentlichen Tausch | + | **Veröffentlichen Sie das neue Zertifikat mindestens 24 Stunden vor dem nächsten Schritt |
</ | </ | ||
* Ein unterbrechungsfreier Betrieb ist nur möglich, wenn alle Service Provider weiterhin mit dem IdP kommunizieren können. Die SPs müssen sich vorab das neue Zertifikat aus den aktualisierten Föderationsmetadaten geholt haben. Besonders, wenn Sie an eduGAIN teilnehmen, müssen Sie davon ausgehen, dass manche SPs dies nur einmal pro Tag tun. | * Ein unterbrechungsfreier Betrieb ist nur möglich, wenn alle Service Provider weiterhin mit dem IdP kommunizieren können. Die SPs müssen sich vorab das neue Zertifikat aus den aktualisierten Föderationsmetadaten geholt haben. Besonders, wenn Sie an eduGAIN teilnehmen, müssen Sie davon ausgehen, dass manche SPs dies nur einmal pro Tag tun. | ||
* Wenn Sie bei der Erstellung des Zertifikatsantrags denselben privaten Schlüssel verwendet haben, den Sie auch für das ablaufende Zertifikat verwendet haben, ist die Veröffentlichung des neuen Zertifikates in Metadaten nicht so zeitkritisch. Das können Sie machen, wenn der Schlüssel nicht kompromittiert ist und nach wie vor den aktuellen technischen Anforderung entspricht. | * Wenn Sie bei der Erstellung des Zertifikatsantrags denselben privaten Schlüssel verwendet haben, den Sie auch für das ablaufende Zertifikat verwendet haben, ist die Veröffentlichung des neuen Zertifikates in Metadaten nicht so zeitkritisch. Das können Sie machen, wenn der Schlüssel nicht kompromittiert ist und nach wie vor den aktuellen technischen Anforderung entspricht. | ||
- | === Schritt 5 beim Zertifikatswechel des IdP: Zertifikate für SAML-Kommunikation tauschen | + | ==== 7. Alt und neu in der Konfiguration vertauschen ==== |
- | * Aktualisieren | + | <callout color="# |
- | idp.signing.key= / | + | **Nach diesem Schritt warten Sie bitte erneut mindestens 24 Stunden, bevor Sie weitermachen.** |
- | idp.signing.cert= / | + | </ |
- | idp.encryption.key= / | + | * Nachdem das neue Zertifikat sich über die Metadaten herumgesprochen hat, entfernen |
- | idp.encryption.cert= / | + | * Tauschen |
+ | idp.signing.key= / | ||
+ | idp.signing.cert= / | ||
+ | idp.encryption.key= / | ||
+ | idp.encryption.cert= / | ||
+ | idp.encryption.key.2= / | ||
+ | idp.encryption.cert.2= / | ||
</ | </ | ||
* Starten Sie Tomcat neu. | * Starten Sie Tomcat neu. | ||
- | * Sollten Sie nach dem Rollover Probleme mit einzelnen anderen Systemen in der DFN-AAI oder in eduGAIN haben, kann es sich um temporäre Probleme handeln, die darauf zurückzuführen sind, dass nicht alle Teilnehmenden die Föderationsmetadaten bei sich im selben Intervall aktualisieren. | ||
- | === Schritt 4 beim Zertifikatswechel des SP: Zertifikate für SAML-Kommunikation tauschen === | + | ==== 8. Alte Zertifikate für SAML-Kommunikation aus Konfiguration entfernen ==== |
- | Im Gegensatz zum IdP ist beim SP zu beachten, dass der **SP vorübergehend beide Zertifikate bzw. Schlüssel | + | * Entfernen Sie das alte Zertifikat und den alten privaten Schlüssel aus der '' |
+ | idp.signing.key= / | ||
+ | idp.signing.cert= / | ||
+ | idp.encryption.key= / | ||
+ | idp.encryption.cert= / | ||
+ | </ | ||
+ | |||
+ | ==== 9. zweites Bean auskommentieren === | ||
+ | * Editieren Sie die Datei '' | ||
+ | For key rollover, uncomment and point to your original keypair, and use the one above | ||
+ | to point to your new keypair. Once metadata has propagated, comment this one out again. | ||
+ | --> | ||
+ | <!-- | ||
+ | <bean class=" | ||
+ | p: | ||
+ | p: | ||
+ | p: | ||
+ | --> | ||
+ | </ | ||
+ | * Starten Sie Tomcat neu. | ||
+ | |||
+ | ===== Zertifikatstausch am SP ===== | ||
+ | |||
+ | ==== 1. Was muss getauscht werden? ==== | ||
+ | |||
+ | Stellen Sie fest, ob es um die Webserver-Zertifikate oder um die Zertifikate für die SAML-basierte | ||
+ | |||
+ | ==== 2. Beschaffung eines neuen Zertifikates ==== | ||
+ | siehe oben | ||
+ | ==== 3. Ggf. Zertifikat am Webserver | ||
+ | * Ersetzen Sie die alten, in der Webserverkonfiguration eingetragenen Dateien durch das neue Zertifikat, den privaten Schlüssel und die Zertifikatskette. (Unten auf dieser Seite ist erklärt, wie Sie die [[https:// | ||
+ | * Starten Sie den Webserver neu. | ||
+ | |||
+ | ==== 4. Zertifikate für SAML-Kommunikation tauschen ==== | ||
+ | Der **SP benötigt | ||
* Legen Sie das neue Zertifikat, den privaten Schlüssel und ggf. die Zertifikatskette auf den Server. Es ist wichtig, dass der Benutzer, mit dessen Kennung der '' | * Legen Sie das neue Zertifikat, den privaten Schlüssel und ggf. die Zertifikatskette auf den Server. Es ist wichtig, dass der Benutzer, mit dessen Kennung der '' | ||
# Benutzerkennung feststellen: | # Benutzerkennung feststellen: | ||
Zeile 154: | Zeile 173: | ||
</ | </ | ||
- | === Schritt | + | ==== 5. Zertifikate für SAML-Kommunikation tauschen |
* Konfigurieren Sie den SP um, so dass das neue Zertifikat an erster Stelle steht:< | * Konfigurieren Sie den SP um, so dass das neue Zertifikat an erster Stelle steht:< | ||
Zeile 174: | Zeile 193: | ||
* Jetzt können Sie gleich das alte Zertifikat aus den Metadaten des SP herausnehmen. **Warten** Sie dann erneut bis zu 24 Stunden (sicher ist sicher), bis sich die Änderung in der DFN-AAI bzw. in eduGAIN herumgesprochen hat. | * Jetzt können Sie gleich das alte Zertifikat aus den Metadaten des SP herausnehmen. **Warten** Sie dann erneut bis zu 24 Stunden (sicher ist sicher), bis sich die Änderung in der DFN-AAI bzw. in eduGAIN herumgesprochen hat. | ||
- | === Schritt | + | ==== 6. Zertifikate für SAML-Kommunikation tauschen |
* Entfernen Sie das alte Zertifikat aus der SP-Konfiguration, | * Entfernen Sie das alte Zertifikat aus der SP-Konfiguration, | ||
Zeile 195: | Zeile 214: | ||
* Starten Sie den Dienst '' | * Starten Sie den Dienst '' | ||
- | === Direkt verdrahtete IdPs/SPs === | + | ==== Direkt verdrahtete IdPs/ |
Wenn Sie SPs an der DFN-AAI vorbei direkt mit Ihrem IdP verbunden haben, haben Sie die Metadaten von IdP und SP manuell im jeweils anderen hinterlegt. Diese Metadatensätze müssen sie prüfen und ggf. manuell aktualisieren, | Wenn Sie SPs an der DFN-AAI vorbei direkt mit Ihrem IdP verbunden haben, haben Sie die Metadaten von IdP und SP manuell im jeweils anderen hinterlegt. Diese Metadatensätze müssen sie prüfen und ggf. manuell aktualisieren, | ||
- | \\ | + | |
===== Die SSL-Zertifikatskette auf Ihrem Webserver ===== | ===== Die SSL-Zertifikatskette auf Ihrem Webserver ===== | ||
Zeile 232: | Zeile 251: | ||
$ openssl s_client -connect idp.domain.tld: | $ openssl s_client -connect idp.domain.tld: | ||
</ | </ | ||
- | Unten sehen als Beispiel die Antwort des Webservers von dfn.de. Alternativ können Sie externe Dienste wie z.B. die Website von [[https:// | + | Unten sehen als Beispiel die Antwort des Webservers von wayf.aai.dfn.de. Alternativ können Sie externe Dienste wie z.B. die Website von [[https:// |
< | < |