[sage-ka] Webauth?

Michael Ströder michael at stroeder.com
Mi Sep 17 18:06:25 CEST 2008


Patrick M. Hausen wrote:
> 
> On Wed, Sep 17, 2008 at 04:11:21PM +0200, Michael Ströder wrote:
>>> aber da gibt es wohl ein bekanntes Timing-Problem, das alle 
>>> Schaltjahre mal beim Anwender eine "401" Box hochpoppen läßt. Gefällt
>>> unserem Kunden nicht.
>> Ob das ein Timing-Problem ist? Dass SPNEGO mal nicht funktioniert kann
>> viele Gründe haben.
> 
> Nun, ich hatte Kontakt mit einem Herrn Keltsch von science + computing,
> angeblich Kerberos Spezialisten für heterogene Setups. Der meinte,
> mod_auth_kern täte nicht. Mehr weiß ich auch nicht.

Ich habe mich mit diesem Apache-Modul selbst nicht beschäftigt, da
Builds für alle gewünschten Zielplattformen zu kompliziert wären. Aber
in news:comp.protocols.kerberos lesen Leute mit, die Näheres sagen
können. Ist auch öfter ein Thema dort.

>>> Da eine cookiebasierte SSO-Lösung die Anzahl der tatsächlich
>>> noch nötigen SPNEGO/Kerbereos-Transaktionen dramatisch
>>> verringert, sollte das Problem damit in der Praxis nicht mehr
>>> auftreten.
>> Wenn Du eine WebSSO-Instanz dazwischen hängst, werden die übertragenen
>> Pakete erst mal zahlreicher!
> 
> Wieso?
> 
> Ich dachte, das läuft so:
> 
> Server kriegt Request ohne Cookie -> Authentifizierung über anderen
> Mechanismus wird durchgeführt und dem Client der Session-Cookie
> gegeben, wenn die Authentifizierung erfolgreich war.

Du musst schon sagen, welches Cookie. Bei den gängigen
WebSSO-Komponenten gibt es nach erfolgreicher Authentifizierung
WebSSO-Cookies (beim CAS Ticket-Granting-Cookie genannt), mit welchen
man sich Service-Tickets für das eigentliche Zielsystem besorgt.

> Server kriegt Request mit Cookie -> Credentials stehen im Cookie,
> keine weitere Authentifizierung nötig, Thema durch.

Das ist sehr vereinfacht. Du redest vermutlich von einem Cookie des
eigentlichen Zielsystems.

> Keine 25 AD-Transaktionen mehr, wenn die HTML-Seite 24 Bilder enthält.

Hmm, das sollte sowieso auch bei Kerberos nicht notwendig sein, da bei
nachfolgenden HTTP-Hits der Browser schon ein gültiges Kerberos
Service-Ticket für den Web-Server hat. Wenn das was anderes passiert,
sollte man sich das in Deinem Fall mal mit Wireshark genauer anschauen.

>>> Wobei ich mich frage, was an SSO/SPNEGO innerhalb einer
>>> AD-Domäne so schwierig ist, daß es mit Apache nicht
>>> zuverlässig klappt. IIS kann es ja auch ;-)
>> Aber ob IIS es mit jedem Browser kann oder auch ein Fallback auf NTLM
>> stattfindet steht auf einem anderen Blatt.
> 
> Letzendlich interessiert das den Kunden alles einen Dreck. Zu recht. 
> Der will, daß der AD-Benutzer irgendwie beim Webserver landet, sodaß
> man Inhalte nur bestimmten AD-Gruppen zugänglich machen kann.

Ja, klar.

> Und der Benutzer soll sich nur einmal morgens an
> seinem PC anmelden. Und es wird nur IE verwendet.

Klar. Geht ja auch, sogar mit Firefox.

> Wen interessieren
> andere Browser im Intranet eines Großunteirnehmens?

Gibt's durchaus. Insbesondere da wirklich große Unternehmen kein
homogenes Konstrukt sind.

> Was ich wegen dieser eigentlich einfachsten Aufgabenstellung
> schon graue Haare habe.

Nun, so einfach wie's erst mal aussieht ist es im Detail nicht.

> Bei einem anderen Kunden haben wir NTLM genommen. Tut erstmal. Nur
> manchmal scheitert die Authentifizierung, die Götter wissen,
> weshalb. Und dann sperrt das AD den Benutzer-Account. Klasse ...

Das hört sich so an, dass mehrmals voll authentifiziert wird. Das muss
man geeignet unterbinden.

Ciao, Michael.