1 Authenticatie en Autorisatie Infrastructuur Shibboleth Service Provider 20 juni 2007 Philip Brusten2 Overzicht Shibboleth Standard Base Installatie ...
Authenticatie en Autorisatie Infrastructuur Shibboleth Service Provider 20 juni 2007
Philip Brusten
Overzicht Shibboleth Standard Base Installatie Verschillende componenten Probleemoplossing Referenties
Shibboleth Standard Base
Inhoud
Variabele
Linux
Variabele
SSL certificaten
$SSLDIR
/etc/pki
c:\pki
Shibboleth configuratie
$SHIBDIR
/etc/shibboleth
c:\shib-sp\etc
Shibboleth logging
$SHIBLOG
/var/log/shibboleth c:\shib-sp\var\log
Webserver logging
$WEBLOG
/var/log/apache2
c:\shib-sp\var\log
Overzicht Shibboleth Standard Base Installatie Verschillende componenten Probleemoplossing Referenties
Installatie Verschillende besturingssystemen
Linux Mac OS X Solaris Windows Building Shibboleth
Linux Maak gebruik van pakketten!
RedHat RPMs beschikbaar
Debian Pakketten in officiële apt repository
Ubuntu Pakketten in officiële apt repository Alle pakketten hebben een afhankelijkheid naar het apache 2.x pakket van de officiële distributie
Linux: RedHat
Sinds versie 3.2 Haal de RPMS af van de officiële site van Shibboleth root# cd /usr/src/redhat/RPMS/i386 root# wget -r -A.rpm http://shibboleth.internet2.edu/downloads/RPMS/i386/RHE/version
Installeer de RPMS root# rpm -ivh *.rpm
Linux: Debian Debian Sarge (3.1): Testing distribution Debian Etch (4.0): Stable distribution Verander de apt repository naar testing indien nodig Installeer de Shibboleth Service provider root# apt-get update root# apt-get install lipapache2-mod-shib ... The following NEW packages will be installed libapache2-mod-shib libcurl3 libicu36 liblog4cpp4 libmysqlclient15off libsaml5 libshib-target5 libshib6 libxalan110 libxerces27 libxml-security-c12 mysql-common 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Linux: Ubuntu
Sinds Ubuntu feisty in universe repository Verander de apt repository naar universe indien nodig Installeer de Shibboleth Service Provider user# sudo apt-get update user# sudo apt-get install lipapache2-mod-shib ... The following NEW packages will be installed libapache2-mod-shib libcurl3 libicu36 liblog4cpp4 libmysqlclient15off libsaml5 libshib-target5 libshib6 libxalan110 libxerces27 libxml-security-c12 mysql-common 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Windows Vereiste Apache 1.3.x, Apache2.x of IIS6 MSI pakket
Zelf compileren In uiterste nood...
Linux SRPMs hercompileren 1 Debian source pakketten hercompileren Van source compileren 2
Filter voor inkomende attributen Vertaalslag van attribuut naar omgevingsvariabele en alias Omgevingsvariabele nadien bruikbaar als header in de toepassing Alias bruikbaar voor Autorisatie, zie verder
Zeer statisch bestand. 1 Moet zelden iets aan worden veranderd.
1 http://shib.kuleuven.be/download/sp/1.3/AAP.xml
Attribute Acceptance Policy Voorbeeld AAP.xml
AAP
1
^[^@]+$
1 http://shib.kuleuven.be/download/sp/1.3/AAP.xml
Verschillende componenten Overzicht Apache
Shibboleth daemon/service
Shibboleth handler /Shibboleth.sso
ISAPI filter Shibboleth Trust
RPC port 1600
RPC port 1600
...
AAP
Shibboleth handler /Shibboleth.sso
mod_ssl
Autorisatie
mod_shib
Autorisatie
mod_auth
IIS
Autorisatie
Autorisatie
Afschermen van statische pagina's Apache ✔ .htaccess ✔ globale
configuratie
✔ Shibboleth
daemon/service voor gecombineerde toegangsregels
IIS ✔ Shibboleth
service
Dynamische pagina's In de toepassing (adhv programmeertaal)
Autorisatie
Autorisatie
Apache .htaccess globale configuratie
Shibboleth daemon/service ($SHIBDIR/shibboleth.xml) inline via een gelinkt extern bestand
In de toepassing (adhv programmeertaal)
Autorisatie
Autorisatie
Apache require syntax 1 require valid-user user ... group ... ... shibboleth
⇒ ⇒ ⇒ ⇒ ⇒
elke geauthenticeerde gebruiker REMOTE_USER zie AuthGroupFile elke “alias” uit AAP.xml “LazySessions”, zie later
1 http://aai.kuleuven.be/shibboleth/doc/acl
Autorisatie
Autorisatie
Voorbeelden AuthType shibboleth ShibRequireSession On require valid-user
AuthType shibboleth ShibRequireSession On require givenName Philip
AuthType shibboleth ShibRequireSession On require user [email protected] AuthType shibboleth ShibRequireSession On require eduPersonAffiliation member require eduPersonAffiliation student ShibRequireAll On
AuthType shibboleth ShibRequireSession On AuthGroupFile .htgroups require group admins