Moin,
Unter dieser Bedingung _und_ der Bedingung das Sicherheit keine Rolle mehr spielt. Wer sein Paßwort einfach weiterreicht braucht keines mehr, das ist dann zweckfrei. Manche Accounts verbieten das auch.
Hu? Es gibt diverseste Bedrohungsszenarien bei denen man davon ausgehen kann dass der Sicherheitskontext des Skriptes nicht kompromittiert ist. Wenn sich das Skript einem anderen System gegenüber authentifizieren soll, bleibt dir sogar gar keine andere Wahl als davon auszugehen, sonst hast du schon von den Vorraussetzungen her verloren. Da spielt es dann qualitativ auch keine Rolle mehr ob das Skript das Passwort hat, oder einen private Key der berechtigt ist, oder auch ob das andere System die Daten weiterleitet. Wenn das Skript kompromittiert ist, hat der Angreifer halt den privaten Schlüssel, bzw. direkt die emails.
[1] Für Digest ist strenggenommen 'nur' ein Hash aus Benutzername, Passwort und Realm nötig, dieser Hash reicht aber bereits um sich dem Server gegenüber zu authentifizieren.
Ja, aber normalerweise nur einmal.
Nein. Beim Apache-Modul wird der Hash über Benutzername, Realm und Passwort gespeichert und dieser Hash reicht zusammen mit dem Benutzernamen aus um sich über HTTP Digest Auth zu authentifizieren (H(A1) in Sektion 3.2.2.1 von RFC 2617). .htdigest-Dateien enthalten also quasi Klartextpasswörter, mit dem einzigen wirklichen Unterschied dass die Wahrscheinlichkeit dass das gleiche Passwort bei einem anderen realm gültig ist nahe null liegt. Dieser Hash wird dann beim Authentifizierungsvorgang zusammen mit einer handvoll anderen Werten (hauptsächlich nonces) nochmal gehasht und das dann als Response übergeben.
IIS speichert dann auch lieber gleich das Klartextpasswort (in einem AD, zugegeben)
Was macht das für einen Unterschied?
Ich hege die Hoffnung dass Webserver und AD-Controller physikalisch getrennt sind, die Daten also nicht im Filesystem des Webservers liegen, sowie dass die Kommunikation IIS-AD verschlüsselt und authentifiziert abläuft. So _ganz_ doof ist man da ja auch nicht.
vermutlich um nicht für jeden Realm einen extra-Hash anlegen zu müssen.
Faulheit ist kein Grund.
Das ist weniger Faulheit als Managebarkeit. Im Apache-Modell muss man für jeden Benutzer für jeden Realm einen neuen Hash anlegen, was unter anderem bedeutet dass der Benutzer herangezogen werden muss um sein Passwort einzutippen damit es gehasht werden kann. Im IIS-Modell kann man die Benutzer frei hin- und herschieben und verwalten. Einen qualitativen Sicherheitsnachteil hat das nur dadurch dass das verwendete Passwort tendentiell auch für andere Dienste als den jeweiligen HTTP-Digest-Realm verwendet wird.
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~