Kontrollierter Zugang zu WWW-Dokumenten über das Web-Trust-Center

Zur Steuerung des Zugriffs auf WWW-Dokumente bietet das Web-Trust-Center der TU Chemnitz neue Möglichkeiten, die hier für WWW-Autoren beschrieben werden.

WWW-Autoren möchten im Allgemeinen, dass ihre Dokumente auch gelesen werden. Deswegen lautet die Standard-Zugriffsregel: "WWW-Dokumente sind von überall und durch jedermann lesbar". Nun gibt es aber auch Inhalte, die nur einer bestimmten Leserschaft zugänglich sein sollen.

Dazu muss sich ein Leser authentisieren (Nachweis der Identität, momentan häufig durch Abfrage einer Kennung und des dazugehörigen Passwortes). Der WWW-Server prüft die Eingaben (Authentifizierung). Nach der Feststellung der Identität legt der WWW-Server die Rechte dieses Benutzers nach Ihren Vorgaben fest (Autorisierung): Zugriff erlauben oder abweisen.

Dieses Vorgehen kann ein WWW-Autor bestimmen. Dazu schreibt er Anweisungen in eine Datei .htaccess. Diese Anweisungen gelten üblicherweise für alle Dateien in diesem Verzeichnis und allen Unterverzeichnissen.

Mit der Einrichtung des Web-Trust-Centers auf der Basis von Shibboleth haben Sie als WWW-Autor neue Möglichkeiten, die im folgenden beschrieben werden.

Zugriffssteuerung mit Abfrage von Kennung und Passwort über das Web-Trust-Center

Dazu schreiben Sie in die .htaccess -Datei:

   AuthType shibboleth   
   ShibRequireSession On   

  • AuthType shibboleth aktiviert Shibboleth als AuthType
  • ShibRequireSession On erlaubt das Betreten des geschützten Bereichs nur nach gültiger Authentifizierung

Autorisierung

   Require user ...   
user - einzelne Benutzer, durch Leerzeichen getrennt
  • Loginkennzeichen für Angehörige der TU Chemnitz
  • Loginkennzeichen@Domain für externe Identitäten
  • Die Angabe Reqire valid-user ist auch gültig. Hier ist aber zu beachten, dass damit alle vom Trust-Center authentifizierten Benutzer zugelassen werden, auch Benutzer anderer Identity-Provider (z.B. anderer Hochschulen).

   Require alias ...   

alias - Formulierung von Gruppen an Hand von Eigenschaften

  • affiliation - Zugehörigkeit mit @Domain: Mitarbeiter@..., Student@..., Extern@...
    • z.B. require affiliation Mitarbeiter@tu-chemnitz.de

  • unscoped-affiliation - Zugehörigkeit ohne @Domain: Mitarbeiter, Student, Extern
    • z.B. require unscoped-affiliation Student

  • orgUnitNumber - Strukturnummer
    • z.B. require orgUnitNumber 024200

  • afsgroup - Zugehörigkeit zu einer AFS-Gruppe
    • z.B. require afsgroup urz:phil_mitarbeiter - Mitarbeiter der Phil. Fak.

  • Reguläre Ausdrücke (wie in Perl) sind möglich:
    • z.B. require affiliation ~ ^Student@.+\.de$

Mit mehreren Require -Angaben sind Kombinationen möglich:

  • ShibRequireAll on bestimmt, dass alle "requires" erfüllt sein müssen (UND-Verknüpfung)
  • ShibRequireAll off das Zutreffen mindestens eines "require"-Statements erlaubt den Zugriff (ODER-Verknüpfung)

Beispiel Beispiel: Ein Verzeichnis soll nur für Mitarbeiter der TU Chemnitz einsehbar sein, welche im URZ arbeiten. So sieht das .htaccess aus:
AuthType shibboleth
ShibRequireSession On

ShibRequireAll on
require affiliation Mitarbeiter@tu-chemnitz.de
require orgUnitNumber ~ 024[0-9]{3}

Attribute

Nach erfolgreicher Authentifizierung beim Web-Trust-Center und "bestandener" Autorisierung stellt das WTC dem WWW-Server einige Attribute der angemeldeten Person zur Verfügung. Diese Attribute sind Umgebungsvariablen, die Sie als WWW-Autor benutzen können, z.B. in CGI-Programmen oder PHP-Skripts:

Attribut Umgebungsvariable .htaccess Alias Beispiel
Loginkennzeichen REMOTE_USER user alf
bei externem Identity-Provider wird die Domain angehangen: alf@htwm.de
Zugehörigkeit HTTP_SHIB_EP_AFFILIATION affiliation Mitarbeiter@tu-chemnitz.de
Zugehörigkeit (ohne Scope) HTTP_SHIB_EP_UNSCOPEDAFFILIATION unscoped-affiliation Student
Nutzer-Name HTTP_SHIB_PERSON_COMMONNAME (nicht verfügbar) Alfons Bitmeister
Nachname HTTP_SHIB_PERSON_SURNAME (nicht verfügbar) Bitmeister
Vorname HTTP_SHIB_INETPERSON_GIVENNAME (nicht verfügbar) Alfons
Struktureinheit HTTP_SHIB_ORGPERSON_ORGUNIT (nicht verfügbar) Zentrale Einrichtungen der Universität
Strukturnummer HTTP_SHIB_ORGPERSON_ORGUNITNUMBER orgUnitNumber 024400
Email-Adresse HTTP_SHIB_ORGPERSON_EMAILADDRESS (nicht verfügbar) alf.bitmeister@hrz.tu-chemnitz.de

In einem PHP-Skript können Sie auf diese Umgebungsvariablen so zugreifen:

Beispiel
<?php  $name = $_SERVER['HTTP_SHIB_PERSON_COMMONNAME'];
       echo 'Hallo ' . htmlspecialchars($name);
?>

Neben dieser empfohlenen Variante der Zugriffssteuerung stehen Ihnen auch noch einige andere Methoden zur Verfügung. Sie können die Kennung(en) und Passwort(e) frei einstellen und den entprechenden Lesern übermitteln. Die Methode der Autorisierung anhand des Rechners (DNS-Namen, IP-Adresse) ist aus mehreren Gründen nicht empfehlenswert:

  • Die Prüfung von Domain-Namen beruht auf dem Domain Name System und ist nicht 100% sicher.
  • Mglw. können auch Personen Zugang zu einem Rechner bekommen, die die Dokumente nicht lesen sollen (z.B. externe Bibliotheksnutzer, die an Rechnern der UB arbeiten).
  • Umgekehrt können Berechtigte an externen Rechnern im Internet arbeiten, die man ausschließt (z.B. TU-Angehörige zu Hause oder unterwegs).

Bisher eingesetzte Verfahren, bei der das URZ-Loginkennzeichen und Passwort über andere Mechanismen ausgewertet wurden (AuthUserFile usw.), stehen nur noch für eine Übergangszeit zur Verfügung.

Weitere Hinweise, auch zum Dateischutz, finden Sie unter https://www.tu-chemnitz.de/urz/www/auth/


Frank Richter, Januar 2006