1.8. TLS
בעת אימות לשרת 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 = חברה לדוגמה כ
מפתח_חתימת_אישור
4. צור את אישור ה-CA בחתימה עצמית:
sudo certtool --generate-self-signed \
--load-privkey /etc/ssl/private/cakey.pem \
--template /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 --generate-privkey \
--bits 1024 \
--outfile /etc/ssl/private/ldap01_slapd_key.pem
חלף ldap01 בשם הקובץ עם שם המארח של השרת שלך. מתן שם לאישור ולמפתח עבור המארח והשירות שישתמשו בהם יעזור לשמור על דברים ברורים.
6. צור את /etc/ssl/ldap01.info קובץ מידע המכיל:
organisation = דוגמה חברה cn = ldap01.example.com tls_www_server
encryption_key signing_key expiration_days = 3650
התעודה הנ"ל טובה ל-10 שנים. התאם בהתאם.
7. צור את האישור של השרת:
sudo certtool --generate-certificate \
--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 \
--template /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 החדשה.
צור את הקובץ certinfo.ldif עם התכנים הבאים (התאם בהתאם, הדוגמה שלנו מניחה שיצרנו אישורים באמצעות https://www.cacert.org):
dn: cn=config
הוסף: 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 כדי לספר ל-sladd על עבודת ה-TLS שלנו באמצעות מסד הנתונים slapd-config:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.ldif
בניגוד למה שנהוג לחשוב, אתה לא צריך ldaps:// in / etc / default / slapd על מנת להשתמש בהצפנה. אתה צריך רק:
SLAPD_SERVICES="ldap:/// ldapi:///"
LDAP על TLS/SSL (ldaps://) הוצא משימוש לטובת StartTLS. האחרון מתייחס להפעלת LDAP קיימת (האזנה ביציאת TCP 389) שהפכה מוגנת על ידי TLS/SSL, בעוד ש-LDAPS, כמו HTTPS, הוא פרוטוקול מוצפן מובהק מההתחלה שפועל על יציאת TCP 636.