สามารถตั้งค่า Kerberos / AD นี้ได้หรือไม่


10

เรามีการติดตั้ง IDAM ที่ซับซ้อนเล็กน้อย:

ป้อนคำอธิบายรูปภาพที่นี่

นั่นคือเครื่องของผู้ใช้และเบราว์เซอร์อยู่ในเครือข่ายเดียวโดยมีโฆษณาหลักและแอพพลิเคชั่นที่ใช้ Jetty ของเราและโฆษณาที่สามารถพูดคุยกับ (โฆษณาท้องถิ่น) นั่งอยู่ในอีกเครือข่ายหนึ่ง

มีความน่าเชื่อถือแบบสองทางระหว่างสองโฆษณา เบราว์เซอร์ในเครือข่ายหลักมีโดเมนท้องถิ่นในเว็บไซต์ที่เชื่อถือได้

การตั้งค่าเซิร์ฟเวอร์ Jetty มีดังนี้:

  • มันใช้ไฟล์ตารางคีย์ที่สร้างขึ้นกับเงินต้นในโฆษณาท้องถิ่น
  • มันกำลังทำงานเป็นบริการของ Windows ภายใต้ผู้ใช้ที่กำหนดไว้ในโฆษณาท้องถิ่น
  • realm, domain-realm mapping และ kdc นั้นถูกกำหนดกับโดเมนของ local AD
  • มันใช้ spnego - isInitiator ถูกตั้งค่าเป็นเท็จ doNotPrompt เป็นจริง storeKey เป็นจริง

ปัญหาคือ:

  • เป็นแบบทดสอบการเข้าถึงเซิร์ฟเวอร์จากเบราว์เซอร์ที่อยู่ภายในเครือข่ายท้องถิ่น (เชื่อมโยงเช่นการโฆษณาในท้องถิ่นบริการ) ทำงาน - ข้อมูลการแก้ปัญหาของ Kerberos ปรากฏในบันทึกที่ฉันสามารถมองเห็นที่ถูกต้อง Kerberos การเจรจาต่อรองในการเข้าชมของ HTTP และผู้ใช้มีการลงนามโดยอัตโนมัติ . สุกใส
  • อย่างไรก็ตามการเข้าถึงเซิร์ฟเวอร์จากเบราว์เซอร์ภายในเครือข่ายหลัก (ซึ่งเป็นวิธีที่ผู้ใช้ของเราจะทำสิ่งต่าง ๆ ) ไม่ทำงาน! เบราว์เซอร์จะได้รับ 401 unauth ย้อนกลับ แต่จากนั้นจะขอข้อมูลประจำตัวซึ่งเมื่อป้อนให้หน้าจอว่างเปล่า จากนั้นคลิกที่แถบที่อยู่และกด Enter จะทำหนึ่งในสองสิ่งนี้ขึ้นอยู่กับว่าข้อมูลรับรองนั้นมีไว้สำหรับโฆษณาระยะไกลหรือโฆษณาท้องถิ่น:

    • จากนั้นข้อมูลประจำตัวโฆษณาท้องถิ่นแล้วลงชื่อเข้าใช้ด้วย Kerberos ตั้งแต่ต้นในบันทึก (คำขอ GET, ตอบกลับ 401 unauth, คำขอส่วนหัว Kerberos ฯลฯ )
    • ข้อมูลประจำตัว AD ระยะไกลไม่ได้เข้าสู่ระบบ (GET คำขอ 401 ตอบสนอง UNAUTH, สิ่งที่ดูเหมือนว่าหัว NTLM นี้: Authorization: Negotiate <60 or so random chars>)

ไม่ว่าจะด้วยวิธีใดความจริงที่ว่าการกระตุ้นเตือนนั้นผิด

มีคำอธิบายสำหรับอาการเหล่านี้หรือไม่? การตั้งค่าเราสามารถทำสิ่งที่เราต้องการได้หรือไม่?

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


TCP / 88 เปิดระหว่างเบราว์เซอร์สำหรับเซิร์ฟเวอร์ที่ระบุไว้ในผลลัพธ์ dns สำหรับ _kerberos._tcp.OurITOrgDomain และ _kerberos._tcp.partentdomain หรือไม่ คุณสามารถย้ายจากเบราว์เซอร์ของเครื่องด้วยข้อมูลประจำตัวที่คุณต้องใช้ในการตรวจสอบความถูกต้องบนเซิร์ฟเวอร์ Jetty ได้หรือไม่
ยาโคบอีแวนส์

roguelynn.com/words/explain-like-im-5-kerberosอาจเปิดเผยว่าไฟร์วอลล์ของคุณอาจก่อให้เกิดปัญหาของคุณได้อย่างไร (อีกครั้ง 88 จากทั้งลูกค้าของคุณ)
Jacob Evans

มีตัวแปรมากเกินไปสำหรับคำอธิบายทีละขั้นตอนโดยละเอียดโดยไม่ต้องทำการดักจับเครือข่าย จากนั้นคุณจะเห็นได้อย่างรวดเร็วว่า SPN ได้รับการตั้งค่าอย่างเหมาะสมหรือไม่หรือต้องมีการกำหนดค่าเบราว์เซอร์เพื่อรับรองความถูกต้องแบบไม่โต้ตอบ
user2320464

คำตอบ:


3

โดยไม่เห็นการจับแพ็คเก็ตฉันคาดเดาHTTP / www.website.com SPN ต้องลงทะเบียนกับบัญชีที่ใช้แอปพลิเคชัน ทีมบริการไดเรกทอรีของ Microsoft มีการโพสต์หลายส่วนในหัวข้อนี้ที่ URL ต่อไปนี้

https://blogs.technet.microsoft.com/askds/2008/05/29/kerberos-authentication-problems-service-principal-name-spn-issues-part-1/

เรียกใช้การดักจับแพ็กเก็ต (netmon, wireshark) จากไคลเอ็นต์ในแต่ละสภาพแวดล้อมเพื่อระบุว่ากำลังค้นหา SPN ใด เมื่อพิจารณาแล้วให้ใช้setspn cmd เพื่อลงทะเบียนบัญชีที่ใช้งานแอปพลิเคชัน

FWIW, Kerberos ใช้งานได้เฉพาะบน LAN หากใครบางคนต้องการการเข้าถึงที่ไม่สามารถเข้าถึงตัวควบคุมโดเมนได้คุณจะต้องพิจารณา SSO เช่น Shibboleth หรือ ADFS

แก้ไข: ตามที่กล่าวถึงโดย@ alex-hเบราว์เซอร์จะต้องได้รับการกำหนดค่าให้ตรวจสอบสิทธิ์อย่างเงียบ ๆ ผ่าน Kerberos

  • Internet Explorer - ในขณะที่บทความ TechNet ไม่ได้มีไว้สำหรับแอปพลิเคชันของคุณโดยเฉพาะ แต่ขั้นตอนเหมือนกัน
  • Firefox - เหมือนกับลิงก์ IE ไม่ใช่การจับคู่ที่ตรงกันทั้งหมด แต่มีขั้นตอนเหมือนกัน

สุดท้ายนี้เป็นปัญหาทั่วไปของการปรับใช้ Microsoft Sharepoint พวกเขาต้องการให้ SSO ผ่าน Kerberos เกิดขึ้นอย่างเงียบ ๆ เมื่อผู้ใช้รับรองความถูกต้องกับโดเมน ดังนั้นหากคำตอบข้างต้นไม่สามารถแก้ปัญหาของคุณได้ลองตรวจสอบฟอรัมดังต่อไปนี้:

Kerberos บน Chrome, Safari หรือ FireFox


คำตอบที่ดีดีกว่าของฉัน!
Alex H

ขอขอบคุณคุณทั้งสอง - ฉันใช้เวลาสองสามวันในการอ่านเอกสารที่เชื่อมโยง แต่ฉันไม่ได้ละทิ้งคำถามหรืออะไรเลย!
Robert Grant

เอ่อมันไม่จริง แต่ฉันคิดว่ามันน่าจะดีที่สุดที่จะยอมรับคำตอบนี้เพราะคำตอบจริงเป็นกรณีที่ผิดปกติมากที่ฉันจะเพิ่มเป็นคำตอบแยกต่างหาก ขอบคุณมาก!
Robert Grant

0

โปรดลองอันดับที่ 1 จากเบราว์เซอร์ที่ไม่ได้เปิดใช้งาน NTLM (Chrome / Firefox) ดูเหมือนว่าปัญหาคือคุณเปิดใช้งานการรับรองความถูกต้องล่วงหน้าและอาจเป็นไปได้ที่ความน่าเชื่อถือแบบสองทางอาจไม่เกิดขึ้น

สำหรับการรับรองความถูกต้องก่อนดูที่นี่https://support.microsoft.com/en-us/kb/2749007และที่นี่https://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.