Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR...

26
Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung und Rechteverwaltung

Transcript of Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR...

Page 1: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

Die Technik des Service Provider

2. Shibboleth-WorkshopFreiburg, 23. März

Dr. Jochen LienhardAAR ProjektUB Freiburg

Authentifizierung, Autorisierung und Rechteverwaltung

Page 2: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.”

Page 3: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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• ...

Page 4: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 4

Ohne Shibboleth

Web-Server

Apache oder IIS

httpd.conf

<Location>

Require ....

</Location>

Daten im FilesystemRessource

Manager

Page 5: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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)

Page 6: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 7: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 8: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 9: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 10: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

Dr. Jochen Lienhard, AAR Projekt, UB Freiburg 10

Systemvoraussetzungen

• Betriebssystem– Linux, Solaris, Windows, MAC

• Webserver– Apache oder IIS

• Sicherheit– OpenSSL

• OpenSource• Quellcode: C++

Page 11: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 12: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 13: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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)

Page 14: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.

Page 15: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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>

Page 16: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 17: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.

Page 18: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 19: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.

Page 20: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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"

Page 21: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.

Page 22: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 23: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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.

Page 24: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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?

Page 25: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

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

Page 26: Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.

Fragen,Probleme,

Anregungen?