Upload
klara-knopp
View
219
Download
5
Embed Size (px)
Citation preview
Die Technik des Service Provider
2. Shibboleth-WorkshopFreiburg, 23. März
Dr. Jochen LienhardAAR ProjektUB Freiburg
Authentifizierung, Autorisierung und Rechteverwaltung
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 2
Was ist ein Service Provider?
• AllgemeinEin Service Provider (SP) ist ein Anbieter von webbasierten Diensten oder Inhalten, die einen eingeschränkten Zugriff benötigen.
• bei Shibboleth „A Service Provider (SP) is a deployment of SAML software that validates assertions issued by Identity Providers (IdP) and uses them to create a security context and assists in the enforcement of access control based on the information.”
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 3
Beispiele für Ressourcen
• HTML-Seiten, PHP- oder CGI-Scripte• e-Learning-Module in LMS• Datenbanken• Elektronische Zeitschriften• Zertifizierungsstelle• ...
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 4
Ohne Shibboleth
Web-Server
Apache oder IIS
httpd.conf
<Location>
Require ....
</Location>
Daten im FilesystemRessource
Manager
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 5
Mit Shibboleth
Web-ServerApache oder IIS
httpd.conf
<Location> AuthType shibboleth ShibRequireSession On
</Location>
Daten im FilesystemRessource
Manager
mod_shib (ACS) shibd
(+ AAP)
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 6
Der Ressource Manager
• RM des Apache– require affiliation [email protected]
• RM als Mischung aus Apache und zusätzlicher Software– require valid_user + ....
• RM nur mit zusätzlicher Software– lazy session
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 7
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 8
Die Shibboleth Komponenten
• mod_shib (Assertion Consumer Service)Apache Modul, das in die httpd.conf eingebunden werden muss.
• shibdShibboleth Dämon
• AAPAttribute Acceptance Policies
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 9
Funktionsweise
1. Zugriff auf Ressource→ Redirect zum WAYF oder IdP durch ACS
2. 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
3. Attribute des AAs→ Verifizierung der Attribute (AAP.xml)→ Freigabe oder Sperrung der Ressource durch RM
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 10
Systemvoraussetzungen
• Betriebssystem– Linux, Solaris, Windows, MAC
• Webserver– Apache oder IIS
• Sicherheit– OpenSSL
• OpenSource• Quellcode: C++
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 11
Zusätzliche Komponenten
Die zusätzlichen Komponenten sind bei Internet2 oder Apache verfügbar:– log4cpp – xerces-c – xml-security-c – opensaml
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 12
Konfigurationsdateien
• apache.config bzw. apache2.configKonfigurationsdatei für das mod_shib
• shibboleth.xmlZentrale XML-Konfigurationsdatei
• AAP.xmlXML Datei zur Konfiguration der Attribute Acceptance Policies
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 13
Was muss man konfigurieren?
• Basiskonfiguration (apache.config + shibboleth.xml)
• Attributes (AAP.xml)• Schutz der Ressoucre
(apache.config + shibboleth.xml + RM)
• Zertifikate (shibboleth.xml)• Föderation und Metadaten (shibboleth.xml)• Logger und Fehlerseiten (shibboleth.xml)
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 14
Basiskonfiguration
• shibboleth.xml editieren– Service Provider ID eintragen– WAYF oder IdP angeben– Metadaten und Audience anpassen– Zertifikate einbinden (Client Zertifikat)
• apache-Konfiguration einbinden.
Anschließend ein Test gegenüber eines existierenden IdP.
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 15
Attribute (AAP.xml)
• „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 16
Schutz der Ressourcen (am Beispiel von Apache)
• Konfiguration des Apache<Location /interna>
AuthType shibbolethShibRequireSession OnRequire EduPersonEntitlement urn:mace:aar:entitlement:ezb:unirb:admin
</Location>• Ressource Manager• Rechteserver
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 17
Zertifikate
• Schlüssel und Zertifikat notwendig• Client-Zertifikat für Requester-Match bei der
ARP des IdP.• Root-CA muss in der metadata.xml enthalten
sein.
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 18
Föderation und Metadaten
• Föderation – als Basis des Vertrauens– als Lieferant der Metadaten– als Rahmen
• Metadaten– notwendig zur Überprüfung der IdPs– Informationen über IdP– Informationen über Zertifikate
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 19
Session Initiator
• default Initiator sollte der WAYF sein• ermöglicht es URLs zu generieren, die einen
Initiator enthalten, so dass der Nutzer direkt zum richtigen IdP geleitet wird ohne über den WAYF zu gehen.
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 20
Logger und Fehlerseiten
• verschiedene Log-Level einstellbar– DEBUG, INFO, WARN, ERROR, OFF
• Fehlerseiten können selbst gestaltet werden: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"
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 21
Timeouts
• diverse Timeouts einstellbar– für die Kommunikation– für die Session
• beachten, welche Timeouts die IdPs haben• Gleichgewicht finden!
• Änderung diese Konzepts für Shibboleth 2.x vorgesehen.
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 22
Einbindung in mehrere Föderationen
• notwendig für internationale Anbieter, falls nur länderspezifischen Föderationen existieren.– alternativ: eigene Föderation
• Realisierbar durch mehrere Applications• Verschiedene URLs definieren und schützen• Zugriff auf verschiedene WAYFs
– ein metadata.xml
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 23
WAYF beim SP
• Problem, welcher WAYF verwendet werden soll, wenn der SP mehreren Föderationen angehört.
• Vorteile:– gezielte Weiterleitung zum entsprechenden IdP
möglich (Session Initiator)– nur eigene Kunden sind im WAYF
• Nachteil:– zusätzliche Komponente, die gepflegt werden muss.
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 24
„Migrationscheckliste“
• Wie werden die Ressourcen bisher geschützt (Apache, Tomcat, eigenes Verfahren, ...)?
• Existiert ein Sitzungsmanagement?• Kann dieses weiter verwendet werden, z.B. indem
eine Sitzung über Shibboleth aufgebaut wird?• Existiert eine Rechteverwaltung?• Können die dafür notwendigen Informationen per
Shibboleth über Attribute bereitgestellt werden?• Können die Identity-Provider die Attribute liefern?
Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 25
Beispiele von SP
• Nagios (Überwachungssystem)• Stokat Bibl.Verwaltungssystem• ReDI Regionale Datenbank-Information
Baden-Württemberg
→ Details am Nachmittag
Fragen,Probleme,
Anregungen?