การพิสูจน์ตัวตน Kerberos โฮสต์บริการและการเข้าถึง KDC


10

ฉันมีเว็บแอปพลิเคชัน (ชื่อโฮสต์: service.domain.com) และฉันต้องการใช้การพิสูจน์ตัวตน Kerberos เพื่อระบุผู้ใช้ที่เข้าสู่ระบบโดเมน Windows Microsoft AD (Windows Server 2008 R2) กำลังให้บริการ Kerberos

บริการนี้เป็นเว็บแอปพลิเคชัน Java ที่ใช้ไลบรารีส่วนขยาย Spring Security Kerberos เพื่อใช้โปรโตคอล SPNEGO / Kerberos ฉันได้สร้างไฟล์ keytab ใน AD ที่มีความลับที่ใช้ร่วมกันซึ่งน่าจะเพียงพอในการรับรองตั๋ว Kerberos ที่เบราว์เซอร์ไคลเอนต์ส่งมาโดยใช้เว็บแอปพลิเคชัน

คำถามของฉันคือ service host (service.domain.com) จำเป็นต้องมีการเข้าถึงไฟร์วอลล์ (TCP / UDP 88) ถึง KDC (kdc.domain.com) หรือเป็นไฟล์ keytab ที่เพียงพอสำหรับโฮสต์บริการเพื่อให้สามารถถอดรหัส ตั๋ว Kerberos และให้การรับรองความถูกต้อง?


บริการไม่จำเป็นต้องเข้าถึง KDC ในการตั้งค่าของคุณ ลูกค้าทำอย่างแน่นอน
jouell

คำตอบ:


11

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

เวอร์ชันที่เรียบง่ายเกินไปของสิ่งที่ฉันเชื่อว่าเกิดขึ้นมากกว่าหรือน้อยกว่าเช่นนี้:

การตั้งค่าบริการ

  • KDCสร้างแท็บบริการ(ซึ่งเป็นรหัสลับ / รหัสผ่านหากต้องการ)
  • แป้นพิมพ์นี้มีให้บริการในบางวิธี ( scpหรือติดบนแท่ง USB หากคุณต้องการ)

ลูกค้าเชื่อมต่อกับบริการ

  • ไคลเอนต์ร้องขอตั๋วบริการจากKDC
  • KDCสร้าง Service ticketซึ่งมีข้อมูลบางอย่างที่สามารถถอดรหัสได้โดยคีย์แท็บบริการ(นี่คือไฟล์ที่อยู่บนเซิร์ฟเวอร์ของคุณ)
  • ลูกค้าส่งตั๋วบริการไปยังบริการ
  • บริการใช้ของkeytabเพื่อตรวจสอบตั๋ว (ไม่มีเครือข่ายการสื่อสารที่จำเป็น)

ขอบคุณนี่คือสิ่งที่ฉันเข้าใจเช่นกันจากบทความ Kerberos Wikipedia คำถามนี้ดูเหมือนจะมีคำตอบที่ขัดแย้งกัน: Kerberos Authentication สำหรับ Webservers
StrangeLoop

ฉันไม่ทราบว่าเกิดอะไรขึ้นในคำตอบอื่น ๆ แต่ฉันมีเซิร์ฟเวอร์ SSH ระยะไกลที่ใช้การรับรองความถูกต้องแบบ Kerberos และไม่มีการเข้าถึง KDC ที่อยู่บน LAN ส่วนตัวของฉันที่บ้าน มีบางสิ่งแปลก ๆ เกิดขึ้นกับเว็บเซิร์ฟเวอร์หรือไม่? อาจจะ แต่ฉันสงสัยอย่างมาก
chutz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.