ผู้ใช้พบปัญหาในการรับรองความถูกต้องเมื่อพวกเขาเข้าถึงเว็บเพใน IIS 6.0 หรือแบบสอบถาม Microsoft SQL Server 2000 หลังจากที่คุณติดตั้ง Windows Server 2003 Service Pack 1

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

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

อาการ

คุณปรับรุ่นคอมพิวเตอร์ที่ใช้ Microsoft Windows Server 2003 ที่กำลังเรียกใช้ Microsoft ข้อมูลบริการทางอินเทอร์เน็ต (IIS) 6.0 หรือ Microsoft SQL Server 2000 กับ Windows Server 2003 Service Pack 1 (SP1) หลังจากที่คุณทำเช่นนี้ ผู้ใช้ประสบกับปัญหาเกี่ยวกับการรับรองความถูกต้อง เมื่อมีใช้โปรแกรมประยุกต์เว็บ หรือ เมื่อมีใช้โปรแกรมที่ queries ฐานข้อมูล ตัวอย่างเช่น ผู้ใช้อาจพบอาการที่คล้ายกับข้อความต่อไปนี้:
  • ผู้ใช้ได้รับข้อผิดพลาด "การเข้าถึงถูกปฏิเสธ" เมื่อผู้ใช้ที่คุณได้พยายามเข้าถึงเว็บเพจที่ดึงข้อมูลจากฐานข้อมูลปลายด้านหลัง
  • ผู้ใช้ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลอื่นที่อยู่ในคลัสเตอร์ Network Load Balancing (NLB) แบบสอบถามเซิร์ฟเวอร์ฐานข้อมูลล้มเหลว
อาการต่าง ๆ ที่ผู้ใช้พบอาจแตกต่างกันไปขึ้นอยู่กับสภาพแวดล้อมของคุณ

สาเหตุ

ปัญหานี้เกิดขึ้นหากการบริการชื่อหลัก (SPN) ของบริการจะไม่รับรองความถูกต้อง มีการพิสูจน์ SPN จะไม่ตัวถ้า SPN ไม่ได้ลงทะเบียนบัญชีบริการ windows Server 2003 SP1 รวมถึงการย้อนกลับฟังก์ชันกาเครื่องหมายที่เก็บอยู่ในรายการรีจิสทรีต่อไปนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck
โดยค่าเริ่มต้น ย้อนกลับฟังก์ชันการกาเครื่องหมายถูกเปิดอยู่ใน Windows Server 2003 SP1 และรายการรีจิสทรี DisableLoopbackCheck มีการตั้งค่าเป็น 0 (ศูนย์) ฟังก์ชันการตรวจสอบแบบวนรอบและป้องกันไม่ให้โปรแกรมจากการลงทะเบียน SPN

การแก้ไข

สิ่งสำคัญนี้ส่วน วิธี หรืองานประกอบด้วยขั้นตอนที่บอกวิธีการแก้ไขรีจิสทรี อย่างไรก็ตาม ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีไม่ถูกต้อง ดังนั้น โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง สำหรับการป้องกันเพิ่มเติม ให้สำรองรีจิสทรีก่อนทำการปรับเปลี่ยน เพื่อที่คุณจะสามารถคืนค่ารีจิสทรีได้หากมีปัญหาเกิดขึ้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสำรองข้อมูลและคืนค่ารีจิสทรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
322756วิธีการสำรองข้อมูลและคืนค่ารีจิสทรีใน Windows

สิ่งสำคัญโดยค่าเริ่มต้น ย้อนกลับฟังก์ชันการตรวจสอบเปิดอยู่ใน Windows Server 2003 SP1 และรายการรีจิสทรี DisableLoopbackCheck มีการตั้งค่าเป็น 0 (ศูนย์) การรักษาความปลอดภัยจะลดลงเมื่อคุณปิดการใช้งานการตรวจสอบย้อนกลับการรับรองความถูกต้อง และคุณเปิดเซิร์ฟเวอร์ Windows Server 2003 สำหรับการโจมตี (MITM) man-ในในกลางบน NTLM เพื่อหลีกเลี่ยงการโจมตี MITM ค่าของรายการรีจิสทรีจะถูกส่งกลับไปเป็นศูนย์ (0) หลังจากที่กำลังทำการเปลี่ยนแปลง SPN นอกจากนี้ วิธีที่ 1 เป็นวิธีแก้ไขปัญหาที่ต้องการ

วิธีที่ 1: สร้างชื่อโฮสต์การรับรองความปลอดภัยเฉพาะที่สามารถถูกอ้างถึงในการรับรองความถูกต้อง NTLM การร้องขอ (ที่ต้อง)

  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:regeditแล้ว คลิกตกลง.
  2. ในตัวแก้ไขรีจิสทรี หาตำแหน่งแล้วคลิกรีจิสทรีคีย์ต่อไปนี้::
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. คลิกขวาmsv1_0ชี้ไปที่ใหม่แล้ว คลิกค่าสายอักขระจำนวนมาก.
  4. ประเภท:BackConnectionHostNamesแล้ว กด ENTER
  5. คลิกขวาBackConnectionHostNamesแล้ว คลิกปรับเปลี่ยน.
  6. ในการข้อมูลค่า:กล่อง พิมพ์ชื่อโฮสต์หรือชื่อโฮสต์สำหรับไซต์ที่อยู่บนเครื่องคอมพิวเตอร์ และคลิกตกลง.
  7. ออกจากตัวแก้ไขรีจิสทรี แล้ว รีสตาร์ทเซิร์ฟเวอร์สำหรับการเปลี่ยนแปลงนี้จะมีผล

วิธีที่ 2: การปิดการใช้งานการตรวจสอบย้อนกลับการรับรองความถูกต้อง และการลงทะเบียน SPN ที่ มีบัญชีบริการการทำงานภายใต้

การแก้ไขปัญหานี้ การปิดใช้งานการตรวจสอบย้อนกลับการรับรองความถูกต้อง และลงทะเบียน SPN ที่ มีบัญชีบริการการทำงานภายใต้แล้ว เมื่อต้องการทำเช่นนี้ เซ็ตรายการ DisableLoopbackCheck ในนั้น
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
registry subkey to 1, and then determine the name of the SPN.

Step 1: To set the DisableLoopbackCheck registry entry to 1

  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:regeditแล้ว คลิกตกลง.
  2. ค้นหาและคลิกที่คีย์ย่อยของรีจิสทรีต่อไปนี้::
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. คลิกขวาDisableLoopbackCheckแล้ว คลิกปรับเปลี่ยน.
  4. ประเภท:1ในการข้อมูลค่า:กล่อง แล้วคลิกตกลง.

Step 2: To determine the name of the SPN

  1. Add the following registry entries, and then set each registry entry to the appropriate value as follows:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogLevel

      Value: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogToFile

      Value: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\KerbDebugLevel

      Value: c3
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogLevel

      Value:1 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogToFile

      Value:1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\KerbDebugLevel

      Value: c3
    To add a registry entry, follow these steps:
    1. Locate and then click the registry subkey where you want to add the registry entry.
    2. ในการแก้ไขเมนู ให้ชี้ไปที่ใหม่แล้ว คลิกค่า DWORD.
    3. Type the name of the registry entry that you want to add, and then press ENTER.
    4. Right-click the registry entry that you added in step 2c, and then clickปรับเปลี่ยน.
    5. Type the appropriate value for that registry entry, and then clickตกลง.
    6. Repeat step 2a through 2e for each registry entry that you want to add.
    7. ออกจากโปรแกรม Registry Editor
  2. Restart the computer, and then reproduce the issue. After you do this, an event ID error message that is similar to the following is logged in the System log:
    ชนิด: ข้อผิดพลาด
    Source: Kerberos
    ประเภท: ไม่มี
    Event ID: 3
    Description: A Kerberos Error Message was received:
    on logon session
    Client Time:
    Server Time:เวลาวันที่
    Error Code: 0x7 KDC_ERR_S_PRINCIPAL_UNKNOWN
    Extended Error:
    Client Realm:
    Client Name:
    Server Realm:DomainName.com
    Server Name: MSSQLSvc/DomainName.com:1433
    Target Name: MSSQLSvc/Servername.DomainName:1433@DomainName.com
    Error Text:
    File: 9
    Line: ab8
    Error Data is in record data.
    Determine the SPN from the event ID error message. In this example, the SPN is MSSQLSvc/DomainName.com:1433.

Step 3: Use the Setspn.exe command-line tool to register the SPN to the appropriate service account

In IIS 6.0, the service account is typically the account that the WWW service runs under or the account that the application pool uses. In Microsoft SQL Server 2000, the service account is the account that SQL Server 2000 runs under. Use the following syntax to add a new SPN:
setspn -aSPNDomainName\AccountName

The following is an example of how to use the Setspn.exe command-line tool to add an SPN:
setspn -a MSSQLSvc/NLBNAME.corp.domain.com:1433DomainName\AccountName

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

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
970536Setspn.exe สนับสนุนเครื่องมือการปรับปรุงสำหรับ Windows Server 2003


สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
837361Kerberos protocol registry entries and KDC configuration keys in Windows Server 2003


หลังจากที่คุณติดตั้งการปรับปรุงการรักษาความปลอดภัย 957097 แอปพลิเคชันเช่น SQL Server หรือบริการข้อมูลทางอินเทอร์เน็ต (IIS) อาจล้มเหลวเมื่อทำการร้องขอการรับรองความถูกต้อง NTLM ท้องถิ่นสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการแก้ไขปัญหานี้ โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base::
957097MS08-068: ช่องโหว่ใน SMB อาจทำให้โค้ดจากระยะไกล
ดูส่วน "ล่าออก ด้วยการปรับปรุงการรักษาความปลอดภัยนี้" ของบทกิโลไบต์ความ 957097 สำหรับรายละเอียดเกี่ยวกับวิธีการแก้ไขปัญหา

คุณสมบัติ

หมายเลขบทความ (Article ID): 887993 - รีวิวครั้งสุดท้าย: 15 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
Keywords: 
kbtshoot kbmt KB887993 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:887993

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

 

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