ภาพรวม
บทความต่อไปนี้จะอธิบายวิธีการกำหนดค่าการตรวจสอบสิทธิ์ Windows แบบรวม (IWA) ใน IIS ในสภาพแวดล้อมการปรับสมดุลโหลด L4 + การยุติ SSL

เมื่อกำหนดค่าวิธีการนี้ จะมีหลายกรณีที่การรับรองความถูกต้องล้มเหลวเนื่องจากการตั้งค่า SPN (ชื่อบริการหลัก) ไม่ถูกต้องหรือซ้ำกัน
บทความนี้ให้คำอธิบายที่ครอบคลุมเกี่ยวกับการลงทะเบียน SPN และงานที่จำเป็น
ตัวอย่างการกำหนดค่าในบทความนี้
[เบราว์เซอร์ไคลเอนต์] | | การเข้าถึง HTTPS v [ตัวปรับสมดุลโหลด L4 (TCP 443)] | | vv [เซิร์ฟเวอร์ 1 (IIS)] [เซิร์ฟเวอร์ 2 (IIS)]
- คำถามที่พบบ่อย:
sso.chat-messenger.com
- ชื่อโฮสต์ IIS:
เซิฟเวอร์1
,เซิฟเวอร์2
- บัญชีบริการที่ใช้ร่วมกัน:
CAMTEST_cam-svc ทดสอบ
ปัญหา: ข้อผิดพลาด SPN ซ้ำ
โดยการใช้การตรวจสอบสิทธิ์ Windows แบบผสานรวม ไคลเอนต์จะค้นหา SPN สำหรับ FQDN ที่กำลังเข้าถึงและรับตั๋ว Kerberos สำหรับบัญชีบริการที่เหมาะสม
setspn -S HTTP/sso.chat-messenger.com เซิร์ฟเวอร์1$ setspn -S HTTP/sso.chat-messenger.com เซิร์ฟเวอร์2$
ตามที่แสดงด้านบน FQDN เดียวกัน (sso.chat-messenger.com
เมื่อคุณลงทะเบียน SPN สำหรับ .NET Framework 2.0.1 บนโฮสต์ที่แตกต่างกัน (Server1, Server2) ข้อผิดพลาดต่อไปนี้จะเกิดขึ้น:
พบ SPN ที่ซ้ำกัน กำลังยกเลิกการดำเนินการ
วิธีแก้ไข: ลงทะเบียน SPN ในบัญชีบริการที่ใช้ร่วมกัน
หากโฮสต์หลายตัวใช้ FQDN เดียวกัน จำเป็นต้องลงทะเบียน SPN เพียงหนึ่งรายการในบัญชีบริการที่ใช้ร่วมกัน
การสร้างบัญชีบริการที่ใช้ร่วมกัน
บัญชีบริการที่ทำงานในกลุ่มแอปพลิเคชัน IIS สามารถเป็นผู้ใช้โดเมนได้ (ตราบใดที่เป็นของผู้ใช้โดเมน) แต่จะต้องแยกผู้ใช้ทั่วไปและบัญชีบริการออกจากกัน และเพื่อชี้แจงขอบเขตของนโยบายรหัสผ่านและป้องกันข้อผิดพลาดในการทำงานOU=บัญชีบริการ
ชอบโอยู ผู้ใช้งาน
แตกต่างจากตัวควบคุมโดเมน Active Directoryแคม-svc
สร้างใหม่

ลงทะเบียน SPN ด้วยบัญชีบริการ
ลงทะเบียน SPN โดยใช้บัญชีบริการที่สร้างไว้ด้านบน
setspn -S HTTP/sso.chat-messenger.com แค็มเทสต์\cam-svc
- สามารถใช้เทอร์มินัลใดๆ ที่เป็นส่วนหนึ่งของโดเมนได้ อย่างไรก็ตาม จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบโดเมน
・SPN ยังใช้ในการสื่อสาร HTTPS ด้วยHTTP/ชื่อโฮสต์
คุณจะต้องลงทะเบียนในรูปแบบ:
การตั้งค่ากลุ่มแอปพลิเคชัน IIS
เซิฟเวอร์1
, เซิฟเวอร์2
เปลี่ยนผู้ใช้การดำเนินการของกลุ่มแอปพลิเคชันบนทั้งสองเซิร์ฟเวอร์เป็นบัญชีบริการที่คุณสร้างขึ้น CAMTEST_cam-svc ทดสอบ
ตั้งค่าเป็น

ตัวแก้ไขการกำหนดค่า IIS Manager
หากต้องการเปลี่ยน IIS Application Pool ให้เป็นบัญชีบริการและให้การตรวจสอบสิทธิ์ของ Windows ทำงานอย่างถูกต้องกับ Kerberos คุณต้องกำหนดค่าต่อไปนี้ในคุณลักษณะ "ตัวแก้ไขการกำหนดค่า" ของ IIS Manager:
ระบบ.เว็บเซิร์ฟเวอร์/ความปลอดภัย/การตรวจสอบสิทธิ์/การตรวจสอบสิทธิ์ของ Windows
ส่วนใช้AppPoolCredentials
ของจริง
ตั้งค่าเป็นใช้KernelMode
ของเท็จ
ตั้งค่าเป็น

การตั้งค่าการอนุญาต "เข้าสู่ระบบเป็นงานแบตช์" สำหรับบัญชีบริการที่แชร์
กลุ่มแอปพลิเคชันตอบสนองต่อการร้องขอทางเว็บ w3wp.exe
(กระบวนการทำงาน) หากคุณเรียกใช้ภายใต้บัญชีบริการที่ใช้ร่วมกัน กระบวนการจะถูกปฏิเสธและข้อผิดพลาด HTTP 503 จะเกิดขึ้นหากบัญชีไม่มีสิทธิ์ "เข้าสู่ระบบในฐานะงานแบตช์" ดังนั้นบัญชีบริการที่ใช้ร่วมกันจะต้องมีการตั้งค่าสิทธิ์ "เข้าสู่ระบบในฐานะงานแบตช์" (ตาม GPO)
การตั้งค่าต่อไปนี้สามารถควบคุมได้โดยนโยบายความปลอดภัยในเครื่องของเทอร์มินัล IIS แต่ละแห่ง แต่อาจมีข้อจำกัดที่กำหนดโดยนโยบายองค์กรใน GPO (วัตถุนโยบายกลุ่ม) บนตัวควบคุมโดเมน Active Directory ในกรณีนั้น จำเป็นต้องมีการควบคุมใน GPO เอง และบทความนี้จะอธิบายวิธีการดำเนินการดังกล่าว
ขั้นตอนการเชื่อมโยง GPO กับ OU=ServiceAccounts
บัญชีบริการCAMTEST_cam-svc ทดสอบ
ของOU=บัญชีบริการ
หากคุณสร้างมันขึ้นมา
หากคุณไม่เชื่อมโยงนโยบายกลุ่ม (เช่น IIS-BatchLogon-GPO) กับ OU นี้แคม-svc
นโยบายนี้ไม่ได้นำไปใช้กับ GPO เป้าหมายของ GPO ถูกกำหนดโดย "OU ที่เชื่อมโยงกับ" ดังนั้น การจับคู่ตำแหน่งของบัญชีกับ GPO ที่เชื่อมโยงจึงมีความสำคัญ
จีพีเอ็มซี
เรียกใช้คำสั่งเพื่อเริ่มตัวแก้ไขการจัดการนโยบายกลุ่ม- ในบานหน้าต่างด้านซ้าย
camtest.com/บัญชีบริการ
คลิกขวาที่ OU → "สร้าง GPO ในโดเมนนี้และเชื่อมโยงกับคอนเทนเนอร์นี้→ กรอกชื่อใดๆ (เช่นการเข้าสู่ระบบ IIS-Batch-GPO
) - สร้าง
การเข้าสู่ระบบ IIS-Batch-GPO
แก้ไขด้วย - การกำหนดค่าคอมพิวเตอร์ → การตั้งค่า Windows → การตั้งค่าความปลอดภัย → นโยบายท้องถิ่น → การกำหนดสิทธิของผู้ใช้ → เข้าสู่ระบบเป็นงานแบตช์
- ดับเบิลคลิกเพื่อเปิดกล่องโต้ตอบ
CAMTEST_cam-svc ทดสอบ
เพิ่มผู้ใช้





เกี่ยวกับการตั้งค่า GPO
ในการใช้ GPO อย่างถูกต้อง คุณจะต้อง gpupdate /บังคับ
การรันคำสั่งนี้เป็นสิ่งสำคัญ ซึ่งจะทำให้การตั้งค่า GPO มีผลทันที โดยเฉพาะอย่างยิ่ง เมื่อให้สิทธิ์ "เข้าสู่ระบบเป็นงานแบตช์" นโยบายอาจมีผลในภายหลัง w3wp.exe
สิ่งนี้สามารถนำไปสู่ความล้มเหลวในการเริ่มต้นระบบได้