Verwendung der externen Authentifizierung oder Umgehung der Authentifizierung

Übersicht

Die Urchin-Authentifizierung erfolgt standardmäßig, wenn der Urchin-Sitzungs-Controller (session.cgi) die Binärdatei „auth“ im Verzeichnis „bin“ der Urchin-Installation aufruft. Diese Binärdatei fragt die Konfigurationsdatenbank ab und vergleicht den Nutzernamen und das Passwort mit dem in der Konfiguration angegebenen Nutzernamen und Passwort. Ein Beendigungscode mit der Angabe, ob der Abgleich erfolgreich war, wird an den Sitzungs-Controller zurückgegeben. Der Speicherort der Authentifizierungsbinärdatei kann durch eine Konfigurationsänderung gesteuert werden. Diese modulare Struktur erlaubt dem Administrator das Aufrufen eines externen Authentifizierungsprogramms anstelle der standardmäßigen Binärdatei „auth“.

Using_External_Authentication

Wie im obigen Diagramm dargestellt, könnte dieses externe Authentifizierungsprogramm jede gewünschte Authentifizierungsfunktion ausführen, einschließlich „LDAP“ und anderer Datenbankaufrufe. Das Programm muss lediglich vom selben Nutzer ausgeführt werden können, der „urchinwebd“ (Apache-Webserver von Urchin) ausführt, und den Eingabe-/Ausgabeanforderungen entsprechen. Urchin kann dann problemlos für die Verwendung einer anderen Authentifizierungsmethode konfiguriert werden.

Angeben der Authentifizierungsroutine

Bearbeiten Sie die Datei „etc/session.conf“ im Verzeichnis der Urchin-Installation, um die vom Sitzungs-Controller aufgerufene Authentifizierungsroutine zu konfigurieren. Diese Datei enthält konfigurierbare Parameter, die die Funktionsweise des Sitzungs-Controllers steuern. Dazu gehört auch die Routine zum Aufrufen der Authentifizierung. Bearbeiten Sie die folgende Zeile:

    AUTHENTICATION: ../bin/auth

Ersetzen Sie „../bin/auth“ durch den Pfad zu Ihrer Authentifizierungsroutine. Stellen Sie sicher, dass die Authentifizierungsroutine von demselben Nutzer ausgeführt werden kann, der „urchinwebd“ ausführt.

Eingabe-/Ausgabeanforderungen

Wenn der Sitzungs-Controller die Authentifizierungsroutine aufruft, übergibt er den Nutzernamen, das Passwort und die Remote-IP-Adresse des Nutzers als Befehlszeilenargumente. Beispiel:

    argv[1] = username
    argv[2] = password
    argv[3] = remote_addr

Die externe Authentifizierungsroutine kann einzelne oder alle diese Parameter ignorieren. Normalerweise prüft die Authentifizierungsroutine jedoch zumindest die ersten beiden Parameter. Nach Abschluss der gewünschten – partiellen oder vollständigen – Authentifizierung sollte die Routine einen Code „0“ für eine erfolgreiche oder einen Code „-1“ für eine fehlgeschlagene Authentifizierung zurückgeben.

    Exit Code
     0 = successful authentication
    -1 = authentication failed

Mithilfe der obigen Authentifizierungsschnittstelle können Administratoren problemlos eigene Routinen zur Überprüfung von Nutzeranmeldungen anpassen.

Umgehen der Authentifizierung

Mit dem oben aufgeführten Verfahren kann die Urchin-Authentifizierung bewusst umgangen werden. Angenommen, ein Hosting-Anbieter verwendet das gesamte Urchin-System für Nutzer und Gruppen, wobei die Nutzer beim Aufrufen von Urchin bereits authentifiziert sind. In diesem Fall kann mit einer Umgehung der Authentifizierung eine doppelte Anmeldung vermieden werden. Der Host muss sicherstellen, dass der Zugriff auf das Urchin-System über ein Authentifizierungsportal gesteuert wird und eine Manipulation des Nutzernamens nicht möglich ist. Dann kann die Authentifizierung mithilfe der folgenden Verfahren umgangen werden.

Erstellen Sie zum Umgehen der Authentifizierung eine externe Scheinauthentifizierungsroutine, die immer mit null beendet wird. Beispiel für einen Perl-Code:

    #!/usr/bin/perl
    exit(0);

Verweisen Sie den Sitzungs-Controller auf diese Scheinauthentifizierungsroutine. Bearbeiten Sie dazu die Datei „etc/session.conf“ und verweisen Sie wie oben beschrieben auf diese Scheinroutine. Geben Sie dann ganz einfach einen Link nach dem folgenden Schema an:

    http://hostname:9999/session.cgi?action=login&user=paul

Ändern Sie den oben dargestellten Link, so dass er auf den tatsächlichen Hostnamen und Port verweist. Ändern Sie den Nutzer in den gewünschten Nutzernamen oder die Variable. Die Scheinauthentifizierungsroutine akzeptiert automatisch diese Anmeldung. Wenden Sie diese Methode bitte vorsichtig an, um Sicherheitsprobleme zu vermeiden.

Hinweis für Nutzer von Windows

Für eine ähnliche Funktion in Windows-Umgebungen, in denen Perl nicht installiert ist, steht eine einfache Binärdatei „noauth.exe“ auf der Support-Website von Urchin unter den Hilfsskripts zur Verfügung. Die Binärdatei besteht lediglich aus einer „no-op“-Anweisung und gibt beim Aufruf einfach einen Status „erfolgreich“ zurück. Berücksichtigen Sie vor der Implementierung dieser Lösung die verbundenen Sicherheitsrisiken.

Kommentieren

Suchen