1 / 27

Einführung in den Service Provider Shibboleth-Workshop Freiburg, 12. Oktober 2005 Dr. Jochen Lienhard AAR Projekt UB Fre

Authentifizierung, Autorisierung und Rechteverwaltung. Einführung in den Service Provider Shibboleth-Workshop Freiburg, 12. Oktober 2005 Dr. Jochen Lienhard AAR Projekt UB Freiburg. Gliederung des Vortrags (I). Einführung in den Service Provider Aufgaben Aufbau Funktionsweise

alamea
Télécharger la présentation

Einführung in den Service Provider Shibboleth-Workshop Freiburg, 12. Oktober 2005 Dr. Jochen Lienhard AAR Projekt UB Fre

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Authentifizierung, Autorisierung und Rechteverwaltung Einführung in den Service Provider Shibboleth-Workshop Freiburg, 12. Oktober 2005 Dr. Jochen Lienhard AAR Projekt UB Freiburg

  2. Gliederung des Vortrags (I) • Einführung in den Service Provider • Aufgaben • Aufbau • Funktionsweise • Systemvoraussetzungen • Installation von zusätzlichen Komponenten • Installation des Service Providers • Basiskonfiguration des Service Providers • Java - Version • Konfiguration des Service Providers Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 2

  3. Aufgaben des Service Providers • Schutz der Ressourcen • Kontaktaufnahme zum Identity Provider (via WAYF) • Überprüfung der Zertifikate • Überprüfung der Attribute • Freigabe der Ressource Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 3

  4. Aufbau Ressourcen Apache Benutzer authentifiziert? mod_shib (ACS) Ressource- Manager (RM) fragt Attribute bei der AA ab shibd definiert, welche Attribute für den Zugriff auf die Ressourcen erforderlich sind AAP kontrolliert den Zugriff auf die Ressourcen Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 4

  5. Funktionsweise • Zugriff auf Ressource • Redirect zum WAYF oder IdP durch ACS • Authentifizierungsbestätigung des IdPs • Weiterleitung der SAML vom Apache-Modul (ACS) zum Shibboleth-Dämon (shibd) • Anfrage vom Dämon an den AA bzgl Attribute • Attribute des AAs • Verifizierung der Attribute (AAP.xml) • Freigabe oder Sperrung der Ressource Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 5

  6. Systemvoraussetzungen (für C Version) • Apache 1.3 oder 2 • Quelldateien für entsprechenden Apache • OpenSSL • GCC (inklusive Entwicklungsumgebung für g++) • libcurl • (für Windows) Visual Studio 6.0 und alternativ IIS • (für MAC) ebenfalls Sourcecode vorhanden Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 6

  7. Zusätzliche Komponenten Die zusätzlichen Komponenten sind bei Internet2 oder Apache verfügbar: Downloaden, auspacken, kompilieren, installieren! • log4cpp 0.3.5.rc1 • xerces-c 2.6.1 • xml-security-c 1.2.x • opensaml 1.1 Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 7

  8. Service Provider (Installation) • Sourcecode downloaden, auspacken und konfigurieren ./configure … --with-apxs=<apxs Pfad> --enable-apache-13oder --with-apxs2=<apxs2 Pfad> --enable-apache-20 • Kompilieren und installieren • make und make install Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 8

  9. Service Provider (Basiskonfiguration) • Einbinden der apache.config • Startvorgang von shibd einrichten • shibboleth.xml konfigurieren • WAYF eintragen • Zertifikate eintragen • Name des Service Providers • metadata.xml herunterladen • Apache neu starten  Zugriff mit Shibboleth geschützt Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 9

  10. Service Provider (Java-Version) • Noch keine offizielles Release • Systemvoraussetzung: Tomcat 4.x besser 5.x sowie entsprechende Java-Version • Sourcen: • 1 zip File oder • Sourcecode aus dem CVS von Internet2 • Dokumentation: für Eclipse unter Windows • Vorteile / Nachteile Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 10

  11. Gliederung des Vortrags (II) • Einführung in den Service Provider • Konfiguration des Service Providers • shibboleth.xml im Detail • Schutz der Ressourcen • AAP.xml Verifizierung der Attribute • Anbindung an existierende Systeme • Einbindung in mehrere Föderationen • Attribute: Beispiele Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 11

  12. shibboleth.xml im Detail • SPConfig (Rahmen der XML-Datei) • Global • Local • Applications • Sessions • Metadata • Application • Credentials Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 12

  13. SPConfig <SPConfig xmlns="urn:mace:shibboleth:target:config:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mace:shibboleth:target:config:1.0 /usr/local/share/xml/shibboleth/shibboleth-targetconfig-1.0.xsd" logger="/usr/local/etc/shibboleth/shibboleth.logger" clockSkew="180"> -<Extensions> <Library path="/usr/local/libexec/xmlproviders.so" fatal="true" /> </Extensions> … </SPConfig> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 13

  14. Global <Global logger="/usr/local/etc/shibboleth/shibd.logger"> <UnixListener address="/usr/local/var/run/shib-shar.sock" />   <MemorySessionCache cleanupInterval="300" cacheTimeout="3600" AATimeout="30" AAConnectTimeout="15" defaultLifetime="1800" retryInterval="300" strictValidity="false" propagateErrors="false" /> </Global> • Alternativen: • TCPListener • MySQLSessionCache Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 14

  15. Local <Local logger="/usr/local/etc/shibboleth/native.logger" localRelayState="true"> -<RequestMapProvidertype="edu.internet2.middleware.shibboleth.sp.provider.NativeRequestMapProvider"> -<RequestMap applicationId="default"> - <Host name="lienhard.ub.uni-freiburg.de"> <Path name="test" authType="shibboleth" requireSession="true" exportAssertion="true" />   </Host>   </RequestMap> </RequestMapProvider> </Local> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 15

  16. Applications <Applications id="default" providerId="https://aar.ub.uni-freiburg/shibboleth" homeURL="https://aar.ub.uni-freiburg/" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> … <Errors session="/usr/local/etc/shibboleth/sessionError.html" metadata="/usr/local/etc/shibboleth/metadataError.html" rm="/usr/local/etc/shibboleth/rmError.html" access="/usr/local/etc/shibboleth/accessError.html" supportContact="root@localhost" logoLocation="/shibboleth-sp/logo.jpg" styleSheet="/shibboleth-sp/main.css" /> … </Applications> • providerId muss mit den übermittelten Daten übereinstimmen! Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 16

  17. Applications (Sessions) <Sessions lifetime="7200" timeout="3600" checkAddress="false" handlerURL="/Shibboleth.sso" handlerSSL="false" idpHistory="true" idpHistoryDays="7">   <SessionInitiator isDefault="true" id="AAR" Location="/WAYF/DEMOaar" Binding="urn:mace:shibboleth:sp:1.3:SessionInit" wayfURL="https://aar.ub.uni-freiburg.de/DEMOaar/WAYF" wayfBinding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" /> <md:AssertionConsumerService Location="/SAML/POST" isDefault="true" index="1" Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post" />   <md:AssertionConsumerService Location="/SAML/Artifact" index="2" Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01" />   <md:SingleLogoutService Location="/Logout" Binding="urn:mace:shibboleth:sp:1.3:Logout" /> </Sessions> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 17

  18. Applications (Metadaten) <CredentialUse TLS="defcreds" Signing="defcreds"> <RelyingParty Name="urn:mace:DEMOaar" TLS="defcreds" Signing="defcreds" /> </CredentialUse> <AAPProvider type="edu.internet2.middleware.shibboleth.aap.provider.XMLAAP" uri="/usr/local/etc/shibboleth/AAP.xml" /> <MetadataProvider type="edu.internet2.middleware.shibboleth.metadata.provider.XMLMetadata" uri="/usr/local/etc/shibboleth/DEMO-metadata.xml" /> <TrustProvider type="edu.internet2.middleware.shibboleth.common.provider.ShibbolethTrust" /> <saml:Audience>urn:mace:DEMOaar</saml:Audience> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 18

  19. Application • notwendig, wenn individuelle • Attribute • Session-Settings • Metadaten benötigt werden. • Analog zu Applications • kann auch separaten WAYF enthalten Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 19

  20. Credentials <CredentialsProvider type="edu.internet2.middleware.shibboleth.common.Credentials"> <Credentials xmlns="urn:mace:shibboleth:credentials:1.0"> - <FileResolver Id="defcreds"> - <Key>   <Path>/etc/apache2/ssl.key/server_ohne.key</Path>   </Key> - <Certificate>   <Path>/etc/apache2/ssl.crt/server.crt</Path>   </Certificate>   </FileResolver>   </Credentials>   </CredentialsProvider> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 20

  21. Schutz der Ressourcen (am Beispiel von Apache) • Rechteserver • Konfiguration des Apache <Location /interna> AuthType shibboleth ShibRequireSession On Require EduPersonEntitlement urn:mace:aar:entitlement:ezb:unirb:admin </Location> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 21

  22. AAP.xml Abbildung der Attribute • „Default-Attribute“: Identity Provider • Empfangene Attribute müssen abgebildet und gefiltert werden <AttributeRule Name=“urn:mace:dir:attribute-def:eduPersonAffiliation“ Header=“Shib-EP-Affiliation“ Alias=“affiliation“> <AnySite> <AnyValue> </AnySite> </AttributeRule> Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 22

  23. Anbindung existierende Systeme • Bisheriger Schutz der Ressourcen? • Apache • Tomcat • … • Existiert ein Sessionmanagement? • Kann dieses verwendet werden?(z.B. durch Erstellen eines Tickets mittels Shibboleth) • eventuell Änderungen am System Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 23

  24. Beispiel: ReDI als SP • Sessionmanagement vorhanden • ReDI-Session wird durch zentrales login-Script erzeugt • Anpassen des Scriptes, so dass externe Authentifizierungen akzeptiert werden • Abbilden der akzeptieren Authentifizierung auf ReDI-Sessions Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 24

  25. Einbindung in mehrere Föderationen • notwendig für internationale Anbieter, falls nur länderspezifischen Föderationen existieren. • alternativ: eigene Föderation • Realsierbar durch mehrere Applications • Verschiedene URLs definieren und schützen • Zugriff auf verschiedene WAYFs • ein metadata.xml Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 25

  26. Attribute • eduPerson – Schemata • eduPersonScopedAffiliationBeispiel: member@uni-freiburg.de • eduPersonEntitlementBeispiele: urn:mace:incommon:entitlement:common:1 urn:mace:aar:entitlement:redi:unifr:jura urn:mace:aar:entitlement:ezb:unirb:admin • eduPersonPrincipalNameBeispiel: lienhard@uni-freiburg.de • eduPersonTargetedID Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 26

  27. Fragen, Probleme, Anregungen?

More Related