ปัจจุบัน OpenLDAP จะต้องมีการกำหนดค่าด้วย ldapmodify cn = การตั้งค่าตามที่อธิบายที่นี่ แต่ไม่มีที่ไหนฉันสามารถหาวิธีการที่คุณกำหนดค่าให้เพียงยอมรับการจราจร TLS ฉันเพิ่งยืนยันว่าเซิร์ฟเวอร์ของเรายอมรับการรับส่งข้อมูลที่ไม่ได้เข้ารหัส (ด้วย ldapsearch และ tcpdump)
โดยปกติแล้วฉันจะปิดพอร์ตที่ไม่ใช่ SSL ด้วยตาราง IP แต่การใช้พอร์ต SSL นั้นถูกคัดค้านอย่างเห็นได้ชัดดังนั้นฉันจึงไม่มีตัวเลือกนั้น
ดังนั้นด้วยคำสั่งการกำหนดค่า SSL เช่นนี้:
dn: cn=config
changetype:modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/bla.key
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/bla.crt
-
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/ca.pem
มีพารามิเตอร์ในการบังคับใช้ TLS หรือไม่
แก้ไข: ฉันลอง olcTLSCipherSuite แล้ว แต่มันไม่ทำงาน ดีบักเอาต์พุต:
TLS: could not set cipher list TLSv1+RSA:!NULL.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Edit2 (เกือบจะคงที่): ฉันสามารถแก้ไขได้โดยการโหลด:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
แต่แล้วคำสั่งเช่น
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
ไม่ทำงานอีกต่อไป ... และเปลี่ยนเป็น:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
ให้ฉัน "ldap_bind: ข้อมูลประจำตัวไม่ถูกต้อง (49)" เห็นได้ชัดว่าถึงแม้ว่า binddn นี้จะถูกระบุเป็น rootdn ฉันไม่สามารถใช้มันเพื่อแก้ไขcn=config
ได้ สามารถเปลี่ยนแปลงได้หรือไม่
TLS confidentiality required
ข้อความ