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.