Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:certificates [2021/02/10 09:17] – [Zertifikatstausch] Silke Meyerde:certificates [2021/02/10 09:23] – [Zertifikatstausch] Silke Meyer
Zeile 69: Zeile 69:
  
 === Schritt 2: Beschaffung/Generierung eines neuen Zertifikates === === Schritt 2: Beschaffung/Generierung eines neuen Zertifikates ===
-== DFN-PKI ==+=== -- DFN-PKI ===
 Bei Fragen zur Erstellung von privaten Schlüsseln und Zertifikatsanträgen, schauen Sie bitte in die Dokumentation der Software, mit der Sie diese generieren. Die DFN-PKI bietet eine [[https://www.pki.dfn.de/fileadmin/PKI/anleitungen/Anleitung_Nutzung_OpenSSL.pdf|Zusammenfassung der wichtigsten OpenSSL-Befehle]] und ausführliche [[https://www.pki.dfn.de/faqpki/faqpki-allgemein/#c15083 | FAQ]] rund um Zertifikate. Das folgende Vorgehen müssen Sie möglicherweise an Ihre Umgebung anpassen. Bei Fragen zur Erstellung von privaten Schlüsseln und Zertifikatsanträgen, schauen Sie bitte in die Dokumentation der Software, mit der Sie diese generieren. Die DFN-PKI bietet eine [[https://www.pki.dfn.de/fileadmin/PKI/anleitungen/Anleitung_Nutzung_OpenSSL.pdf|Zusammenfassung der wichtigsten OpenSSL-Befehle]] und ausführliche [[https://www.pki.dfn.de/faqpki/faqpki-allgemein/#c15083 | FAQ]] rund um Zertifikate. Das folgende Vorgehen müssen Sie möglicherweise an Ihre Umgebung anpassen.
  
Zeile 90: Zeile 90:
   * Sie bekommen Ihr neues Zertifikat per E-Mail von der DFN-PKI.   * Sie bekommen Ihr neues Zertifikat per E-Mail von der DFN-PKI.
  
-== Sonstige Zertifizierungsstellen bzw. CAs ==+=== -- Sonstige Zertifizierungsstellen bzw. CAs ===
 Konsultieren Sie hierzu die Dokumentation des [[#zertifikate_gaengiger_zertifizierungsstellen|jeweiligen Anbieters]] bzw. dessen Kundensupport. Konsultieren Sie hierzu die Dokumentation des [[#zertifikate_gaengiger_zertifizierungsstellen|jeweiligen Anbieters]] bzw. dessen Kundensupport.
  
-== Selbst-signierte Zertifikate ==+=== -- 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 ''keygen'' Skript ausgeliefert, mit dessen Hilfe sich selbst-signierte Zertifikate erstellen lassen. Ansonsten ist dies z.B. auch mit OpenSSL möglich. Wichtig hierbei ist dass die Laufzeit 39 Monate nicht übersteigt und die Keylänge mindestens 3072 Bit beträgt (Voreinstellung bei Shibboleth). Siehe hierzu einstweilen die Dokumentation von SWITCH: Selbst-signierte Zertifikate sind ausschließlich für die SAML-basierte Kommunikation geeignet! Sowohl Shibboleth IdP als auch Shibboleth SP werden mit einem ''keygen'' Skript ausgeliefert, mit dessen Hilfe sich selbst-signierte Zertifikate erstellen lassen. Ansonsten ist dies z.B. auch mit OpenSSL möglich. Wichtig hierbei ist dass die Laufzeit 39 Monate nicht übersteigt und die Keylänge mindestens 3072 Bit beträgt (Voreinstellung bei Shibboleth). Siehe hierzu einstweilen die Dokumentation von SWITCH:
   * [[https://www.switch.ch/aai/guides/idp/certificate-rollover/|Shibboleth IdP, Step 0]] (Wichtig: Tomcat User muss Leserecht auf den private Key haben)   * [[https://www.switch.ch/aai/guides/idp/certificate-rollover/|Shibboleth IdP, Step 0]] (Wichtig: Tomcat User muss Leserecht auf den private Key haben)
Zeile 116: Zeile 116:
 === Schritt 4 beim SP: Zertifikate für SAML-Kommunikation tauschen === === Schritt 4 beim SP: Zertifikate für SAML-Kommunikation tauschen ===
 Im Gegensatz zum IdP ist beim SP zu beachten, dass der **SP vorübergehend beide Zertifikate bzw. Schlüssel benötigt**, alt und neu, denn er muss in der Lage sein, Authentication Requests zu signieren und SAML Assertions zu entschlüsseln. Im Gegensatz zum IdP ist beim SP zu beachten, dass der **SP vorübergehend beide Zertifikate bzw. Schlüssel benötigt**, alt und neu, denn er muss in der Lage sein, Authentication Requests zu signieren und SAML Assertions zu entschlüsseln.
-  * 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 ''shibd''-Prozess läuft, die Dateien lesen kann.<code>+  * 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 ''shibd''-Prozess läuft, die Dateien lesen kann.<code bash>
 # Benutzerkennung feststellen: # Benutzerkennung feststellen:
-root@sp # ps aux | grep shib | grep -v grep+root@sp:~ # ps aux | grep shib | grep -v grep
 _shibd   31466  0.1 13.7 1912728 702900 ?      Ssl  Apr15   3:53 /usr/sbin/shibd -f -F _shibd   31466  0.1 13.7 1912728 702900 ?      Ssl  Apr15   3:53 /usr/sbin/shibd -f -F
 # Gruppenzugehörigkeiten nachschlagen: # Gruppenzugehörigkeiten nachschlagen:
-root@sp # id _shibd +root@sp:~ # id _shibd 
 uid=112(_shibd) gid=121(_shibd) groups=121(_shibd),103(ssl-cert) uid=112(_shibd) gid=121(_shibd) groups=121(_shibd),103(ssl-cert)
 # Abgleich mit den neuen Dateien: # Abgleich mit den neuen Dateien:
Zeile 138: Zeile 138:
                             certificate="/etc/ssl/localcerts/2019-sp.example.org.crt.pem"/>                             certificate="/etc/ssl/localcerts/2019-sp.example.org.crt.pem"/>
     </CredentialResolver></code>     </CredentialResolver></code>
-  * Prüfen Sie die SP-Konfiguration:<code> +  * Prüfen Sie die SP-Konfiguration:<code bash
-root@sp # shibd -tc /etc/shibboleth/shibboleth2.xml+root@sp:~ # shibd -tc /etc/shibboleth/shibboleth2.xml
 overall configuration is loadable, check console for non-fatal problems overall configuration is loadable, check console for non-fatal problems
 </code> </code>
-  * Starten Sie den Dienst ''shibd'' neu:<code>systemctl restart shibd</code>+  * Starten Sie den Dienst ''shibd'' neu:<code bash>root@sp:~ # systemctl restart shibd</code>
   * Der Zwischenstand ist nun folgender: Der Service Provider kann SAML-Assertions entschlüsseln, die mit dem alten *oder* dem neuen Zertifikat verschlüsselt wurden. Er nutzt für Attribute Queries noch das alte Zertifikat.   * Der Zwischenstand ist nun folgender: Der Service Provider kann SAML-Assertions entschlüsseln, die mit dem alten *oder* dem neuen Zertifikat verschlüsselt wurden. Er nutzt für Attribute Queries noch das alte Zertifikat.
   * **Veröffentlichen Sie das neue Zertifikat zusätzlich zu dem alten Zertifikat in den Föderationsmetadaten und warten Sie auch hier vorsichtshalber 24 Stunden mit dem nächsten Schritt.**   * **Veröffentlichen Sie das neue Zertifikat zusätzlich zu dem alten Zertifikat in den Föderationsmetadaten und warten Sie auch hier vorsichtshalber 24 Stunden mit dem nächsten Schritt.**
Zeile 156: Zeile 156:
                             certificate="/etc/ssl/localcerts/2016-sp.example.org.crt.pem"/>                             certificate="/etc/ssl/localcerts/2016-sp.example.org.crt.pem"/>
     </CredentialResolver></code>     </CredentialResolver></code>
-  * Prüfen Sie die SP-Konfiguration:<code> +  * Prüfen Sie die SP-Konfiguration:<code bash
-root@sp # shibd -tc /etc/shibboleth/shibboleth2.xml+root@sp:~ # shibd -tc /etc/shibboleth/shibboleth2.xml
 overall configuration is loadable, check console for non-fatal problems overall configuration is loadable, check console for non-fatal problems
 </code> </code>
-  * Starten Sie den Dienst ''shibd'' neu:<code>systemctl restart shibd</code>+  * Starten Sie den Dienst ''shibd'' neu:<code bash>root@sp:~ # systemctl restart shibd</code>
   * 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.
   * Entfernen Sie das alte Zertifikat aus der SP-Konfiguration, indem Sie entweder löschen oder auskommentieren:<code xml>   * Entfernen Sie das alte Zertifikat aus der SP-Konfiguration, indem Sie entweder löschen oder auskommentieren:<code xml>
Zeile 175: Zeile 175:
         -->         -->
     </CredentialResolver></code>     </CredentialResolver></code>
-  * Prüfen Sie die SP-Konfiguration:<code> +  * Prüfen Sie die SP-Konfiguration:<code bash
-root@sp # shibd -tc /etc/shibboleth/shibboleth2.xml+root@sp:~ # shibd -tc /etc/shibboleth/shibboleth2.xml
 overall configuration is loadable, check console for non-fatal problems overall configuration is loadable, check console for non-fatal problems
 </code> </code>
-  * Starten Sie den Dienst ''shibd'' neu:<code>systemctl restart shibd</code>+  * Starten Sie den Dienst ''shibd'' neu:<code bash>root@sp:~ # systemctl restart shibd</code>
  
 === Direkt verdrahtete IdPs/SPs === === Direkt verdrahtete IdPs/SPs ===
  • Zuletzt geändert: vor 3 Wochen