การทำบันทึกของ iis สำหรับการรับรองความถูกต้อง Windows แบบรวม

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 969060 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

บทความนี้กล่าวถึงการร้องขอและการตอบสนองสื่อสารระหว่างไคลเอนต์เป็น HTTP และมีเซิร์ฟเวอร์บริการข้อมูลทางอินเทอร์เน็ต (IIS) เมื่อมีการกำหนดค่าการรับรองความถูกต้อง Windows แบบรวม นอกจากนี้บทความนี้อธิบายวิธีการที่ IIS ล็อกกระบวนการตรวจสอบนี้ในแฟ้มบันทึกของ IIS

ข้อมูลเพิ่มเติม

การรับรองความถูกต้องรวมของ windows ใช้การพิสูจน์ตัวจริง v5 Kerberos และการรับรองความถูกต้องของ NTLM kerberos มีโพรโทคอลการรับรองความถูกต้องของมาตรฐานอุตสาหกรรมที่ใช้ในการตรวจสอบข้อมูลเฉพาะตัวของผู้ใช้หรือรหัสประจำตัวของโฮสต์ ถ้ามีการติดตั้ง Active Directory ในตัวควบคุมโดเมนที่กำลังเรียกใช้ Windows 2000 Server, Windows Server 2003 หรือ Windows Server 2008 และไคลเอ็นต์เว็บเบราว์เซอร์ที่สนับสนุนโพรโทคอลรับรองความถูกต้อง Kerberos v5 ไคลเอนต์และเซิร์ฟเวอร์ IIS ใช้ Kerberos v5 มิฉะนั้น ไคลเอนต์และเซิร์ฟเวอร์ IIS ใช้การรับรองความถูกต้องของ NTLM

หมายเหตุ:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการพิสูจน์ตัวจริงของ Windows แบบรวม แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://technet2.microsoft.com/WindowsServer/en/Library/80c79abb-348d-467a-92fe-825e696be3351033.mspx?mfr=true
วิธีที่แฟ้มบันทึกของ IIS NTLM และการรับรองความถูกต้อง Kerberos ใน IIS แฟ้มบันทึกที่แตกต่างกัน ขึ้นอยู่กับโพรโทคอลใดกำลังถูกใช้ได้

หากเซิร์ฟเวอร์ IIS และไคลเอ็นต์ของ HTTP ที่ทำให้เว็บขอทั้งสนับสนุนโพรโทคอล Kerberos และมีการกำหนดค่า IIS การใช้ Kerberos รายการล็อกที่มีลักษณะต่อไปนี้ปรากฏในแฟ้มบันทึกของ IIS สำหรับการตอบสนองไคลเอ็นต์ร้องขอและเซิร์ฟเวอร์ต่อ:

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0 #Date: 2009-01-01 02:48:20
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-01-01 02:48:20 W3SVC1 <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254 </clientip></serverip>
2009-01-01 02:48:21 W3SVC1 <serverip> GET / - 80 Domain\User <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientip></serverip>

If either the IIS server or the HTTP client does not support the Kerberos protocol, or if the IIS server is configured to use only NTLM, the following types of log entries appear in the IIS log for the client request and server response:

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2009-01-05 02:29:47
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-01-01 02:29:47 W3SVC1 <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254 </clientip></serverip>
2009-01-01 02:29:47 W3SVC1 <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 1 0 </clientip></serverip>
2009-01-01 02:29:47 W3SVC1 <serverip> GET / - 80 Domain\User <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientip></serverip>

Windows Integrated authentication

IIS can be configured to support the Negotiate protocol, the NTLM protocol, or both. In IIS 6.0 and in earlier versions, this is done by configuring the NTAuthenticationProviders metabase key. In IIS 7.0, this is done by setting the appropriate<provider></provider>องค์ประกอบภายใต้การ<windowsauthentication></windowsauthentication>element in the ApplicationHost.config file or in the web.config file.

For more informationabout how to configure Windows Integrated authentication in IIS 6.0 and in earlier versions, click the following article number to view the article in the Microsoft Knowledge Base:
215383วิธีการกำหนดค่า IIS เพื่อสนับสนุนโพรโทคอล Kerberos และโพรโทคอล NTLM สำหรับการรับรองความถูกต้องของเครือข่าย
For more information about how to configure Windows Integrated authentication in IIS 7.0, visit the following Microsoft Web site:
http://technet.microsoft.com/en-us/library/cc754628.aspx

Kerberos authentication

The following are two scenario-based examples. In the first scenario, IIS is configured to support both the Negotiate protocol and the NTLM protocol. In the second scenario, only the Negotiate protocol is supported.

Scenario 1 – Negotiate protocol and NTLM protocol

In this example, IIS is configured to support both the Negotiate protocol and the NTLM protocol. In IIS 6.0 and in earlier versions, this is done by setting the NTAuthenticationProviders metabase key to "Negotiate,NTLM". In IIS 7.0 and in later versions, both the Negotiate protocol and the NTLM protocol must be listed as providers in the <windowsauthentication> section.</windowsauthentication>

หมายเหตุ:In the following examples, the request header and the response header are captured by using the Microsoft Network Monitor 3.2 tool. To download the latest version of the Network Monitor Tool, visit the following Web site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=f4db40af-1e08-4a21-a26b-ec2f4dc4190d&DisplayLang=en
When Microsoft Internet Explorer makes a request, Internet Explorer always considers the first request of a new connection to be anonymous. Therefore, Internet Explorer does not send any credentials as part of the request. The following is an example of the request headers that Internet Explorer sends in the first request for a resource:

HTTP: Request, GET /
Command: GET
ProtocolVersion: HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: www.kerberos.com
Connection: Keep-Alive

If the IIS server is not configured to support Anonymous authentication, the IIS server returns a 401.2 status that tells the client that the client is unauthorized. Together with the error status, the server also sends a list of authentication protocols that the server supports. The response headers that IIS returns in this scenario resemble the following:

HTTP: Response, HTTP/1.1, Status Code = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401, Unauthorized
Reason: Unauthorized
ContentLength: 1656
ContentType: text/html
Server: Microsoft-IIS/6.0
WWWAuthenticate: Negotiate
WWWAuthenticate: NTLM

After the IIS server sends this response, IIS writes the following associated entry to the IIS log:

<date> <time>W3SVC<id> <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254</clientip></serverip></id></time></date>

หมายเหตุ:The win32 status of "2148074254" (also defined as -2146893042 / 0x8009030E / SEC_E_NO_CREDENTIALS) means "No credentials are available in the security package." In other words, the client has not sent any credentials.

After the client receives the 401.2 response from the IIS server, the client understands that IIS is configured to use Windows Integrated authentication instead of Anonymous authentication. Therefore, the client must provide appropriate authentication information in its request.

The client then makes a request that resembles the following:

HTTP: Request, GET /
Command: GET
URI: /
ProtocolVersion: HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: www.kerberos.com
Connection: Keep-Alive
Authorization: Negotiate
YIIJ5wYGKwYBBQUCoIIJ2zCCCdegJDAiBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICCqKCCa0EggmpYIIJpQYJKoZIhvcSAQICAQBugggtygmUMIIJkKADAgEFoQMCAQ6iBwMFACAAAACjggPMYYIDyDCCA8SgAwIBBaENGwtWQU5EQU5BLkNPTaIjMCGgAwIBAqEaMBgbBEhUVFAbEHd3dy5rZXJiZXJvc

หมายเหตุ:In this article, the Kerberos ticket in the Authorization:Negotiate header has been truncated.

The IIS server receives the request. The IIS server sees that the client has included authentication information by adding the Authorization: Negotiate header and value. If the client has sent valid credential information, authentication is successful. IIS then sends the following response:

HTTP: Response, HTTP/1.1, Status Code = 200
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Date: xxx, <date> <time> GMT </time></date>
Server: Microsoft-IIS/6.0
ContentLength: 19
ContentType: text/html
WWWAuthenticate: Negotiate oYGhMIGeoAMKAQChCwYJKoZIgvcSAQICooGJBIGGYIGDBgkqhkiG9xIBAgICAG90MHKgAwIBBaEDAgEPomYwZKADAgEXol0EWxX5VcXsWZwSk7Q6NI5uYf/pLeQ7InM61FPS/ZED4FxR6MK/MK4RjgKgty4u3g143PhRwYr40hI/RAUpvTBeCubY8dOZR0BHG8RgdX2588vAXGIcZIpyRyYHYAmaJ8=

หมายเหตุ:The detailed steps of how Kerberos authentication takes place is not included here. For more information about how Kerberos authentication works, visit the following Microsoft Web site:
http://technet.microsoft.com/en-us/library/cc758557.aspx
iis เขียนรายการต่อไปนี้ลงในบันทึกของ IIS แล้ว:

<date> <time>W3SVC <id> <serverip> /time.asp GET - 80 Domain\user <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0 </clientip> </serverip> </id></time></date>

สถานการณ์สมมติ 2 - เจรจาโพรโทคอล

ในสถานการณ์ที่ซึ่งกำหนด IIS เพื่อสนับสนุนเฉพาะในคอ Negotiate แทนการโพรโทคอล Negotiate และโพรโทคอล NTLM ลำดับการร้องขอและการตอบสนองจะเหมือนกัน เข้าสู่ระบบในแฟ้มบันทึกของ IIS เป็นแบบเดียวกัน ความแตกต่างอยู่ในการตอบรับเริ่มต้นที่ IIS ทำให้การร้องขอที่ไม่ระบุชื่อจากเบราว์เซอร์ ในกรณีนี้ IIS ส่งเฉพาะส่วนหัว Negotiate:

http: การตอบสนอง HTTP/1.1
รหัสสถานะ = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 ไม่ได้รับอนุญาต
เหตุผล: ไม่ได้รับอนุญาต
ContentLength: 1656
ContentType: ข้อ ความ/html
เซิร์ฟเวอร์: Microsoft-IIS/6.0
WWWAuthenticate: เจรจา

การรับรองความถูกต้องของ NLTM

ต่อไปนี้คือ อย่างขึ้นอยู่กับสถานการณ์ที่ซึ่งกำหนด IIS เพื่อสนับสนุนเฉพาะโพรโทคอล NTLM ใน IIS 6.0 และรุ่นก่อนหน้า นี้เสร็จ โดยมีคีย์ NTAuthenticationProviders metabase การตั้งค่าเป็น "NTLM" ใน IIS 7.0 และรุ่นที่ใหม่กว่า เฉพาะโพรโทคอล NTLM ต้องถูกแสดงเป็นตัวให้บริการใน<windowsauthentication>ส่วน</windowsauthentication>

อีกครั้ง Internet Explorer ไม่รวมข้อมูลการรับรองความถูกต้องในคำขอแรกในการเชื่อมต่อใหม่:

ขอ HTTP: GET /
คำสั่ง: GET ProtocolVersion: HTTP/1.1
ยอมรับ: รูป/รูป gif, รูป/x-xbitmap รูปภาพ jpeg / รูป/pjpeg, * / *
ยอมรับภาษา: สั้น-เรา
ยอมรับแบบเข้ารหัส: gzip รูปแฟบ
UserAgent: Mozilla/4.0 (เข้ากันได้ MSIE 6.0; Windows NT 5.1)
โฮสต์: www.kerberos.com
การเชื่อมต่อ: แบบ keep-alive

ถ้าเซิร์ฟเวอร์ IIS ไม่ได้ถูกกำหนดค่าให้สนับสนุนการรับรองความถูกต้องแบบไม่ระบุชื่อ เซิร์ฟเวอร์ส่งกลับสถานะ 401.2 ที่บอกไคลเอ็นต์ว่าไคลเอ็นต์ไม่ได้รับอนุญาต พร้อม ด้วยสถานะข้อผิดพลาด เซิร์ฟเวอร์จะส่งรายชื่อของโพรโทคอลรับรองความถูกต้องที่สนับสนุนเซิร์ฟเวอร์ มีหัวข้อการตอบสนองที่ IIS ที่ส่งกลับในสถานการณ์นี้ NTLM เดียวลักษณะต่อไปนี้:

รหัสสถานะการตอบรับ HTTP/1.1, HTTP: = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 ไม่ได้รับอนุญาต
เหตุผล: ไม่ได้รับอนุญาต
ContentLength: 1656
ContentType: ข้อ ความ/html
เซิร์ฟเวอร์: Microsoft-IIS/6.0
WWWAuthenticate: NTLM

iis แล้วเขียนรายการที่มีลักษณะดังต่อไปนี้ลงในบันทึกของ IIS:

<date> <time>W3SVC <id> <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254 </clientip> </serverip> </id></time></date>

เมื่อไคลเอนต์ได้รับการแจ้งเตือนของเซิร์ฟเวอร์ที่ให้เซิร์ฟเวอร์ที่สนับสนุนโพรโทคอล NTLM ไคลเอนต์ re-sends ร้องขอ ไคลเอ็นต์ประกอบด้วยข้อมูลการรับรองความถูกต้องในส่วนหัวของการอนุญาต:

ขอ HTTP: GET /
คำสั่ง: GET
ทั่วไป uri: /
ProtocolVersion: HTTP/1.1
ยอมรับ: รูป/รูป gif, รูป/x-xbitmap รูปภาพ jpeg / รูป/pjpeg, * / *
ยอมรับภาษา: สั้น-เรา
ยอมรับแบบเข้ารหัส: gzip รูปแฟบ
UserAgent: Mozilla/4.0 (เข้ากันได้ MSIE 6.0; Windows NT 5.1)
โฮสต์: www.kerberos.com
การเชื่อมต่อ: แบบ keep-alive
การอนุญาต: NTLM TlRMTVNTUAABAAAAB7IIoAcABwssAoAAAACAAIACAAAABWQU5XSU5YUFZBTkRBTkE =

เป็นส่วนหนึ่งของ NTLM handshake เซิร์ฟเวอร์ให้ไคลเอ็นต์ได้ส่งข้อมูลการรับรองความถูกต้อง อย่างไรก็ตาม เซิร์ฟเวอร์ต้องไคลเอ็นต์ในการส่งข้อมูลเพิ่มเติม ดังนั้น เซิร์ฟเวอร์กลับตอบ 401 อื่นที่มีลักษณะดังต่อไปนี้:

รหัสสถานะการตอบรับ HTTP/1.1, HTTP: = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 ไม่ได้รับอนุญาต
เหตุผล: ไม่ได้รับอนุญาต
ContentLength: 1539
ContentType: ข้อ ความ/html
เซิร์ฟเวอร์: Microsoft-IIS/6.0
NTLMAuthorization: NTLM
TlRMTVNTUAACAAAADgAOADgAAAAFgomiRCfS+kdwvJ0MAAAAAAAAAAJYAlgBGAAAABQLODgAAAA9WAEEATgBEAEEATgBBAAIADgBWAEEATgBEAEEATgBBAAEAFgBXAEkATgBEAEss8AVwBTADIAMAAwADMABAAWAHYAYQBuAGQAYQBuAGEALgBjAG8AbQADAC4AVwBpAG4AZABvAHcAcwAyADAAMAAzAC4AdgBhAG4AZA

iis เขียนรายการในบันทึกของ IIS ที่มีลักษณะดังต่อไปนี้แล้ว:

<date> <time>W3SVC <id> <serverip> GET / - 80 - <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 1 0 </clientip> </serverip> </id></time></date>

The 401.1 status that IIS sends tells the client that the client must provide the remainder of the valid authentication information. The client receives this challenge. The client then sends one more request that resembles the following:

HTTP: Request, GET /
Command: GET
URI: /
ProtocolVersion: HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: www.kerberos.com
Connection: Keep-Alive
NTLMAuthorization: NTLM
TlRMTVNTUAADAAAAGAAYAHgAAAAYABgAkAAAAA4ADgBAAAAAGgAaAE4AAAAQABAAaAAAAAAAAACoAAAABYKIoFYAQQBOAEQAQQBOAEEAQQBkAG0AaQBuAGkAcwB0AwwHIAYQB0AG8AcgBWAEEATgBXAEkATgBYAFAAo53RVbJ/EucAAAAAAAAAAAAAAAAAAAAAcWyNNNlQLNMC3EVd+aoZCA9lkh8dVY/M

When the IIS server receives this request, the IIS server communicates with a domain controller to complete the authentication request. When the client's authentication request is confirmed, IIS sends a response that resembles the following:

HTTP: Response, HTTP/1.1, Status Code = 200
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
ContentLength: 19
ContentType: text/html
Cache-control: private

หมายเหตุ:The detailed steps of how NTLM authentication takes place is not included here. For more information about how NTLM authentication works, visit the following Microsoft Web site:
http://msdn.microsoft.com/en-us/library/bb643328.aspx
After IIS sends this response, IIS writes the following associated entry to the IIS log:

<date> <time>W3SVC<id> <serverip> GET /time.asp - 80 Domain\User <clientip> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientip></serverip></id></time></date>

ข้อมูลอ้างอิง

For more informationabout how IIS authenticates browser clients, click the following article number to view the article in the Microsoft Knowledge Base:
264921How IIS authenticates browser clients
For more informationabout how to troubleshoot Kerberos-related issues in IIS, click the following article number to view the article in the Microsoft Knowledge Base:
326985วิธีการแก้ไขปัญหาที่เกี่ยวข้องกับ Kerberos ใน IIS
For more informationabout how to modify the AuthPersistence Metabase property to control authentication, click the following article number to view the article in the Microsoft Knowledge Base:
318863How to modify the AuthPersistence Metabase property to control authentication
For more informationabout a slow performance problem that occurs when you use Integrated Windows authentication IIS 6.0, click the following article number to view the article in the Microsoft Knowledge Base:
917557FIX: You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 6.0
For more information about Microsoft NTLM, visit the following Microsoft Web site:
http://msdn.microsoft.com/en-us/library/bb643328.aspx
For more information about Microsoft Kerberos, visit the following Microsoft Web site:
http://msdn.microsoft.com/en-us/library/aa378747(VS.85).aspx
For more information about IIS Integrated Windows authentication, visit the following Microsoft Web site:
http://technet2.microsoft.com/WindowsServer/en/Library/80c79abb-348d-467a-92fe-825e696be3351033.mspx?mfr=true
For more information about the NTAuthenticationProviders metabase property in IIS 6.0, visit the following Microsoft Web site:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/ea7cd846-33da-49c9-927f-d4e76d6309ac.mspx?mfr=true
For more information about the <windowsauthentication> configuration property in IIS 7.0, visit the following Web site:</windowsauthentication>
http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication

คุณสมบัติ

หมายเลขบทความ (Article ID): 969060 - รีวิวครั้งสุดท้าย: 22 กันยายน 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Internet Information Services 7.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 5.1
  • Microsoft Internet Information Services 6.0
Keywords: 
kbexpertiseinter kbexpertiseadvanced kbhowto kbsurveynew kbmt KB969060 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:969060

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com