1.8 TLS
عند المصادقة على خادم OpenLDAP ، من الأفضل القيام بذلك باستخدام جلسة مشفرة. يمكن تحقيق ذلك باستخدام بروتوكول أمان طبقة النقل (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 لتعريف المرجع المصدق:
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 - Generate-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 signature_key expiration_days = 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 الجديد.
قم بإنشاء الملف certinfo.ldif بالمحتويات التالية (اضبط وفقًا لذلك ، يفترض مثالنا أننا أنشأنا شهادات باستخدام https://www.cacert.org):
dn: cn = config
إضافة: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: ملف شهادة olcTLSC
ملف olcTLSCertificate: /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: //) لصالح ابدأTLS. يشير الأخير إلى جلسة LDAP حالية (الاستماع على منفذ TCP 389) أصبحت محمية بواسطة TLS / SSL بينما LDAPS ، مثل HTTPS ، هو بروتوكول مشفر مميز من البداية يعمل عبر منفذ TCP 636.