Basierend auf der Security Assertion Markup Language (SAML)
Je nach Konfiguration des SP kann der Ablauf vom gezeigten Verhalten abweichen.
Dies hängt davon ab, ob der Dienst z.B. für eine einzelne Einrichtung bereit steht oder mehreren zeitgleich angeboten wird.
Bei nur einer Zieleinrichtung entfallen die Schritte 2-4!
Einziger Nachteil aus Sicht des Anbieters: kein direkter Zugriff auf Nutzerdaten
Linux Shibboleth kann auf den meisten 32- und 64-Bit-Linux-Versionen gebaut werden. Offiziell unterstützt werden folgende Distributionen:
Es werden RPM-Pakete verwendet, die auf den offiziellen Spiegelservern des Projektes verfügbar sind.
Windows Es werden Windows Server 2008 und höher unterstützt. Es werden Installer für 32-Bit und 64-Bit Systeme angeboten.
macOS Wird nicht offiziell unterstützt, aber es gibt einen macport für alle Abhängigkeiten und den SP selbst. Es wird auf freiwilliger Basis gepflegt.
Das Shibboleth-Antragsformular, welches notwendig ist damit Sie einen Ihrer Dienste "shibbolisieren" und an den Identityprovider der TU Dresden anbinden können, finden Sie im Dienstekatalog des ZIH unter dem Punkt Authentifizierungsdienste.
Möchten Sie die technische Anbindung zunächst testen um mögliche Probleme zu erkennen oder einfach nur Erfahrungen im Umgang mit Shibboleth sammeln, so stellt die TU Dresden neben einem produktiven Shibboleth-System auch eine Test-Instanz zur Verfügung.
Eine Anbindung an die Test-Umgebung ist jeder Zeit möglich und ohne große Beantragungs-Prozesse verbunden. Hier genügt eine formlose E-Mail an den Servicedesk.
Bitte beachten Sie jedoch, dass die vom Test-System bereit gestellten Nutzer-Informationen lediglich Dummy-Werte sind und keine Echtdaten enthalten.
Dafür besteht hier die Möglichkeit beliebige Accounts mit Wunschwerten zu erhalten um z.B. interne Berechtigungen Ihrer Anwendungen zu prüfen.
Bevor Sie den Antrag ausgefüllt und digital unterschrieben an den Service Desk senden, lesen Sie sich bitte die folgenden Schritte zur Einrichtung Ihres Shibboleth-Serviceproviders durch.
Welche Attribute Sie beantragen und aus dem IDM-System geliefert bekommen können, sowie eine nähere Beschreibung der Attribut-Definitionen entnehmen Sie diesen PDF-Dokumenten:
Zum Anbinden werden die Metadaten des SPs benötigt. Bitte als Anhang dem Ticket beifügen.
Genauere Informationen was die Metadaten eigentlich sind, was diese enthalten und wie Sie diese erhalten, entnehmen Sie dem Punkt Metadaten dieser Anleitung.
Wenn Ihr Dienst nicht nur TU intern, sondern auch Angehörigen anderer Heimateinrichtungen zur Verfügung stehen soll, vermerken Sie dies im Antrag.
Wir kümmern uns um die Aufnahme in die DFN-AAI oder auch die eduGAIN Föderation.
Bitte befolgen Sie die Installations-Anweisungen des Shibboleth-Consortiums für
Nachdem der SP erfolgreich auf Ihre System installiert wurde, sind folgende Verzeichnisse von besonderem Interesse:
Konfigurationsverzeichnis von Shibboleth. Die wichtigste Konfigurationsdatei ist shibboleth2.xml
.
Linux /etc/shibboleth
Windows C:\opt\shibboleth-sp\etc\shibboleth
Log-Verzeichnis, in das die Logs geschrieben werden.
Im shibd.log
finden Sie Einträge zu SAML, Meatadaten oder Sicherheitsproblemmen.
Im transaction.log
sind die eigentlichen Transaktionen, die am SP eingehen.
Linux /var/log/shibboleth
Windows C:\opt\shibboleth-sp\var\log\shibboleth
Laufzeitverzeichnis, in dem die Prozess-ID und Socket-Dateien gespeichert werden.
Linux /run/shibboleth
Windows C:\opt\shibboleth-sp\var\run\shibboleth
Cache-Verzeichnis, in dem Metadaten-Backups und CRL-Dateien gecached werden.
Linux /var/cache/shibboleth
Windows C:\opt\shibboleth-sp\var\cache\shibboleth
Die Hälfte von Shibboleth läuft innerhalb des Webservers.
Für Apache ist diese Hälfte in einem Modul namens mod_shib_22.so
oder mod_shib_24.so
implementiert, je nach Apache-Version.
Apache anpassen /etc/apache2/vhosts.d/ihr-sp.conf
Laden des Shibboleth-Modul
LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_24.so
Weiterleitung von "http" zu "https"
<VirtualHost *:80>
RedirectMatch permanent ^/(.*)$ https://ihr-sp.tu-dresden.de/$1
</VirtualHost>
Einstellungen für "https" (Ciphersuiten und andere Sicherheitseinstellungen)
SSLStaplingCache shmcb:/tmp/stapling_cache(102400)
<VirtualHost *:443>
ServerName ihr-sp.tu-dresden.de
Header edit Set-Cookie "(?i)^((?:(?!;\s?HttpOnly).)+)$" "$1; HttpOnly"
Header edit Set-Cookie "(?i)^((?:(?!;\s?Secure).)+)$" "$1; Secure"
Header add Strict-Transport-Security "max-age=15768000"
SSLEngine on
SSLCertificateFile /etc/ssl/localcerts/ihr-sp.crt.pem
SSLCertificateKeyFile /etc/ssl/private/ihr-sp.key.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder On
SSLUseStapling on
SSLStaplingReturnResponderErrors off
SSLCompression off
SSLSessionTickets off
Freischalten des Shibboleth-Modul
<Location /Shibboleth.sso>
AuthType None
Require all granted
</Location>
Ressource durch Shibboleth schützen
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
</Location>
</VirtualHost>
Eempfohlene Webserver Einstellungen /etc/apache2/httpd.conf
ServerSignature off
UseCanonicalName off
ServerTokens ProductOnly
ExtendedStatus off
TraceEnable off
Apache neustarten
# Konfiguration auf Korrektheit prüfen
:~ httpd -t
Syntax OK
# Apache neu starten
:~ systemctl restart apache2.service
attribute-map.xml
(s.u.) kann als Identifier festgelegt werden. Es darf aber nur einen Wert liefern. U. a. eignet sich mail
daher nicht.SAML Pairwise ID
oder persistentID
(beide pseudonym und targeted, also pro Nutzer:in und SP generiert und persistent). Wenn Ihre Ressource zwar geschützt werden soll, eine Wiedererkennung der Nutzenden aber nicht notwendig ist, sollten Sie auf die transientID zurückgreifen.<ApplicationDefaults signing="true"
entityID="https://ihr-sp.tu-dresden.de/shibboleth"
REMOTE_USER="pairwise-id persistent-id">
<Sessions lifetime="28800" timeout="3600" relayState="ss:mem"
checkAddress="false" consistentAddress="true"
handlerSSL="true" cookieProps="https" redirectLimit="exact">
entityID
und tragen Sie hier die kennung des IdPs ein.
<SSO entityID="https://idp.tu-dresden.de/idp/shibboleth">
SAML2
</SSO>
Andernfalls nutzen Sie den Discovery Service am SP.
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://ihr-sp.tu-dresden.de/discover">
SAML2
</SSO>
entityID
im SSO
, werden die Discovery-Funktionen unwirksam und die Nutzer werden bei einem Zugriffsversuch auf geschütze Ressourcen umgehend an den entsprechenden IdP weitergeleitet. <Logout>SAML2 Local</Logout>
<MetadataProvider type="XML">
<MetadataProvider type="XML" url="http://www.aai.dfn.de/metadata/dfn-aai-idp-metadata.xml"
validate="true" backingFilePath="dfn-aai-metadata.xml" reloadInterval="3600">
<MetadataFilter type="Signature" certificate="/etc/ssl/aai/dfn-aai.pem"/>
<MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
<MetadataFilter type="Include">
<Include>https://idp.tu-dresden.de/idp/shibboleth</Include>
<Include>https://idp.htw-dresden.de/idp/shibboleth</Include>
</MetadataFilter>
</MetadataProvider>
shibd
unter dem folgenden URL:/etc/ssl/aai/
ab.:~ openssl x509 -noout -fingerprint -sha256 -in /etc/ssl/aai/dfn-aai.pem
<CredentialResolver type="File" key="/etc/ssl/private/ihr-sp.key.pem"
certificate="/etc/ssl/localcerts/ihr-sp.crt.pem"/>
# Konfiguration prüfen
:~ shibd -t
...
overall configuration is loadable, check console or log for non-fatal problems
# shibd neustarten
:~ systemctl restart shibd.service
shibboleth2.xml
an, um auch die Werte zu erhalten:<!-- Session diagnostic service. -->
<Handler type="Session" Location="/Session" showAttributeValues="true"/>
# set overall behavior for console.logger
log4j.rootCategory=WARN, console
# set overall behavior for native.logger
log4j.rootCategory=WARN, native_log, warn_log
# set overall behavior for shibd.logger
log4j.rootCategory=WARN, shibd_log, warn_log
# set overall behavior for shibd.logger
log4j.rootCategory=WARN, syslog
#log4j.appender.shibd_log=org.apache.log4j.RollingFileAppender
log4j.appender.shibd_log=org.apache.log4j.FileAppender
log4j.appender.shibd_log.fileName=/var/log/shibboleth/shibd.log
#log4j.appender.shibd_log.maxFileSize=1000000
#log4j.appender.shibd_log.maxBackupIndex=10
log4j.appender.shibd_log.layout=org.apache.log4j.PatternLayout
log4j.appender.shibd_log.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n
#/etc/shibboleth/native.logger
#log4j.appender.native_log=org.apache.log4j.RollingFileAppender
log4j.appender.native_log=org.apache.log4j.FileAppender
log4j.appender.native_log.fileName=/var/log/shibboleth-www/native.log
#log4j.appender.native_log.maxFileSize=1000000
#log4j.appender.native_log.maxBackupIndex=10
log4j.appender.native_log.layout=org.apache.log4j.PatternLayout
log4j.appender.native_log.layout.ConversionPattern=%d{%Y-%m-%d %H:%M:%S} %p %c %x: %m%n
/var/log/shibboleth/*.log /var/log/shibboleth-www/*.log {
compress
copytruncate
daily
dateext
maxage 7
missingok
notifempty
rotate 7
sharedscripts
postrotate
touch /etc/shibboleth/shibboleth2.xml > /dev/null
endscript
}
# systemctl restart shibd.service
# systemctl restart cron.service
# set overall behavior for shibd.logger
log4j.rootCategory=INFO, shibd_log, warn_log
# systemctl restart shibd.service
# ll /var/log/shibboleth
-rw-r--r-- 1 shibd shibd 963673 31. Mai 10:07 shibd.log
-rw-r--r-- 1 root root 238314 31. Mai 10:07 shibd_warn.log
-rw-r--r-- 1 shibd shibd 0 4. Dez 2013 signature.log
-rw-r--r-- 1 root root 722938 31. Mai 11:41 transaction.log
# vi /var/log/shibboleth/transaction.log
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: New session (ID: xxxxxxxxxx) with (applicationId: default) for principal from (IdP: https://idp.tu-dresden.de/idp/shibboleth) at (ClientAddress: xxx.xxx.xxx.xxx) with (NameIdentifier: xxxxxxxxxx) using (Protocol: urn:oasis:names:tc:SAML:2.0:protocol) from (AssertionID: xxxxxxxxxx)
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: Cached the following attributes with session (ID: xxxxxxxxxx) for (applicationId: default) {
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: entitlement (1 values)
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: affiliation (1 values)
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: persistent-id (1 values)
2017-05-29 14:13:58 INFO Shibboleth-TRANSACTION [23321]: }
<Attribute name="urn:mace:dir:attribute-def:eduPersonScopedAffiliation" id="affiliation">
<AttributeDecoder xsi:type="ScopedAttributeDecoder" caseSensitive="false"/>
</Attribute>
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" id="affiliation">
<AttributeDecoder xsi:type="ScopedAttributeDecoder" caseSensitive="false"/>
</Attribute>
<?php
if( !isset($_SESSION) )
{
session_start();
}
$_SESSION["start_time"] = time();
require_once(dirname(__FILE__) . "/../global/functions.php");
$persID = apache_getenv("persistent-id");
$epsa = apache_getenv("affiliation");
$entitlement = apache_getenv("entitlement");
if( $persID && isStudent($epsa) ) {
...
}
<!-- "Local"-Logout -->
# vi /etc/shibboleth/shibboleth2.xml
...
<Logout>Local SAML2</Logout>
...
<!-- "SAML2"-Logout -->
# vi /etc/shibboleth/shibboleth2.xml
...
<Logout>SAML2 Local</Logout>
...
>Sie haben sich erfolgreich auf dieser Seite abgemeldet.
>
>Hinweis:
>Aus Sicherheitsgründen empfehlen wir Ihnen, den Browser nach der Nutzung zu >schließen, da Sie unter Umständen noch an anderen Seiten angemeldet sein könnten.
>Dieser Hinweis gilt insbesondere dann, wenn Sie von einem öffentlichen Ort aus >zugreifen (z. B. Computer-Pool, Internet-Café).
# vi /etc/shibboleth/shibboleth2.xml
...
<ApplicationOverride id="other" entityID="https://other.zih.tu-dresden.de/shibboleth">
<Sessions lifetime="28800" timeout="3600" relayState="ss:mem" checkAddress="false" consistentAddress="true" handlerSSL="true" cookieProps="https">
<SSO entityID="https://idp3-test.tu-dresden.de/idp/shibboleth" discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
SAML2 SAML1
</SSO>
</Sessions>
<MetadataProvider type="XML" file="idp-metadata.xml"/>
<CredentialResolver type="File" key="/etc/shibboleth/sp-key.pem" certificate="/etc/shibboleth/sp-cert.pem"/>
</ApplicationOverride>
...
# vi /etc/apache2/vhosts.d/server.conf
...
NameVirtualHost *:443
...
<VirtualHost *:443 >
ServerName ihr-sp.tu-dresden.de
...
<Location /secure>
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
</Location>
...
</VirtualHost>
...
<VirtualHost *:443 >
ServerName other.zih.tu-dresden.de
...
<Location /something>
ShibRequestSetting applicationId other
AuthType shibboleth
ShibRequestSetting requireSession 1
require shib-session
</Location>
...
</VirtualHost>
...
# vi /etc/shibboleth/Metadata/server-zih-metadata.xml
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML2/POST" index="1"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML2/POST-SimpleSign" index="2"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML2/Artifact" index="3"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML2/ECP" index="4"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML/POST" index="5"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://ihr-sp.tu-dresden.de/Shibboleth.sso/SAML/Artifact" index="6"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML2/POST" index="7"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML2/POST-SimpleSign" index="8"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML2/Artifact" index="9"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML2/ECP" index="10"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML/POST" index="11"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" Location="https://other.zih.tu-dresden.de/Shibboleth.sso/SAML/Artifact" index="12"/>
wget https://server-zih.tu-dresden.de/Shibboleth.sso/Metadata
# vi /etc/shibboleth/Metadata/server-zih-metadata.xml
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui" ID="_einesehrlangerandomid" entityID="https://ihr-sp.tu-dresden.de/shibboleth">
...
<md:SPSSODescriptor ...>
<md:Extensions>
...
<mdui:UIInfo>
<mdui:DisplayName xml:lang="de">Server ZIH</mdui:DisplayName>
<mdui:DisplayName xml:lang="en">Server ZIH</mdui:DisplayName>
<mdui:Description xml:lang="de">Portal für Angestellte und Studierende ...</mdui:Description>
<mdui:Description xml:lang="en">Portal for employees and students ...</mdui:Description>
<mdui:Logo height="15" width="16">https://ihr-sp.tu-dresden.de/images/pic.png</mdui:Logo>
<mdui:Logo height="140" width="146">https://ihr-sp.tu-dresden.de/images/big_pic.png</mdui:Logo>
<mdui:InformationURL xml:lang="de">https://ihr-sp.tu-dresden.de/</mdui:InformationURL>
<mdui:InformationURL xml:lang="en">https://ihr-sp.tu-dresden.de/</mdui:InformationURL>
<mdui:PrivacyStatementURL xml:lang="de">https://ihr-sp.tu-dresden.de/impressum</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="en">https://ihr-sp.tu-dresden.de/impressum</mdui:PrivacyStatementURL>
</mdui:UIInfo>
</md:Extensions>
...
<AttributeConsumingService index="1">
<RequestedAttribute FriendlyName="eduPersonScopedAffiliation" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
</AttributeConsumingService>
...
</md:SPSSODescriptor>
<md:Organization>
<md:OrganizationDisplayName xml:lang="de">Technische Universität Dresden</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="en">Technische Universität Dresden</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="de">http://www.tu-dresden.de</md:OrganizationURL>
<md:OrganizationURL xml:lang="en">http://www.tu-dresden.de</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="administrative">
<md:GivenName>Max</md:GivenName>
<md:SurName>Mustermann</md:SurName>
<md:EmailAddress>mailto:max.mustermann@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="technical">
<md:GivenName>Petra</md:GivenName>
<md:SurName>Petersen</md:SurName>
<md:EmailAddress>mailto:max.mustermann@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="support">
<md:GivenName>Service</md:GivenName>
<md:SurName>Desk</md:SurName>
<md:EmailAddress>mailto:servicedesk@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
...
# vi /etc/shibboleth/shibboleth2.xml
<SPConfig xmlns="urn:mace:shibboleth:3.0:native:sp:config"
xmlns:conf="urn:mace:shibboleth:3.0:native:sp:config"
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"
clockSkew="180">
...
<ApplicationDefaults ...>
<Sessions ...>
...
<!-- Extension service that generates "approximate" metadata based on SP configuration. -->
<Handler type="MetadataGenerator" Location="/Metadata" signing="false">
<mdui:UIInfo>
<mdui:DisplayName xml:lang="de">Server ZIH</mdui:DisplayName>
<mdui:DisplayName xml:lang="en">Server ZIH</mdui:DisplayName>
<mdui:Description xml:lang="de">Portal für Angestellte ...</mdui:Description>
<mdui:Description xml:lang="en">Portal for employees ...</mdui:Description>
<mdui:Logo height="15" width="16">https://ihr-sp.tu-dresden.de/images/pic.png</mdui:Logo>
<mdui:Logo height="140" width="146">https://ihr-sp.tu-dresden.de/images/big_pic.png</mdui:Logo>
<mdui:InformationURL xml:lang="de">https://ihr-sp.tu-dresden.de/</mdui:InformationURL>
<mdui:InformationURL xml:lang="en">https://ihr-sp.tu-dresden.de/</mdui:InformationURL>
<mdui:PrivacyStatementURL xml:lang="de">https://ihr-sp.tu-dresden.de/impressum</mdui:PrivacyStatementURL>
<mdui:PrivacyStatementURL xml:lang="en">https://ihr-sp.tu-dresden.de/impressum</mdui:PrivacyStatementURL>
</mdui:UIInfo>
<md:AttributeConsumingService index="1">
<md:ServiceName xml:lang="de">Server ZIH</md:ServiceName>
<md:ServiceName xml:lang="en">Server ZIH</md:ServiceName>
<md:ServiceDescription xml:lang="de">Portal für Angestellte ...</md:ServiceDescription>
<md:ServiceDescription xml:lang="en">Portal for employees ...</md:ServiceDescription>
<md:RequestedAttribute FriendlyName="eduPersonScopedAffiliation" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="true"/>
<md:RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" isRequired="false"/>
</md:AttributeConsumingService>
<md:Organization>
<md:OrganizationName xml:lang="de">TU Dresden</md:OrganizationName>
<md:OrganizationName xml:lang="en">TU Dresden</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="de">Technische Universität Dresden</md:OrganizationDisplayName>
<md:OrganizationDisplayName xml:lang="en">Technische Universität Dresden</md:OrganizationDisplayName>
<md:OrganizationURL xml:lang="de">https://www.tu-dresden.de</md:OrganizationURL>
<md:OrganizationURL xml:lang="en">https://www.tu-dresden.de</md:OrganizationURL>
</md:Organization>
<md:ContactPerson contactType="support">
<md:GivenName>Service</md:GivenName>
<md:SurName>Desk</md:SurName>
<md:EmailAddress>servicedesk@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="technical">
<md:GivenName>Technischer</md:GivenName>
<md:SurName>Ansprechpartner</md:SurName>
<md:EmailAddress>techniker@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="administrative">
<md:GivenName>Adminstrativer</md:GivenName>
<md:SurName>Ansprechpartner</md:SurName>
<md:EmailAddress>admin@tu-dresden.de</md:EmailAddress>
</md:ContactPerson>
</Handler>
...
# vi /etc/shibboleth/shibboleth2.xml
<CredentialResolver type="Chaining">
<!-- Active certificate -->
<CredentialResolver type="File" keyName="Active" key="/etc/apache2/ssl.key/oldkey.pem" certificate="/etc/apache2/ssl.crt/oldcert.pem"/>
<!-- Passive certificate -->
<CredentialResolver type="File" keyName="Passive" key="/etc/apache2/ssl.key/newkey.pem" certificate="/etc/apache2/ssl.crt/newcert.pem"/>
</CredentialResolver>
systemctl restart shibd
wget https://server-zih.tu-dresden.de/Shibboleth.sso/Metadata
# vi /etc/shibboleth/shibboleth2.xml
<CredentialResolver type="Chaining">
<!-- Active certificate -->
<CredentialResolver type="File" keyName="Active" key="/etc/apache2/ssl.key/newkey.pem" certificate="/etc/apache2/ssl.crt/newcert.pem"/>
<!-- Passive certificate -->
<CredentialResolver type="File" keyName="Passive" key="/etc/apache2/ssl.key/oldkey.pem" certificate="/etc/apache2/ssl.crt/oldcert.pem"/>
</CredentialResolver>
systemctl restart shibd
wget https://server-zih.tu-dresden.de/Shibboleth.sso/Metadata
# vi /etc/shibboleth/shibboleth2.xml
<CredentialResolver type="Chaining">
<!-- Active certificate -->
<CredentialResolver type="File" keyName="Active" key="/etc/apache2/ssl.key/newkey.pem" certificate="/etc/apache2/ssl.crt/newcert.pem"/>
</CredentialResolver>
systemctl restart shibd
Klasse | Identifizierung | Authentifizierung | Qualität des IDM |
---|---|---|---|
Test | Verfahren freigestellt | Verfahren freigestellt | Verfahren freigestellt |
Basic | eindeutige Adresse (E-Mail, Postanschrift, etc.) | eindeutige digitale Adresse | Verpflichtung bzgl. Aktualität von 3 Monaten |
advanced | pers. Vorsprechen unter Vorlage amtlicher Dokumente | pers. Account bzw. digitales Zertifikat | Verpflichtung bzgl. Aktualität von 2 Wochen |