LWP::Authen::Negotiate - ein GSSAPI Authentication Plugin für LWP

Achims Grolms

Grundlagen: das Kreuz mit den Passwörtern

"Herr Grolms, warum brauche ich überhaupt ein Passwort??????"

"Herr Grolms, warum brauche ich soviele Passwörter??????"

  • Im ungeschickten Fall bedeutet das pro Anwendung ein Passwort zum unter die Tastatur legen.
  • Passwort geht unverschlüsselt über das Netz (es sei denn SSL).

Was ist falsch an Authentication per LDAP?

  • Authenticationmodule wie mod_ldap ermöglichen zwar die Authentication gegen zentrale Userdatenbank (per bind()-Request vom Webserver aus), dabei geht aber das Passwort im Klartext über das Netz
  • MITM kann mit SSL ausgeschlossen werden, nicht aber "Man at the end", denn der Betreiber des Webservers hat dann das (Domänen)kennwort des Users!

Ein für Authentication designtes Protokoll: Kerberos 5

Grundidee Kerberos 5

  • Passwortdatenbank auf einem zentralen Server (KDC)
  • dieser KDC kommuniziert mit dem Client und gibt "Tickets" für die zu nutzenden Services heraus
  • der Client schickt diese Tickets zu Authentication an den Server (und nicht etwa das Userpasswort)

Kerberos 5 - fast durchgängig unterstützt seit W2K

Dem LWP fehlte bislang Kerberos 5 Authentication

Randbedingungen

GSSAPI

LWP::Authen::Negotiate

Weiterführend Links

Ausblick