Produktivbetrieb

Ist der Funktionstest eines IdP oder SP in der Testföderation erfolgreich, können die betreffenden Instanzen in zwei Schritten in den Produktivbetrieb überführt werden. (Die Pfadangaben in den Beispielen beziehen sich auf eine Shibboleth-Installation unter Debian-GNU/Linux. Passen Sie die bitte an Ihre lokalen Gegebenheiten an.)

Wenn Sie selbst als Metadatenadmin* für Ihre Heimateinrichtung bzw. Firma benannt wurden und einen Zugang von uns erhalten haben, melden Sie sich mit Ihrer E-Mailadresse an der Metadatenverwaltung an. Wenn Sie keinen Zugang haben, wenden Sie sich bitte an die Person in Ihrem Hause, die den Eintrag für Sie erledigen kann.

In der Übersicht all Ihrer IdPs/SPs wählen Sie das betreffende System und öffnen Sie seine Metadaten über das Werkzeugsymbol. Ganz unten, im Abschnitt „Föderationen“, wählen Sie jetzt die passende Föderation aus.

Wenn Sie die Änderung speichern, wird bei uns ein Ticket geöffnet. Sie sehen dann den Status wie folgt:

Wir prüfen vor der Produktivschaltung, ob die Metadaten, insbesondere die Zertifikate, gemäß unseren Policies eingetragen wurden. Zur Unterstützung beim Ausfüllen haben wir übrigens eine Checkliste.

Um in der Produktivumgebung mit anderen Entities kommunizieren zu können, muss die Konfiguration des IdP, SP oder der Attribute Authority (AA) angepasst werden.

SP-Betreiber binden mindestens den Metadatensatz ein, der alle produktiven IdP der DFN-AAI enthält.

IdP-Betreiber binden mindestens den Metadatensatz ein, der alle produktiven SP der DFN-AAI enthält.

Einen Überblick über die verfügbaren Metadatensätze bietet die Seite Metadaten.

IdP / AA SP
DFN-AAI dfn-aai-sp-metadata.xml dfn-aai-idp-metadata.xml
eduGAIN dfn-aai-edugain+sp-metadata.xml dfn-aai-edugain+idp-metadata.xml
Lokale Metadaten dfn-aai-local-999-metadata.xml*dfn-aai-local-999-metadata.xml*

(* Siehe hierzu die Anmerkungen und Beispiele unter Lokale Metadaten)

Metadaten-URLs

Die aktuell gültigen Metadaten-URLs und das Zertifikat zur Signaturvalidierung finden Sie unter Metadaten. Das folgende Beispiel geht davon aus, dass das Zertifikat zur Validierung der Signatur der Metadaten unter /etc/ssl/aai/ abgelegt wurde.

DFN-AAI: Siehe unter Föderationsmetadaten.

Für die Teilnahme in eduGAIN muss zusätzlich zu den Föderationsmetadaten der DFN-AAI ein weiterer Metadatensatz eingebunden werden:

./conf/metadata-providers.xml
<?xml version="1.0" encoding="UTF-8"?>
<MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider"
    xmlns="urn:mace:shibboleth:2.0:metadata"
    xmlns:resource="urn:mace:shibboleth:2.0:resource"
    xmlns:security="urn:mace:shibboleth:2.0:security"
    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
        urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd">
 
    <!-- Metadaten aller SPs der DFN-AAI Produktivföderation -->
    <MetadataProvider id="DFN_AAI"
                  xsi:type="FileBackedHTTPMetadataProvider"
                  backingFile="%{idp.home}/metadata/dfn-aai-sp-metadata.xml"
                  metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-sp-metadata.xml"
                  maxRefreshDelay="PT2H">
            <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true"
                  certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
    </MetadataProvider>
 
    <!-- Metadaten aller SP aus eduGAIN-->
    <MetadataProvider id="DFN_AAI_eduGAIN"
                  xsi:type="FileBackedHTTPMetadataProvider"
                  backingFile="%{idp.home}/metadata/dfn-aai-edugain+sp-metadata.xml"
                  metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-edugain+sp-metadata.xml"
                  maxRefreshDelay="PT2H">
            <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true"
                  certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
    </MetadataProvider>
 
</MetadataProvider>

Zur Konfiguration von Metadata Filters siehe die Dokumentation im Shibboleth Wiki.

Hinweis zu den eduGAIN-Metadaten:

Zusätzlich zu <mdrpi:RegistrationInfo registrationAuthority=„…“> wird die jeweilige Heimatföderation in eduGAIN über das DFN-AAI-spezifische Entity Attribut http://aai.dfn.de/edugain/registrationAuthority markiert, was etwaiges Filtern erleichtern soll. Die jeweiligen Kürzel für die Föderationen bzw. Registration Authorities sind unter https://technical.edugain.org/status dokumentiert. Ein Klick auf den jeweiligen Föderationsnamen öffnet ein Fenster mit allen relevanten Informationen.

Im folgenden ein Beispiel, bei dem nur Service Provider aus der SWITCHaai (CH) und ACOnet Identity Federation (AT) aus den importierten eduGAIN-Metadaten zugelassen werden:

./conf/metadata-providers.xml
...
    <MetadataProvider id="DFN_AAI_eduGAIN"
                  xsi:type="FileBackedHTTPMetadataProvider"
                  backingFile="%{idp.home}/metadata/dfn-aai-edugain+sp-metadata.xml"
                  metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-edugain+sp-metadata.xml"
                  maxRefreshDelay="PT2H">
            <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true"
                  certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
            <MetadataFilter xsi:type="Predicate" direction="include" removeEmptyEntitiesDescriptors="true" trim="true">
                  <Tag name="http://aai.dfn.de/edugain/registrationAuthority" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
                       <Value>http://rr.aai.switch.ch/</Value>
                       <Value>http://eduid.at</Value>
                  </Tag>
            </MetadataFilter>
    </MetadataProvider>
... 

Im folgenden ein Beispiel, in dem Entities aus zwei fiktiven Föderationen aus den importierten eduGAIN-Metadaten entfernt werden:

./conf/metadata-providers.xml
...
    <MetadataProvider id="DFN_AAI_eduGAIN"
                  xsi:type="FileBackedHTTPMetadataProvider"
                  backingFile="%{idp.home}/metadata/dfn-aai-edugain+sp-metadata.xml"
                  metadataURL="http://www.aai.dfn.de/metadata/dfn-aai-edugain+sp-metadata.xml"
                  maxRefreshDelay="PT2H">
            <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true"
                  certificateFile="/etc/ssl/aai/dfn-aai.pem"/>
            <MetadataFilter xsi:type="Predicate" direction="exclude" removeEmptyEntitiesDescriptors="true" trim="true">
                  <Tag name="http://aai.dfn.de/edugain/registrationAuthority" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
                       <Value>http://xyz.qq</Value>
                       <Value>http://zyx.ww</Value>
                  </Tag>
            </MetadataFilter>
    </MetadataProvider>
... 

Hinweis zur Konfiguration: Im Sessions-Element unbedingt redirectLimit auf 'host' oder 'exact' setzen!

Achten Sie bitte unbedingt darauf, dass in shibboleth2.xml in allen <Sessions>-Elementen das XML-Attribut redirectLimit
  1. gesetzt wird und
  2. den Wert host oder exact erhält! (ggf. in Kombination mit allow)

Auf diese Weise wird ein Problem mit offenen Weiterleitungen („Open Redirect“) verhindert, das bspw. Phishing-Angriffe wirkungsvoller machen kann, vgl. https://shibboleth.atlassian.net/browse/SSPCPP-714. Weitere Informationen zu Konfigurationsmöglichkeiten für das <Sessions>-Element sind im Shibboleth-Wiki dokumentiert.

Metadaten-URLs

Die aktuell gültigen Metadaten-URLs und das Zertifikat zur Signaturvalidierung finden Sie unter Metadaten. Das folgende Beispiel geht davon aus, dass das Zertifikat zur Validierung der Signatur der Metadaten unter /etc/ssl/aai/ abgelegt wurde.

Dieses Beispiel zeigt, wie Sie erlauben, dass alle produktiven IdPs der DFN-AAI sowie alle IdPs aus eduGAIN mit Ihrem Service Provider kommunizieren können:

/etc/shibboleth/shibboleth2.xml
<MetadataProvider type="XML" validate="true"
      url="http://www.aai.dfn.de/metadata/dfn-aai-idp-metadata.xml"
      backingFilePath="dfn-aai-idp-metadata.xml" reloadInterval="3600">
   <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" verifyBackup="false" />
</MetadataProvider>
 
<MetadataProvider type="XML" validate="true"
      url="http://www.aai.dfn.de/metadata/dfn-aai-edugain+idp-metadata.xml"
      backingFilePath="dfn-aai-edugain+idp-metadata.xml" reloadInterval="3600">
   <MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem" verifyBackup="false" />
   <MetadataFilter type="Exclude" matcher="EntityAttributes">
       <saml:Attribute Name="http://macedir.org/entity-category"
             NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
           <saml:AttributeValue>http://aai.dfn.de/category/public-idp</saml:AttributeValue>
       </saml:Attribute>
   </MetadataFilter>
</MetadataProvider>

Für weitere Metadata Filter z.B. anhand der jeweiligen Föderation aus eduGAIN (Registration Authority) siehe unter Shibboleth SP - Filtermechanismen.

Discovery Service

Bei einem Shibboleth SP kann der zentrale Discovery Service (WAYF) genutzt werden, sofern kein lokaler bzw. Embedded Discovery Service verwendet wird. Bei SPs, die nur innerhalb der Einrichtung betrieben werden („lokale SPs“), sollte die EntityID des IdP der Einrichtung referenziert werden (siehe auch unter Lokale Metadaten).

Lokaler SP

/etc/shibboleth/shibboleth2.xml
<SSO entityID="https://idp.beispiel-uni.de/idp/shibboleth">
   SAML2
</SSO>

Alle produktiven IdPs der DFN-AAI

/etc/shibboleth/shibboleth2.xml
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://wayf.aai.dfn.de/DFN-AAI/wayf">
    SAML2
</SSO>

Alle produktiven IdPs aus der DFN-AAI und aus eduGAIN

/etc/shibboleth/shibboleth2.xml
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://wayf.aai.dfn.de/DFN-AAI-eduGAIN/wayf">
    SAML2
</SSO>

Für den Fall, dass zwischenzeitig die Testföderation genutzt werden soll:

/etc/shibboleth/shibboleth2.xml
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://wayf.aai.dfn.de/DFN-AAI-Test/wayf">
    SAML2
</SSO>
  • Zuletzt geändert: vor 5 Wochen