OpenLDAP Proxy -- Tricks and tips

English 简体中文 繁体中文 ภาษาไทย Tiếng Việt
Summary

Setting up an OpenLDAP proxy involves several key considerations to ensure robust and secure operation. It is crucial to use the latest OpenLDAP version to benefit from bug fixes and new features, particularly for connection stability and SSL handling. For secure client and remote server communication, configure SSL certificates, specify ldaps:/// in slapd options, and potentially add TLS_REQCERT allow for trusting remote certificates. When remote LDAP servers require authentication, configure idassert-bind with appropriate credentials and idassert-authzFrom for authorization. To overcome the global nature of attribute mapping with the rwm overlay, define separate overlay rwm blocks for distinct mapping rules, allowing multiple source attributes to map to a single client-facing attribute.

เช่นเดียวกับการกำหนดค่าซอฟต์แวร์อื่นๆ อาจพบปัญหาในระหว่างกระบวนการตั้งค่าพร็อกซี OpenLDAP ในโพสต์นี้ เราจะลองสรุปเคล็ดลับและเทคนิคบางอย่างสำหรับการตั้งค่าพร็อกซี OpenLDAP

เวอร์ชัน OpenLDAP

เราขอแนะนำให้คุณติดตั้งเวอร์ชันล่าสุดของ OpenLDAP เสมอ เนื่องจากมีคุณสมบัติล่าสุด การแก้ไขข้อบกพร่อง และแพตช์ความปลอดภัย คุณควรอ้างอิงบันทึกย่อการเผยแพร่ล่าสุดเสมอ release notes สำหรับการเปลี่ยนแปลงใหม่ๆ ในกรณีที่คุณใช้เวอร์ชัน OpenLDAP ก่อนหน้านี้และพบพฤติกรรมแปลกๆ โปรดลองอัปเดตเป็นเวอร์ชัน OpenLDAP ล่าสุดก่อน

ด้านล่างนี้คือปัญหาบางอย่างที่เราพบซึ่งได้รับการแก้ไขโดยใช้เวอร์ชันล่าสุด

  • เมื่อเซิร์ฟเวอร์ LDAP ระยะไกลหยุดทำงาน ผลลัพธ์จะเป็นรายการว่างเสมอโดยไม่มีการค้นหาเซิร์ฟเวอร์ LDAP ระยะไกลอื่นๆ
  • เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ LDAP ระยะไกลที่ใช้ SSL คำถาม LDAP จะค้างและไม่เคยส่งคืน

การกำหนดค่า SSL

หากคุณต้องการให้บริการที่ปลอดภัยแก่ไคลเอ็นต์ คุณสามารถเปิดใช้งานความสามารถของ SSL ด้วยการเปลี่ยนแปลงด้านล่าง

  • ในการกำหนดค่า ให้ตั้งค่าไฟล์ใบรับรองและตำแหน่งคีย์ส่วนตัว และตำแหน่งใบรับรอง CA การตั้งค่าโดยละเอียดสามารถพบได้ใน OpenLDAP Proxy -- slapd.conf.
  • เมื่อเรียกใช้บริการ slapd คุณต้องระบุ ldaps:/// ในตัวเลือก -h ดูด้านล่าง
    /usr/sbin/slapd -h 'ldap:/// ldapi:/// ldaps:///' -g ldap -u ldap
  • จากด้านไคลเอ็นต์ ให้เชื่อมต่อโดยใช้พอร์ต 389 ซึ่งเป็นพอร์ต SSL เริ่มต้น

หากคุณต้องการให้พร็อกซีเชื่อมต่อกับ LDAP ระยะไกลโดยใช้ SSL คุณจะต้องอัปเดต /etc/ldap/ldap.conf ในเซิร์ฟเวอร์พร็อกซีหากคุณต้องการเชื่อถือใบรับรองของเซิร์ฟเวอร์เสมอ โดยพื้นฐานแล้ว คุณต้องเพิ่มบรรทัดด้านล่างในไฟล์กำหนดค่า

TLS_REQCERT allow

การตรวจสอบสิทธิ์แบบง่าย

ในบางกรณี เซิร์ฟเวอร์ LDAP ระยะไกลต้องการการตรวจสอบสิทธิ์เมื่อไคลเอ็นต์สอบถาม ดังนั้นเมื่อ LDAP Proxy เชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล จึงจำเป็นต้องให้เซิร์ฟเวอร์ binddn และ credentials สำหรับการผูก การกำหนดค่านี้สามารถทำได้ใน /etc/ldap/slapd.conf และเพิ่มรายการ idassert-bind หลังจากรายการ uri

นอกจากนี้ คุณยังต้องสร้าง dn เสมือนและรหัสผ่านสำหรับพร็อกซีเพื่อให้ไคลเอ็นต์ LDAP สามารถใช้เพื่อเชื่อมต่อได้ การตั้งค่าเหล่านี้คือ rootdn และ rootpw หลังจากนี้ คุณต้องเพิ่มรายการ idassert-authzFrom หลังจากรายการ idassert-bind เพื่อบอกว่าใครได้รับอนุญาตให้เริ่มการผูกกับเซิร์ฟเวอร์ระยะไกล มิฉะนั้น การผูกอาจไม่ทำงาน

การตั้งค่าโดยละเอียดสามารถพบได้ใน OpenLDAP Proxy -- slapd.conf.

การแมปแอตทริบิวต์

OpenLDAP มีความสามารถในการแมปแอตทริบิวต์เพื่อให้แอตทริบิวต์บางอย่างในเซิร์ฟเวอร์ LDAP ระยะไกลสามารถแมปกับชื่อแอตทริบิวต์ที่เป็นมิตรกับผู้ใช้ที่ไคลเอ็นต์สามารถอ้างอิงได้ ความสามารถนี้มักจะทำผ่านรายการ overlay rwm ซึ่งจะเพิ่มปลั๊กอินลงในพร็อกซีและด้วยเหตุนี้จึงสามารถทำการแมปแอตทริบิวต์ได้ อย่างไรก็ตาม การแมปแอตทริบิวต์เป็นแบบทั่วโลก ซึ่งหมายความว่าคุณไม่สามารถมีการแมปแยกต่างหากสำหรับแต่ละเซิร์ฟเวอร์ LDAP ระยะไกลได้

ข้อจำกัดนี้ทำให้เกิดปัญหาที่ความต้องการการแมปแอตทริบิวต์บางอย่างไม่สามารถทำได้ ตัวอย่างเช่น หากคุณมีเซิร์ฟเวอร์ LDAP ระยะไกลที่ใช้ OpenLDAP และเซิร์ฟเวอร์ LDAP ระยะไกลที่ใช้ Windows AD ความต้องการคือการแมป uid จากเซิร์ฟเวอร์ OpenLDAP ไปยัง accountId และ sAMAccountName จาก Windows AD ไปยัง accountId เช่นกัน ซึ่งไม่สามารถทำได้ง่ายๆ เนื่องจากข้อจำกัดข้างต้น หากคุณมีการแมปด้านล่างในการกำหนดค่าของคุณ

overlay rwm
rwm-map       attribute   accountId  uid
rwm-map       attribute   accountId  sAMAccountName

จะมีเพียงการแมปสุดท้ายเท่านั้นที่จะทำงาน การแมปแรกจะถูกเขียนทับ แต่ถ้าคุณต้องการให้การแมปสองรายการทำงาน คุณสามารถทำดังต่อไปนี้

overlay rwm
rwm-map       attribute   accountId  uid
overlay rwm
rwm-map       attribute   accountId  sAMAccountName

การเพิ่มรายการ overlay rwm อีกหนึ่งรายการก่อนการแมปที่สอง เพื่อทำความเข้าใจเพิ่มเติมเกี่ยวกับวิธีการทำงานของโอเวอร์เลย์ คุณสามารถอ้างอิง เอกสารอย่างเป็นทางการ ด้านล่างนี้เป็นสรุปของสิ่งที่มันทำ

โดยพื้นฐานแล้ว โอเวอร์เลย์แสดงถึงวิธีการ:

  • ปรับแต่งพฤติกรรมของแบ็กเอนด์ที่มีอยู่โดยไม่ต้องเปลี่ยนรหัสแบ็กเอนด์และไม่จำเป็นต้องเขียนแบ็กเอนด์แบบกำหนดเองใหม่ด้วยฟังก์ชันการทำงานที่สมบูรณ์
  • เขียนฟังก์ชันการทำงานที่มีประโยชน์ทั่วไปที่สามารถนำไปใช้กับประเภทแบ็กเอนด์ที่แตกต่างกันได้

หวังว่าเคล็ดลับเหล่านี้จะช่วยคุณในการตั้งค่าพร็อกซี OpenLDAP โปรดอย่าลังเลที่จะแสดงความคิดเห็นหากคุณมีเคล็ดลับอื่นๆ

SSL AUTHENTICATION OPENLDAP OPENLDAP PROXY ATTRIBUTE MAPPING OVERLAY

  RELATED

  COMMENTS

0

No comment for this article.