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 [2019/04/16 13:38] – [Schritt 4 beim SP: Zertifikate für SAML-Kommunikation tauschen] Silke Meyer | de:certificates [2020/04/16 15:59] – Silke Meyer | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Zertifikate für die SAML-basierte Kommunikation ====== | + | ~~NOTOC~~ |
+ | ====== Zertifikate ====== | ||
+ | {{INLINETOC 2}} | ||
+ | ===== Zertifikate für die SAML-basierte Kommunikation ===== | ||
Bei der SAML-basierten Kommunikation zwischen IdP und SP werden Zertifikate zur Signatur-Validierung sowie zum Verschlüsseln eingesetzt. Diese Zertifikate müssen für die betreffende Entity in der [[de: | Bei der SAML-basierten Kommunikation zwischen IdP und SP werden Zertifikate zur Signatur-Validierung sowie zum Verschlüsseln eingesetzt. Diese Zertifikate müssen für die betreffende Entity in der [[de: | ||
**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 ==== |
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 ==== | + | === Zertifikate der DFN-PKI === |
+ | Siehe hierzu unter 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 " | ||
- | ==== Zertifikate gängiger Zertifizierungsstellen | + | === Zertifikate gängiger Zertifizierungsstellen === |
Alternativ können Sie Zertifikate von CAs nutzen, die in den gängigen Standardbrowsern (Google Chrome, Firefox, Microsoft Edge) vorinstalliert sind und deren Gültigkeitsdauer maximal 825 Tage beträgt. \\ | Alternativ können Sie Zertifikate von CAs nutzen, die in den gängigen Standardbrowsern (Google Chrome, Firefox, Microsoft Edge) vorinstalliert sind und deren Gültigkeitsdauer maximal 825 Tage beträgt. \\ | ||
- | ==== 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:// | ||
* Stellen Sie uns dasselbe Zertifikat auf Ihrem Webserver zum Download via https bereit (z.B. über den Metadata Handler Ihres Shibboleth SP oder über einen Download-Link zu der Datei). Der SSL-Download-Link muss von einer vertrauenswürdigen Zertifizierungsstelle abgesichert sein. | * Stellen Sie uns dasselbe Zertifikat auf Ihrem Webserver zum Download via https bereit (z.B. über den Metadata Handler Ihres Shibboleth SP oder über einen Download-Link zu der Datei). Der SSL-Download-Link muss von einer vertrauenswürdigen Zertifizierungsstelle abgesichert sein. | ||
Zeile 25: | Zeile 30: | ||
* Sie können uns das Zertifikat auch in einer via S/MIME signierten E-Mail an [[hotline@aai.dfn.de|hotline@aai.dfn.de]] schicken. Die Zertifizierungsstelle, | * Sie können uns das Zertifikat auch in einer via S/MIME signierten E-Mail an [[hotline@aai.dfn.de|hotline@aai.dfn.de]] schicken. Die Zertifizierungsstelle, | ||
| | ||
- | < | + | < |
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. | ||
</ | </ | ||
- | ==== Bitte nicht verwenden | + | === Bitte nicht verwenden === |
- | === Wildcard-Zertifikate | + | == 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 | + | == 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. | 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. | ||
**Nächster Schritt:** [[de: | **Nächster Schritt:** [[de: | ||
- | ===== Zertifikatstausch | + | ==== Zertifikatstausch ==== |
- | Für einen Zertifikatstausch am SP, sehen Sie bitte vorerst in der [[https:// | + | Vielen Dank an die Schweizer Kolleg*innen für die ausführliche englischsprachige |
- | Wenn Sie ablaufende Zertifikate | + | Wenn Sie ablaufende Zertifikate |
- | ==== Schritt 1: Was muss getauscht werden? | + | === 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 bei der DFN-PKI | + | === Schritt 2: Beschaffung eines neuen Zertifikates bei der DFN-PKI === |
- | Bei Fragen zur Erstellung von privaten Schlüsseln und Zertifikatsanträgen, | + | Bei Fragen zur Erstellung von privaten Schlüsseln und Zertifikatsanträgen, |
- | Geheimen | + | * Erstellen Sie einen privaten |
- | < | + | |
user@host: | user@host: | ||
</ | </ | ||
- | + | * Erstellen Sie einen Zertifikatsantrag (Certificate Signing Request, csr):< | |
- | Certificate Signing Request | + | |
- | + | ||
- | < | + | |
user@host: | user@host: | ||
# Sie werden Folgendes abgefragt, evtl. befüllt mit Vorgaben aus Ihrer / | # Sie werden Folgendes abgefragt, evtl. befüllt mit Vorgaben aus Ihrer / | ||
Zeile 71: | Zeile 72: | ||
An optional company name []: | 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. | ||
- | Diesen csr im .pem-Format geben Sie bei der DFN-PKI ein. Wählen Sie das Profil " | + | === 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. | |
- | ==== 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. | + | |
* Starten Sie den Webserver neu. | * Starten Sie den Webserver neu. | ||
- | ==== Schritt 4 beim IdP: Zertifikate für SAML-Kommunikation tauschen | + | === Schritt 4 beim IdP: Zertifikate für SAML-Kommunikation tauschen === |
* **Veröffentlichen Sie das neue Zertifikat mindestens 24 Stunden vor dem Termin zusätzlich zu dem alten Zertifikat in den Föderationsmetadaten!** | * **Veröffentlichen Sie das neue Zertifikat mindestens 24 Stunden vor dem Termin zusätzlich zu dem alten Zertifikat in den Föderationsmetadaten!** | ||
- | * Aktualisieren Sie Zertifikat und privaten Schlüssel auf Ihrem IdP. Prüfen Sie, ob die Links in '' | + | * Aktualisieren Sie Zertifikat und privaten Schlüssel auf Ihrem IdP. Prüfen Sie, ob die Links in '' |
+ | idp.signing.key= / | ||
+ | idp.signing.cert= / | ||
+ | idp.encryption.key= / | ||
+ | idp.encryption.cert= / | ||
+ | </ | ||
* 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. | * 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 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**, | Im Gegensatz zum IdP ist beim SP zu beachten, dass der **SP vorübergehend beide Zertifikate bzw. Schlüssel benötigt**, | ||
- | * Legen Sie das neue Zertifikat, den privaten Schlüssel und ggf. die Zertifikatskette auf den Server. Fügen Sie sie **zusätzlich** in die SP-Konfiguration '' | + | * Legen Sie das neue Zertifikat, den privaten Schlüssel und ggf. die Zertifikatskette auf den Server. |
+ | # Benutzerkennung feststellen: | ||
+ | root@sp # ps aux | grep shib | grep -v grep | ||
+ | _shibd | ||
+ | # Gruppenzugehörigkeiten nachschlagen: | ||
+ | root@sp # id _shibd | ||
+ | uid=112(_shibd) gid=121(_shibd) groups=121(_shibd), | ||
+ | # Abgleich mit den neuen Dateien: | ||
+ | -rw-r--r-- 1 root root 3719 Mar 27 10:43 / | ||
+ | -rw-r----- 1 root ssl-cert 3243 Mar 27 10:43 / | ||
+ | </ | ||
+ | * Fügen Sie sie **zusätzlich** in die SP-Konfiguration '' | ||
< | < | ||
<!-- noch aktives altes Zertifikat --> | <!-- noch aktives altes Zertifikat --> | ||
Zeile 139: | Zeile 156: | ||
</ | </ | ||
* Starten Sie den Dienst '' | * Starten Sie den Dienst '' | ||
- | ====== Die SSL-Zertifikatskette auf Ihrem Webserver | + | |
+ | === Direkt verdrahtete IdPs/SPs === | ||
+ | Wenn Sie SPs in 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-Konfiguration Ihres Webservers hat direkt nichts mit der Zertifikat-Konfiguration für SAML-basierte Kommunikation in der DFN-AAI zu tun. Da aber sowohl die Binding URLs über SSL/TLS abgesichert werden (https), als auch der Aufruf der im Browser angezeigten IdP-/ | Die SSL-Konfiguration Ihres Webservers hat direkt nichts mit der Zertifikat-Konfiguration für SAML-basierte Kommunikation in der DFN-AAI zu tun. Da aber sowohl die Binding URLs über SSL/TLS abgesichert werden (https), als auch der Aufruf der im Browser angezeigten IdP-/ | ||
- | ===== Einrichtung der vollständigen Zertifikatskette auf dem Webserver | + | ==== Einrichtung der vollständigen Zertifikatskette auf dem Webserver ==== |
* Sie benötigen in jedem Fall zunächst eine Datei mit dem privaten Schlüssel (Private Key), z.B. unter Linux / | * Sie benötigen in jedem Fall zunächst eine Datei mit dem privaten Schlüssel (Private Key), z.B. unter Linux / | ||
Zeile 166: | Zeile 187: | ||
Beim Apache Webserver wird der Pfad zu dieser Datei als '' | Beim Apache Webserver wird der Pfad zu dieser Datei als '' | ||
- | ===== Überprüfung der Zertifikatskette | + | ==== Überprüfung der Zertifikatskette ==== |
Wenn Sie Ihre Zertifikatskette hinlegt, die Webserver-Konfiguration angepasst und aktiviert haben, können Sie sie mit OpenSSL zur Überprüfung abfragen: | Wenn Sie Ihre Zertifikatskette hinlegt, die Webserver-Konfiguration angepasst und aktiviert haben, können Sie sie mit OpenSSL zur Überprüfung abfragen: | ||
Zeile 303: | Zeile 324: | ||
read: | read: | ||
</ | </ | ||
- | **Nächster Schritt:** [[de: | + |