Sie befinden sich im Service: Identity Management

Konfiguration für den Schutz des Hauptverzeichnisses

Konfiguration für den Schutz des Hauptverzeichnisses

 Detailinformation

In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie die Konfiguration Ihres auf dem Apache mod_shib basierenden Shibboleth Service Providers aufbauen, um den Zugriff auf ein Verzeichnis mit RWTH Single Sign-On zu schützen.

  • /etc/shibboleth/shibboleth2.xml bearbeiten (Auszüge mit den relevanten Anpassungen):
    • Den Knoten SPConfig mit folgendem ersetzen, um den Namespace mdui zu definieren:

      <SPConfig xmlns="urn:mace:shibboleth:3.0:native:sp:config"

         xmlns:conf="urn:mace:shibboleth:3.0:native:sp:config"

         xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"

         xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"  

         xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"

         xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"

         clockSkew="180">

    • In den ApplicationDefaults die entityID setzen, um die ID des Service Providers festzulegen (URL zur geschützen Anwendung)

      <ApplicationDefaults id="default" policyId="default" entityID="https://sp.example.com" ...>

    • Im Sessions-Knoten handler="SSL" setzen und cookieProps="https". checkAddress kann optional auf true gesetzt werden und sorgt für eine Übereinstimmung der IP Adresse beim Login (kann bei Proxies zu Problemen führen).

      <Sessions lifetime="28800" timeout="3600" relayState="ss:mem"

                        checkAddress="false" handlerSSL="true" cookieProps="https" redirectLimit="exact">

    • SSO Knoten ersetzen, um die Verbindung zum Identity Provider der RWTH Aachen University herzustellen:

      <SSO entityID="https://login.rz.rwth-aachen.de/shibboleth">

        SAML2

      </SSO>

    • Die Zeile <Handler type="MetadataGenerator" Location="/Metadata" signing="false"/> mit folgendem Ersetzen, um hier die Information zu Ihrem Service Provider einzutragen:

      <Handler type="MetadataGenerator" Location="/Metadata" signing="false">

          <mdui:UIInfo>

              <mdui:DisplayName xml:lang="de">Beispiel SP</mdui:DisplayName>

              <mdui:DisplayName xml:lang="en">Example SP</mdui:DisplayName>

              <mdui:Description xml:lang="de">Eine Beschreibung für den SP</mdui:Description>

              <mdui:Description xml:lang="en">An description for the SP</mdui:Description>

          </mdui:UIInfo>

          <md:Organization>

              <md:OrganizationName xml:lang="de">RWTH Aachen University</md:OrganizationName>

              <md:OrganizationName xml:lang="en">RWTH Aachen University</md:OrganizationName>

              <md:OrganizationDisplayName xml:lang="de">RWTH Aachen University</md:OrganizationDisplayName>

              <md:OrganizationDisplayName xml:lang="en">RWTH Aachen University</md:OrganizationDisplayName>

              <md:OrganizationURL xml:lang="de">http://www.rwth-aachen.de</md:OrganizationURL>

              <md:OrganizationURL xml:lang="en">http://www.rwth-aachen.de</md:OrganizationURL>

          </md:Organization>

          <md:ContactPerson contactType="support">

              <md:GivenName>Support</md:GivenName>

              <md:SurName>Adresse</md:SurName>

              <md:EmailAddress>support@sp.example.com</md:EmailAddress>

          </md:ContactPerson>

          <md:ContactPerson contactType="technical">

              <md:GivenName>Technischer</md:GivenName>

              <md:SurName>Ansprechpartner</md:SurName>

              <md:EmailAddress>technik@sp.example.com</md:EmailAddress>

          </md:ContactPerson>

          <md:ContactPerson contactType="administrative">

              <md:GivenName>Adminstrativer</md:GivenName>

              <md:SurName>Ansprechpartner</md:SurName>

              <md:EmailAddress>admin@sp.example.com</md:EmailAddress>

          </md:ContactPerson>

      </Handler>

      Hier die gewünschten Informationen eintragen

    • Metadaten Provider Eintragen

      <!-- RWTH Aachen Metadaten -->

      <MetadataProvider type="XML" validate="true"

                  url="https://sso.rwth-aachen.de/metadata/rwth.metadata.xml"

            backingFilePath="rwth.metadata.xml" maxRefreshDelay="7200">

          <MetadataFilter type="Signature" certificate="/etc/shibboleth/sso.pem" />

      </MetadataProvider>

      Zertifikat für SignatureMetadataFilter (oben: sso.pem)

      Das Zertifikat finden Sie unter https://sso.rwth-aachen.de/metadata/sso.pem. Dieses können Sie auch per wget abrufen und direkt am Zielort ablegen:

      wget https://sso.rwth-aachen.de/metadata/sso.pem -O /etc/shibboleth/sso.pem

    • Im Credential Resolver die Zertifikate eintragen, um damit die Verschlüsselung und Entschlüsselung der SAML Daten zu ermöglichen:

      <CredentialResolver type="File" key="/Pfad/zum/Private/Key.pem" certificate="/Pfad/zum/Zertifikat.pem"/>

    • Prüfen, ob die Konfiguration geladen werden kann

      shibd -t

      Bei RHEL basierenden Systemen (centOS etc) muss vorher noch der LD_LIBRARY_PATH erweitert werden: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/shibboleth/lib64/

    • Den Shibboleth Service Provider neustarten

      systemctl restart shibd


 Zusatzinformation

  • Ein Beispiel für ein Setup zum Schutz des Hauptverzeichnisses finden sie hier.

zuletzt geändert am 22.04.2024

Wie hat Ihnen dieser Inhalt geholfen?

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz