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] Silke Meyer | de:certificates [2023/02/01 15:54] – Wolfgang Pempe | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ~~NOTOC~~ | ||
====== Zertifikate ====== | ====== Zertifikate ====== | ||
- | {{INLINETOC 2}} | + | |
===== Zertifikate für die SAML-basierte Kommunikation ===== | ===== Zertifikate für die SAML-basierte Kommunikation ===== | ||
Zeile 9: | Zeile 8: | ||
**Generell gilt:** Entities mit ungültigen, | **Generell gilt:** Entities mit ungültigen, | ||
</ | </ | ||
+ | |||
+ | \\ | ||
==== Informationen für Identity Provider / Attribute Authorities ==== | ==== Informationen für Identity Provider / Attribute Authorities ==== | ||
Siehe unter [[de: | Siehe unter [[de: | ||
+ | |||
+ | \\ | ||
==== Informationen für Service Provider ==== | ==== Informationen für Service Provider ==== | ||
Zeile 32: | Zeile 35: | ||
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="# | ||
Eine Ausnahme von den o.g. Regeln gilt bei SPs, die bereits in anderen Föderationen (mit anderen Zertifikats-Policies) registriert sind. In diesem Fall können die dort verwendeten Zertifikate auch für die DFN-AAI genutzt werden, auch wenn diese länger gültig sind. | Eine Ausnahme von den o.g. Regeln gilt bei SPs, die bereits in anderen Föderationen (mit anderen Zertifikats-Policies) registriert sind. In diesem Fall können die dort verwendeten Zertifikate auch für die DFN-AAI genutzt werden, auch wenn diese länger gültig sind. | ||
</ | </ | ||
+ | | ||
+ | \\ | ||
+ | | ||
+ | === Vorsicht bei der Verwendung von Wildcard-Zertifikaten! === | ||
+ | Da Wildcard-Zertifikate für eine ganze Subdomain gelten und daher für mehrere Entities gleichzeitig verwendet werden können, ist der potentielle Schaden bei einer Kompromittierung des privaten Schlüssels deutlich höher als bei Zertifikaten für genau spezifizierte FQDNs. Daher sollten Wildcard-Zertifikate in der DFN-AAI nur verwendet werden, wenn das Einsatzszenario dies technisch erzwingt. Beispielsweise existieren insbesondere im Bibliotheksumfeld Softwaresysteme, | ||
+ | Ein und dasselbe Wildcard-Zertifikat sollte nicht auf verschiedenen Servern mit unterschiedlichen Diensten, Einsatzzwecken oder Schutzklassen verwendet werden. Aufgrund des höheren Schadenspotentials bei Kompromittierung sind Wildcard-Zertifikate kein probates Mittel der Arbeitsersparnis bei der Beantragung und dem Deployment von Zertifikaten. | ||
+ | \\ | ||
+ | Wildcard-Zertifikat werden in der DFN-AAI daher nur unterhalb von Sub-Domains oder Second-Level-Domains akzeptiert, die ausschließlich für einen klar abgegrenzten Zweck genutzt werden, also beispielsweise entweder für ''" | ||
\\ | \\ | ||
- | === Bitte nicht verwenden === | + | === Keine Letsencrypt-Zertifikate |
- | + | Für die Signierung und Verschlüsselung der SAML-Komunikation raten wir dringend | |
- | == Wildcard-Zertifikate == | + | |
- | Die Nutzung | + | |
\\ | \\ | ||
- | |||
- | == Letsencrypt == | ||
- | 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 eines neuen Zertifikates ==== |
- | === -- 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 192: | ||
</ | </ | ||
- | === 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 212: | ||
* 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 233: | ||
* 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 ===== |