Donnerstag, 24. Januar 2008

IE Meldung: Access denied due to security policy violation

Im IE erscheint die folgende Meldung:


Access denied due to security policy violation

Reject ID:
47985cd9-0-66060101-7b6
Und es spielt keine Rolle welche Version IE. Ich sah den Fehler in IE 7.0 & 6.0. Was sehr schön ist ;-) dass der Fehler nicht immer auftritt. Bei ein par Client funktioniert es und bei anderen nicht. Es kann auch sein das ein Client einen ganzen Tag ohne Probleme die Site aufrufen kann und plötzlich kommt die Fehler Meldung "Access denied ..."

Nach etwas debugging mit Wfetch konnte ich den Fehler lokalisieren.

Standart IIS 6.0 ist der Authendication Provider auf "Negotiate, NTLM" eingestellt.
Dies habe ich schon in einem Posting beschrieben:
http://sigicom.blogspot.com/2008/01/iis-60-mit-kerberos-und-ntlm.html

Bei einer Anonymous abfrage des IIS gibt dieser diesen Header zurück:

HTTP/1.1 401 Unauthorized\r\n
Date: Thu, 24 Jan 2008 09:39:33
GMT\r\n

Server: Microsoft-IIS/6.0\r\n
WWW-Authenticate: Negotiate\r\n
WWW-Authenticate: NTLM\r\n
X-Powered-By: ASP.NET\r\n
X-AspNet-Version: 1.1.4322\r\n
Cache-Control: private\r\n
Content-Type: text/html;
charset=iso-8859-1\r\n

Content-Length: 14\r\n

Also wird zuerst ein Negotiate gemacht. Bei mir versuchte der IE mit Kerberos zu Authentifizieren und die Meldung in Wfetch:
ISC_REQ_MUTUAL_AUTH ISC_REQ_DELEGATE
set\n

0x80090303 Unable to
InitializeSecurityContext


Dies heisst zwar nur dass mein Client kein Kerberos Service Ticket von der KDC erhalten hat. So kann der IE nicht mit Kerberos Authentifizieren.

Wenn der IIS auf NTLM only umgestellt wird mit:
cscript adsutil.vbs set
w3svc/1/root/NTAuthenticationProviders "NTLM"

Ist die Antwort im Wfetch:
HTTP/1.1 401 Unauthorized\r\n
Date: Thu, 24 Jan 2008 09:36:19
GMT\r\n

Server: Microsoft-IIS/6.0\r\n
WWW-Authenticate: NTLM\r\n
X-Powered-By: ASP.NET\r\n
X-AspNet-Version: 1.1.4322\r\n
Cache-Control: private\r\n
Content-Type: text/html;
charset=iso-8859-1\r\n

Content-Length: 14\r\n

Und die Authentifizierung mit NTLM funktioniert.

So lange nicht alle Clients und Server mit Kerberos Authentifizierung können und die SPN's gesetzt sind, kann diese Fehler immer wieder auf treten.

Keine Kommentare: