ด้วย slapd.conf คุณสามารถปิดใช้งานการเชื่อมโยงแบบไม่ระบุชื่อและต้องการการพิสูจน์ตัวตนด้วยคำสั่งคงที่ต่อไปนี้:
disallow bind_anon
require authc
ฉันจะประสบความสำเร็จในการตั้งค่าระดับโลกเดียวกันได้อย่างไรโดยใช้วิธีการกำหนดค่าใหม่ cn = config สด
ด้วย slapd.conf คุณสามารถปิดใช้งานการเชื่อมโยงแบบไม่ระบุชื่อและต้องการการพิสูจน์ตัวตนด้วยคำสั่งคงที่ต่อไปนี้:
disallow bind_anon
require authc
ฉันจะประสบความสำเร็จในการตั้งค่าระดับโลกเดียวกันได้อย่างไรโดยใช้วิธีการกำหนดค่าใหม่ cn = config สด
คำตอบ:
ไม่ใช่ว่า ACL ของ quanta นั้นเป็นสิ่งที่ไม่ดี แต่เพื่อตอบคำถามของคุณ:
ldapmodify
dn: cn = config
changetype: แก้ไข
เพิ่ม: olcDisallows
olcDisallows: bind_anon
-dn: olcDatabase = {- 1} ส่วนหน้า, cn = config ประเภท
: แก้ไข
เพิ่ม: olcRequires
olcRequires: authc
โปรดทราบว่า ldapmodify นั้นมีความอ่อนไหวต่อช่องว่าง (ต่อท้าย) ดังนั้นการวางสำเนาแบบตรงจะไม่ทำงาน (และอาจไม่รับรองความถูกต้องของคุณอย่างถูกต้อง) นอกจากนี้ dn ที่คุณใช้จะต้องมีสิทธิ์เขียนเพื่อเข้าถึง cn = config db
ชุดรูปแบบเดียวกันฉันลองใช้งานได้ผล: เคล็ดลับความปลอดภัยของ LDAP ที่ SysadminTalk
สรุป:
1) สร้างไฟล์ลองเรียกมันdisable_anon_frontend.ldif
ด้วยเนื้อหาดังต่อไปนี้:
dn: olcDatabase={-1}frontend,cn=config
add: olcRequires
olcRequires: authc
2) สร้างไฟล์อื่นที่เรียกว่าdisable_anon_backend.ldif
มีเนื้อหาดังต่อไปนี้:
dn: olcDatabase={1}hdb,cn=config
add: olcRequires
olcRequires: authc
3) จากนั้นบนเซิร์ฟเวอร์ให้แก้ไข LDAP โดยใช้คำสั่งต่อไปนี้:
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_frontend.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_backend.ldif
4) ตรวจสอบโดยดำเนินการสอบถามอานนท์ต่อไปนี้: ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn
(ใช้dc=...
การตั้งค่าของคุณตามความเหมาะสม)
หากคุณเห็นข้อความแสดงข้อผิดพลาดด้านล่างแสดงว่าการเข้าถึงแบบไม่ระบุชื่อถูกปิดใช้งานสำเร็จแล้ว:
Server is unwilling to perform (53)
Additional information: authentication required
โชคดี!
ฉันไม่ได้ทดสอบ แต่ลองทำสิ่งนี้:
dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword
by dn="cn=admin,dc=example,dc=com" write
by self write
by * none
olcAccess: to dn.base=""
by users read
by * none
olcAccess: to *
by dn="cn=admin,dc=example,dc=com" write
by * none