Làm cách nào để kiểm tra xem trang IIS của tôi đang sử dụng NTLM hay Kerberos?


10

Làm cách nào để kiểm tra xem trang IIS của tôi đang sử dụng NTLM hay Kerberos? Và làm cách nào tôi có thể thay đổi xác thực từ Kerberos thành NTLM? Tôi đang sử dụng IIS 7.5.

Câu trả lời:


9

Từ:

Xác định xem xác thực HTTP là NTLM hay Kerberos
http://support.microsoft.com/kb/891032

[...] "Vì chúng tôi đang xem qua dấu vết này để xem liệu máy khách có gửi thông tin xác thực hay không, chúng tôi có thể sử dụng các phân đoạn TCP để theo dõi các yêu cầu HTTP GET và phản hồi từ máy chủ. Đây là đoạn trích từ khung mà gửi thông tin xác thực từ khách hàng:

23 4294967263.4294641621 LOCAL 00045A420DBC Yêu cầu HTTP GET (từ máy khách sử dụng cổng 3135) 192.168.0.2 192.168.0.4 IP HTTP: Yêu cầu GET (từ máy khách sử dụng cổng 3135) HTTP: Phương thức yêu cầu = GET HTTP: Mã nhận dạng tài nguyên thống nhất = /webappl1 HTTP: Phiên bản giao thức = HTTP / 1.1 HTTP: Accept = image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd. HTTP: Accept-Language = en-us HTTP: Accept-Encoding = gzip, deflate HTTP: User-Agent = Mozilla / 4.0 (tương thích; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR HTTP: Host = Alien HTTP: Connection = Keep-Alive HTTP: Ủy quyền = Đàm phán TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA 44 77 3D 3D 0D 0A 0D 0A AAADw == ....

"Điều này cho chúng ta biết điều gì? Chúng ta có thể thấy rằng tiêu đề Ủy quyền được đặt thành" Đàm phán "và chúng ta có thể thấy một chuỗi ký tự dài được gửi trong tiêu đề đó. Phản hồi này cho chúng ta biết rằng máy khách và máy chủ đang đàm phán kết nối NTLM. Chúng tôi biết rằng xác thực NTLM đang được sử dụng ở đây vì ký tự đầu tiên là '"T." Nếu là "Y", đó sẽ là Kerberos . Tiêu đề được đặt thành "Đàm phán" thay vì "NTLM." có nghĩa là nó sẽ sử dụng Kerberos hoặc NTLM, nhưng nó sẽ "Đàm phán" phương thức ủy quyền và thử Kerberos trước nếu có thể. Nếu không thể sử dụng Kerberos, nó sẽ sử dụng NTLM. "

// if it is Negotiate...
if (String.Compare(Request.ServerVariables["HTTP_AUTHORIZATION"].Substring(10, 1), "Y", true) == 0)
{
    // we are using Kerberos
}
else
{
   // we are using NTLM
}

Tôi nhận được các ký tự đầu tiên là oXcw, có ý nghĩa gì không? Có lẽ một phiên bản mới hơn của kerberos?
Đánh dấu Adamson

1
@MarkAdamson Tôi cũng vậy, của tôi là oYG2 ...
Brain2000

4

Nếu bạn có quyền truy cập vào máy chủ IIS của mình thì câu trả lời đơn giản hơn nhiều so với việc kiểm tra lưu lượng HTTP: Chỉ cần xem cấu hình mô-đun Xác thực trang web cho Xác thực Windows.

  1. Trong Trình quản lý IIS
  2. Chọn trang web của bạn
  3. Nhấp vào mô-đun xác thực
  4. Chọn Xác thực Windows
  5. Chọn nhà cung cấp ...

Trình quản lý IIS> Trang web> Mô-đun xác thực> Nhà cung cấp


1

sử dụng mã dưới đây trong trang html / asp:

<%
    authType=UCase(Request.ServerVariables("AUTH_TYPE"))
    authHeader=Request.ServerVariables("HTTP_AUTHORIZATION")
    response.write " Authentication Method : " & authType & "<BR>"
    LenAuthHeader = len(authHeader)
    response.write " Protocol : "
    if Len(authType ) =0 then response.write " Anonymous" else if authType<>"NEGOTIATE" then response.write authType else if LenAuthHeader>1000 then response.write "Kerberos" else response.write "NTLM"
%> 

0

Câu trả lời đó không hoàn chỉnh. Có hai cách kết nối có thể sử dụng NTLM. Một là thông qua phương pháp WWW-xác thực "NTLM"; khác là thông qua đàm phán. Đàm phán sử dụng GSSAPI, do đó có thể sử dụng các cơ chế khác nhau; trên Windows, điều này bao gồm cả Kerberos và NTLM.

Wireshark có thể giải mã tất cả những điều này và cho bạn thấy nhanh chóng những gì đang diễn ra, giả sử bạn không sử dụng TLS. Nếu là bạn, bạn có thể sắp xếp Wireshark có thể giải mã lưu lượng TLS; nó chỉ cần một số nỗ lực thêm.


0

Trong Tiêu đề yêu cầu HTTP của bạn (bạn có thể nhìn thấy nó từ Fireorms , Chrome Dev Tool hoặc Fiddler ), bạn sẽ thấy một cái gì đó như thế này nếu bạn sử dụng NTLM

Khi đó

Từ bảng quản lý IIS, bạn có thể đi Xác thực và chọn xác thực bạn thích.


nhưng không nếu đàm phán đang sử dụng NTLM
Aardvark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.