Score:0

การจัดการการเข้าถึง OpenLDAP

ธง in

ฉันติดตั้ง OpenLDAP บน Ubuntu Server 20.04 แล้ว มันใช้งานได้ดีจนถึงตอนนี้ ตอนนี้ฉันต้องการจำกัดการเข้าถึงเซิร์ฟเวอร์ เนื่องจากตอนนี้ทุกคนสามารถอ่านรายการทั้งหมดได้ เช่น ในธันเดอร์เบิร์ด ดังนั้นฉันจึงสร้างไฟล์ ldif ดังนี้:

dn: olcDatabase={1}mdb,cn=config
ประเภทการเปลี่ยนแปลง: แก้ไข
แทนที่: olcAccess
olcAccess: เพื่อ attrs=userPassword
  โดยเขียนเอง
  โดยการรับรองความถูกต้องที่ไม่ระบุชื่อ
  โดย * ไม่มี
olcAccess: เพื่อ attrs=shadowLastChange
  โดยเขียนเอง
  โดย *อ่าน
olcAccess: ถึง * โดย * อ่าน

ซึ่งเป็นการกำหนดค่ามาตรฐาน อย่างไรก็ตาม หากฉันเปลี่ยนรายการสุดท้ายเป็นอย่างอื่น เช่น

olcAccess: ถึง * โดยผู้ใช้อ่าน

ฉันไม่สามารถเข้าถึง LDAP ใน Thunderbird ได้อีกต่อไป สิ่งที่ฉันต้องการคือธันเดอร์เบิร์ดขอชื่อผู้ใช้และรหัสผ่านก่อนที่จะแสดงอะไร ใน Thunderbird มี 5 ฟิลด์ให้ตั้งค่า:

ตั้งชื่อชื่อใดก็ได้สำหรับ LDAP
ที่อยู่เซิร์ฟเวอร์ ที่อยู่ DNS
Base-DN เช่น dc=ตัวอย่าง,dc=org   
หมายเลขพอร์ต 636 
Bind-DN ​​?? 

ถ้าฉันไม่ใส่อะไรใน Bind-DN ​​ธันเดอร์เบิร์ดจะไม่ขออะไร แต่ก็ไม่แสดงอะไรเลย ถ้าฉันใส่ชื่อผู้ใช้หรือรหัสผู้ใช้ มันจะถามรหัสผ่านแต่ไม่มีอะไรแสดงอีก

ฉันมีคำถามสองข้อ:

  • ldif ควรมีลักษณะอย่างไร
  • สิ่งที่ต้องใส่ในธันเดอร์เบิร์ด?
Score:2
ธง fr

"Bind DN" เป็นชื่อของรายการไดเรกทอรีที่ใช้ในการเข้าสู่ระบบ (ผูก) ใน LDAP ไม่มี ID ผู้ใช้แยกต่างหาก â แทนรายการของคุณ ตัวพวกเขาเอง เป็นบัญชี LDAP

ตัวอย่างเช่น, cn=Arne Fallisch,ou=พนักงาน,dc=example,dc=org จะเป็น "Bind DN" ของคุณ (สมมติว่ามีอยู่จริง) และรายการ รหัสผ่านผู้ใช้ คุณลักษณะจะเป็นรหัสผ่านของคุณ

(แอตทริบิวต์สามารถมีรหัสผ่านที่แฮช; สแลปพาสwd สามารถใช้คำสั่งเพื่อสร้างแฮชรหัสผ่านที่เข้ากันได้ หรือ ldappasswd สามารถใช้เปลี่ยนรหัสผ่านออนไลน์ได้)

รายการใดๆ โดยไม่คำนึงถึง objectClass สามารถใช้เชื่อมโยงกับไดเร็กทอรีได้ ตราบใดที่มีแอตทริบิวต์ userPassword ซึ่งรวมถึง 'person', 'inetOrgPerson', 'posixAccount' และอื่น ๆ อีกเล็กน้อย


โปรดทราบว่า ACL ของ OpenLDAP ทำงานในโหมด "ซ่อนตัว" โดยค่าเริ่มต้น â นั่นคือ แทนที่จะพูดว่า "การเข้าถึงถูกปฏิเสธ" เซิร์ฟเวอร์จะแสร้งทำเป็นว่าไม่มีรายการที่ไม่พร้อมใช้งานเลย เมื่อปกป้องเซิร์ฟเวอร์ทั้งหมด คุณอาจต้องการให้ส่งคืนข้อผิดพลาด "จำเป็นต้องมีการตรวจสอบสิทธิ์" แทน â เพื่อให้บรรลุเป้าหมายนี้ ให้กำหนด olcRequires: ผูก authc ในรายการ olcDatabase ของคุณ (แต่ ไม่ ในรายการการกำหนดค่าส่วนกลาง การทำเช่นนั้นจะทำให้สิ่งต่างๆ เช่น การรับรองความถูกต้องของ StartTLS และ SASL เสียหาย)

Arne Fallisch avatar
in flag
ก่อนอื่นขอขอบคุณสำหรับความช่วยเหลือของคุณ ฉันตั้งค่าไฟล์ ldif ด้วย: dn: olcDatabase={1}mdb,cn=config เพิ่ม: olcRequires olcRequires: authc จากนั้นใส่ bindDN ไปที่: cn=Arne Fallisch,ou=ผู้คน,dc=example,dc=org จากนั้นข้อความค้นหารหัสผ่านจะปรากฏขึ้น แต่เมื่อฉันป้อนรหัสผ่าน มันจะปรากฏขึ้นอีกครั้งหรือไม่มีอะไรเกิดขึ้น ฉันลองด้วย uid=afallisch แต่ก็ไม่ได้ผลเช่นกัน ที่น่าสนใจคือฉันยังใช้ NextCloud Server ซึ่งการเชื่อมต่อทำงานได้อย่างสมบูรณ์
Arne Fallisch avatar
in flag
ลืม "อ่าน" ในไฟล์ ldif ไม่ทำงาน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา