Shibboleth

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

Hinweis zur Doku

Diese Doku entstand im wesentlichen mit Hilfe der AAI-DFN Dokumentation

Was ist Shibboleth

Auszug aus Wikipedia
Wikipedia
Shibboleth ist ein vom Internet2/MACE entwickeltes Verfahren zur verteilten Authentifizierung und Autorisierung für Webanwendungen und Webservices. Das Konzept von Shibboleth sieht vor, dass der Benutzer sich nur einmal bei seiner Heimateinrichtung authentisieren muss, um ortsunabhängig auf Dienste oder lizenzierte Inhalte verschiedener Anbieter zugreifen zu können (engl. Single Sign-On). Shibboleth basiert auf einer Erweiterung des Standards SAML.


Allgemein

Die nachfolgende Beschreibung bezieht sich auf folgende Systemvoraussetzungen:

Debian Etch
Tomcat 5.5
Shibbileth 1.3.3
Shibboleth IDP 2.0 
Shibboleth SP 2.1

IdP Identity-Provider

IDP Version 1.3

Anpassungen in der Sources.list

Für die Installation von Tomcat wird das Java-Run-Time-Environment als auch das Java-Development-Kit
benötig. Diese findet sich im non-free Zweig von Debian.
Es muss eventuell die Datei /etc/apt/sources.list angepasst werden.

deb http://ftp.debian.org/debian etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free

Installation von Java

  • Achtung, für Java werden die non-free Quellen benötigt:
deb http://ftp.debian.org/debian               stable         main contrib non-free
deb http://security.debian.org/debian-security stable/updates main contrib non-free

aptitude update
aptitude install sun-java5-jdk

Konfiguration

Falls schon eine andere Version von Java installiert ist, kann man mit folgendem Befehl sicher stellen,
dass das Java-Kommando auf das eben installierte zegt:

update-alternatives --config java

  Auswahl      Alternative
-------------------------------------------------------
          1    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*         2    /usr/bin/gij-wrapper-4.1
+         3    /usr/lib/jvm/java-gcj/jre/bin/java
--------------------------------------------------------

Mit auswahl der Nummer wird die richtige Version aktiviert. Hier die Nummer 3

Installation von Tomcat

aptitude install tomcat5.5

Konfiguration

/etc/default/tomcat5.5
TOMCAT5_SECURITY=no
Tomcat und SSL

Damit der IdP der mit der Unix-ID des Tomcat-Users läuft, auf die SSL-Zertifikate zugreifen kann,
müssen die Recht noch entsprechend angepasst werden:
Zertifikats-Speicher: /etc/ssl/private

# groupadd ssl-cert
# adduser tomcat55 ssl-cert
# chgrp ssl-cert /etc/ssl/private
# chmod g+rw /etc/ssl/privat

Installation Apache2

# aptitude install apache2 libapache2-mod-jk
# a2enmod jk
# a2enmod ssl

Wenn die Benutzeranmeldung über einen LDAP realisiert wird, benötigt man noch folgendes Modul:

# a2enmod authnz_ldap

Danach dann einmal:

# /etc/init.d/apache2 force-reload

Installation Shibboleth IdP

  • Mit wget wird das Shibbolethpaket auf den Server geladen.

Unter folgendem wget Link sind die aktuellen Pakete zu finden. Bitte immer erst nachschauen, welche Version die aktuellste ist.

  • Wenn man sich für eine Versio entschieden hat, wird es mit wget auf den Server geladen:
  • Java-Installation überprüfen. Es muss folgende Version aktiv sein:
/usr/lib/jvm/java-1.5.0-sun/jre/bin/java

Geprüft wird das mit folgendem Befehl:

 # update-alternatives --config java

 There are 3 alternatives which provide `java'.

 Selection    Alternative
-----------------------------------------------
*         1    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
          2    /usr/bin/gij-wrapper-4.1
 +        3    /usr/lib/jvm/java-gcj/jre/bin/java

Press enter to keep the default[*], or type selection number:
  • Jetz kann der Shibboleth IdP instaliert werden:
# cd /usr/local/src/
# wget http://shibboleth.internet2.edu/downloads/shibboleth-idp-1.3.3.tar.gz
# tar xzvf shibboleth-idp-1.3.3.tar.gz
# cd shibboleth-1.3.3-install
# JAVACMD=/usr/bin/java ./ant
ACHTUNG: Hier können die Vorgaben mit Enter bestätigt werden.
ACHTUNG: NUR die Angabe des Home-Verz. von Tomcat MUSS angepasst werden: /var/lib/tomcat5.5
  • Rechte anpassen
# chown tomcat55 /usr/local/shibboleth-idp/logs
# chmod 755      /usr/local/shibboleth-idp/bin/*

Konfiguration Shibboleth IdP

Anleitung DFN AAI

IDP Version 2.0

Installation

Anpassen der /etc/apt/sources.list

In der sources.list muss der non-free Eintrag vorhaden sein, damit das Java-Paket von SUN installiert werden kann:

# cat /etc/apt/sources.list
  deb http://ftp.debian.org/debian               stable         main contrib non-free
  deb http://security.debian.org/debian-security stable/updates main contrib non-free

Benötigte Pakete installieren

# aptitude update
# aptitude install sun-java5-jdk tomcat5.5 apache2 libapache2-mod-jk

Java konfigurieren

# update-alternatives --config java
Es gibt 3 Alternativen, die »java« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/gij-wrapper-4.1
  +        2    /usr/lib/jvm/java-gcj/jre/bin/java
 *         3    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
# update-alternatives --config javac
Es gibt 4 Alternativen, die »javac« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/ecj-bootstrap
           2    /usr/bin/gcj-wrapper-4.1
  +        3    /usr/lib/jvm/java-gcj/bin/javac
 *         4    /usr/lib/jvm/java-1.5.0-sun/bin/javac
# update-alternatives --config keytool
Es gibt 3 Alternativen, die »keytool« bereitstellen.

 Auswahl      Alternative
 -----------------------------------------------
           1    /usr/bin/gkeytool-4.1
  +        2    /usr/lib/jvm/java-gcj/jre/bin/keytool
 *         3    /usr/lib/jvm/java-1.5.0-sun/jre/bin/keytool

Tomcat 5.5 konfigurieren

Einige globale Java-Parameter müssen beim Tomcat-Start festgelegt werden.
Das IdP-Servlet braucht Zugriff auf das Filesystem und braucht mehr Speicher als von Debian in vorgesehen ist:

# vi /etc/default/tomcat5.5
  JAVA_OPTS="-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=512M"
  TOMCAT5_SECURITY=no

Tomcat starten

# /etc/init.d/tomcat5.5 start

Apache 2 konfigurieren

Für den https-Support wird das Modul 'mod_ssl' benötigt:

# a2enmod ssl

Ausserdem braucht man noch für die Weiterleitung der Anfragen an den IdP der im Tomcat läuft das entsprechende Proxy-Modul für das Apache-Java-Protokoll:

# a2enmod proxy_ajp

Danach aktivieren Sie die Module mit:

# /etc/init.d/apache2 force-reload

Shibboleth-Identity-Provider installieren

Eine aktuelle Version des Shibboleth IDP erhalten sie unter http://shibboleth.internet2.edu/downloads/shibboleth/idp/latest/

SP Service-Provider

Version 2.1

Bald ;-)

Links

DFN AAI
verteilte Authentifizierung,Autorisierung und Rechteverwaltung (AAR)
Internet2/MACE