Apache mod_auth_kerb และกลุ่มผู้ใช้ LDAP


12

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

เป็นไปได้ไหมที่จะรวมmod_auth_kerbกับสิ่งที่ต้องการmod_authnz_ldapตรวจสอบการเป็นสมาชิกกลุ่มในกลุ่มใดกลุ่มหนึ่งใน LDAP? ฉันคาดเดาว่าKrbAuthoritativeตัวเลือกจะมีส่วนเกี่ยวข้องกับสิ่งนี้หรือไม่

นอกจากนี้ตามที่ฉันเข้าใจโมดูลจะตั้งชื่อผู้ใช้username@REALMหลังจากการรับรองความถูกต้อง แต่แน่นอนในไดเรกทอรีที่ผู้ใช้เก็บไว้เป็นชื่อผู้ใช้เท่านั้น นอกจากนี้บางเว็บไซต์ภายในที่เราเรียกใช้เช่น trac มีโปรไฟล์ผู้ใช้เชื่อมโยงกับชื่อผู้ใช้แต่ละคนแล้ว มีวิธีแก้ไขปัญหานี้หรือไม่โดยการถอดบิต realm ออกหลังจากการพิสูจน์ตัวตน


เพียงแค่คำถามเกี่ยวกับการนำไปใช้งานคุณใช้ Windows ADS สำหรับอาณาจักร Kerberos หรือการนำไปใช้อื่น ๆ หรือไม่?
Jeremy Bouse

OpenDirectory ของ Apple ซึ่งมาพร้อมกับ MIT Kerberos v5
Kamil Kisiel

โอเค ... ยังไม่เคยทำงานกับ OpenDirectory ของ Apple มาก่อน ฉันสามารถรับ Apache ให้รับรองความถูกต้องโดยใช้ NTLM กับโฆษณา Windows โดยใช้ข้อมูลรับรองเวิร์กสเตชันของพวกเขาแล้ว จำกัด กลุ่มเฉพาะ
Jeremy Bouse

คุณสามารถใช้แอททริบิวอื่นในการค้นหา LDAP เพื่อค้นหาเอนทิตีผู้ใช้ตัวอย่างเช่นแอ็ตทริบิวต์ "userPrincipalName" ใน Ms ActiveDirectory
Yves Martin

คำตอบ:


13

ตอนนี้เป็นไปได้ใน mod_auth_kerb 5.4 เพื่อตัดขอบเขตจาก REMOTE_USER ด้วยคำสั่ง config ต่อไปนี้:

KrbLocalUserMapping เปิด


ว้าวดูเหมือนว่ามันจะวางตลาดในปี 2008 แต่ไม่มีการพูดถึงมัน (เวอร์ชั่นหรือพารามิเตอร์) บนเว็บไซต์ของพวกเขา
Kamil Kisiel

7

เป็นจุดรวมของการแยก authn / authz ใน 2.2 ที่คุณสามารถตรวจสอบกับกลไกหนึ่งและอนุญาตกับอีก การตรวจสอบความถูกต้องจะให้การตั้งค่าของ REMOTE_USER ซึ่งคุณสามารถใช้ authz_ldap กับคุณได้ นอกจากนี้ authn_ldap จะค้นหาผู้ใช้ (แปลง REMOTE_USER เป็น DN หากพบโดยใช้เกณฑ์การค้นหาที่คุณต้องระบุ - เช่นการค้นหา CN) จากนั้นเมื่อพบ DN คุณสามารถระบุข้อกำหนดบนวัตถุ LDAP เช่นถ้าผู้ใช้ทั้งหมดที่เข้าถึงทรัพยากรต้องอยู่ใน OU เดียวกันคุณจะต้องระบุ

ต้องการ ldap-dn ou = ผู้จัดการ o = บริษัท


เป็นไปได้ไหมที่จะแก้ไขตัวแปร REMOTE_USER ก่อนที่มันจะถูกส่งไปยังสเตจการอนุญาต? ตัวอย่างเช่นหากต้องการตัดส่วน REALM ของชื่อผู้ใช้ Kerberos เพื่อค้นหาในฐานข้อมูล LDAP
Kamil Kisiel

ไม่ใช่โดยการกำหนดค่า อย่างไรก็ตามมันค่อนข้างง่ายที่จะทำในซอร์สโค้ดของโมดูล Apache มองหาการมอบหมายให้ร้องขอ -> ผู้ใช้และปรับเปลี่ยน จากนั้นสร้างโมดูลใหม่ด้วย apxs2 -c OTOH อาจเป็นการง่ายกว่าที่จะใส่ชื่อ Kerberos ลงใน LDAP ภายใต้แอตทริบิวต์ที่แยกต่างหากและให้โมดูล ldap ค้นหาผู้ใช้ด้วยแอตทริบิวต์นั้น
Martin v. Löwis

2

Debian มีเสถียรภาพในขณะนี้มาพร้อมกับรุ่น 5.4 ของmod_auth_kerb

หากคุณติดอยู่กับเวอร์ชั่นที่เก่ากว่าหน้านี้จะอธิบายว่า mod_map_user สามารถใช้ร่วมกับ mod_auth_kerb และ mod_authnz_ldap ได้อย่างไร

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