<ก่อนหน้านี้ | Contents | ถัดไป>
1.8. ทีแอลเอส
เมื่อตรวจสอบสิทธิ์กับเซิร์ฟเวอร์ OpenLDAP วิธีที่ดีที่สุดคือใช้เซสชันที่เข้ารหัส สามารถทำได้โดยใช้ Transport Layer Security (TLS)
ที่นี่เราจะเป็นของเรา ผู้ออกใบรับรอง จากนั้นสร้างและลงนามในใบรับรองเซิร์ฟเวอร์ LDAP ของเราในฐานะ CA นั้น เนื่องจาก slapd ถูกคอมไพล์โดยใช้ไลบรารี gnutls เราจะใช้ยูทิลิตี้ certtool เพื่อทำงานเหล่านี้ให้เสร็จ
1. ติดตั้งแพ็คเกจ gnutls-bin และ ssl-cert:
sudo apt ติดตั้ง gnutls-bin ssl-cert
2. สร้างคีย์ส่วนตัวสำหรับผู้ออกใบรับรอง:
sudo sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
3. สร้างเทมเพลต/ไฟล์ /etc/ssl/ca.info เพื่อกำหนด CA:
cn = บริษัทตัวอย่าง ca
cert_signing_key
4. สร้างใบรับรอง CA ที่ลงนามเอง:
sudo certtool -- สร้างการลงนามด้วยตนเอง \
--load-privkey /etc/ssl/private/cakey.pem \
--เทมเพลต /etc/ssl/ca.info \
--outfile /etc/ssl/certs/cacert.pem
5. สร้างคีย์ส่วนตัวสำหรับเซิร์ฟเวอร์:
4 http://manpages.ubuntu.com/manpages/en/man5/slapd.access.5.html
sudo certtool --สร้าง-privkey \
--บิต 1024 \
--outfile /etc/ssl/private/ldap01_slapd_key.pem
แทนที่ ldap01 ในชื่อไฟล์ด้วยชื่อโฮสต์ของเซิร์ฟเวอร์ของคุณ การตั้งชื่อใบรับรองและคีย์สำหรับโฮสต์และบริการที่จะใช้จะช่วยให้ชัดเจน
6. สร้าง /etc/ssl/ldap01.info ไฟล์ข้อมูลที่มี:
องค์กร = บริษัทตัวอย่าง cn = ldap01.example.com tls_www_server
Encryption_key การลงนาม_key วันหมดอายุ = 3650
ใบรับรองดังกล่าวมีอายุ 10 ปี ปรับให้เหมาะสม
7. สร้างใบรับรองของเซิร์ฟเวอร์:
sudo certtool -- สร้างใบรับรอง \
--load-privkey /etc/ssl/private/ldap01_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem \
--load-ca-privkey /etc/ssl/private/cakey.pem \
--เทมเพลต /etc/ssl/ldap01.info \
--outfile /etc/ssl/certs/ldap01_slapd_cert.pem
8. ปรับสิทธิ์และความเป็นเจ้าของ:
sudo chgrp openldap /etc/ssl/private/ldap01_slapd_key.pem sudo chmod 0640 /etc/ssl/private/ldap01_slapd_key.pem sudo gpasswd -a openldap ssl-cert
9. ตอนนี้รีสตาร์ท slapd เนื่องจากเราเพิ่มผู้ใช้ 'openldap' ในกลุ่ม 'ssl-cert':
sudo systemctl รีสตาร์ท slapd.service
เซิร์ฟเวอร์ของคุณพร้อมที่จะยอมรับการกำหนดค่า TLS ใหม่แล้ว
สร้างไฟล์ ใบรับรองข้อมูล.ldif โดยมีเนื้อหาดังต่อไปนี้ (ปรับตามนั้น ตัวอย่างของเราถือว่าเราสร้างใบรับรองโดยใช้ https://www.cacert.org):
dn: cn=การกำหนดค่า
เพิ่ม: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
เพิ่ม: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
เพิ่ม: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
ใช้คำสั่ง ldapmodify เพื่อบอก slapd เกี่ยวกับงาน TLS ของเราผ่านฐานข้อมูล slapd-config:
sudo ldapmodify -Y ภายนอก -H ldapi:/// -f certinfo.ldif
ขัดกับความเชื่อที่นิยม ไม่จำเป็น ldaps: // in / etc / default / Slapd เพื่อใช้เข้ารหัส คุณควรมีเพียง:
SLAPD_SERVICES="ldap:/// ldapi:///"
LDAP บน TLS/SSL (ldaps://) เลิกใช้แล้ว in เริ่มTLS. หลังหมายถึงเซสชัน LDAP ที่มีอยู่ (ฟังบนพอร์ต TCP 389) ที่ได้รับการปกป้องโดย TLS/SSL ในขณะที่ LDAPS เช่น HTTPS เป็นโปรโตคอลที่เข้ารหัสตั้งแต่เริ่มต้นซึ่งทำงานผ่านพอร์ต TCP 636