1.9. Replication و TLS
اگر تکرار را بین سرورها تنظیم کرده اید، رمزگذاری (StartTLS) ترافیک تکرار برای جلوگیری از استراق سمع معمول است. این با استفاده از رمزگذاری با احراز هویت همانطور که در بالا انجام دادیم متفاوت است. در این بخش ما بر اساس آن کار تأیید اعتبار TLS خواهیم بود.
فرض در اینجا این است که شما مطابق با بخش 1.6 «تکثیر» [ص. 123] و TLS را برای احراز هویت در ارائه دهنده با دنبال کردن بخش 1.8، "TLS" [ص. 129].
همانطور که قبلاً گفته شد، هدف (برای ما) با تکرار، در دسترس بودن بالا برای سرویس LDAP است. از آنجایی که ما TLS برای احراز هویت در ارائهدهنده داریم، همین مورد را برای مصرفکننده نیز نیاز خواهیم داشت. علاوه بر این، با این حال، ما می خواهیم ترافیک تکرار را رمزگذاری کنیم. کاری که باید انجام شود این است که یک کلید و گواهی برای Consumer ایجاد کنیم و سپس بر اساس آن پیکربندی کنیم. ما کلید/گواهینامه را در ارائهدهنده تولید میکنیم تا مجبور نباشیم گواهینامه CA دیگری ایجاد کنیم و سپس مواد لازم را به مصرفکننده منتقل کنیم.
1. در ارائه دهنده،
یک فهرست نگهدارنده (که برای انتقال نهایی استفاده خواهد شد) و سپس کلید خصوصی مصرف کننده ایجاد کنید:
mkdir ldap02-ssl سی دی ldap02-ssl
sudo certtool --generate-privkey \
-- بیت 1024 \
--outfile ldap02_slapd_key.pem
ایجاد یک فایل اطلاعات، ldap02.info، برای سرور مصرف کننده، مقادیر آن را بر این اساس تنظیم کنید:
سازمان = شرکت نمونه cn = ldap02.example.com
tls_www_server encryption_key signing_key expiration_days = 3650
ایجاد گواهی مصرف کننده:
sudo certtool -- تولید گواهی \
--load-privkey ldap02_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem \
--load-ca-privkey /etc/ssl/private/cakey.pem \
--قالب ldap02.info \
--outfile ldap02_slapd_cert.pem
یک کپی از گواهی CA دریافت کنید:
cp /etc/ssl/certs/cacert.pem.
انجام شد. حالا انتقال دهید ldap02-ssl دایرکتوری به مصرف کننده در اینجا ما از scp استفاده می کنیم (بر این اساس تنظیم کنید):
سی دی ...
scp -r ldap02-ssl user@consumer:
2. در مورد مصرف کننده،
پیکربندی احراز هویت TLS:
sudo apt نصب ssl-cert
sudo gpasswd -یک openldap ssl-cert
sudo cp ldap02_slapd_cert.pem cacert.pem /etc/ssl/certs sudo cp ldap02_slapd_key.pem /etc/ssl/private
sudo chgrp openldap /etc/ssl/private/ldap02_slapd_key.pem sudo chmod 0640 /etc/ssl/private/ldap02_slapd_key.pem sudo systemctl راه اندازی مجدد slapd.service
فایل را ایجاد کنید /etc/ssl/certinfo.ldif با مطالب زیر (بر این اساس تنظیم کنید):
dn: cn=config
افزودن: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
اضافه کنید: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap02_slapd_cert.pem
-
اضافه کنید: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap02_slapd_key.pem
پایگاه داده slapd-config را پیکربندی کنید:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f certinfo.ldif
مجموعه / etc / default / slapd مانند ارائه دهنده (SLAPD_SERVICES).
3. در مورد مصرف کننده،
TLS را برای تکرار سمت مصرف کننده پیکربندی کنید. موجود را اصلاح کنید olcSyncrepl با تیک زدن بر روی برخی از گزینه های TLS ویژگی را نشان دهید. با انجام این کار، برای اولین بار نحوه تغییر مقدار(های) یک ویژگی را خواهیم دید.
فایل را ایجاد کنید customers_sync_tls.ldif با مطالب زیر:
dn: olcDatabase={1}mdb,cn=config جایگزین: olcSyncRepl
olcSyncRepl: rid=0 provider=ldap://ldap01.example.com bindmethod=simple binddn="cn=admin,dc=example,dc=com" credentials=secret searchbase="dc=example,dc=com" logbase= "cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog starttls= بحرانی tls_reqcert=demand
گزینه های اضافی به ترتیب مشخص می کنند که مصرف کننده باید از StartTLS استفاده کند و گواهی CA برای تأیید هویت ارائه دهنده مورد نیاز است. همچنین به نحو LDIF برای تغییر مقادیر یک ویژگی ('replace') توجه کنید.
این تغییرات را اعمال کنید:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f customers_sync_tls.ldif
و slapd را ریستارت کنید:
sudo systemctl راه اندازی مجدد slapd.service
4. در ارائه دهنده،
بررسی کنید تا ببینید یک جلسه TLS برقرار شده است. که در / var / log / syslog، به شرطی که ثبت گزارش در سطح 'conns' راه اندازی شده باشد، باید پیام هایی مشابه موارد زیر را مشاهده کنید:
slapd[3620]: conn=1047 fd=20 ACCEPT from IP=10.153.107.229:57922 (IP=0.0.0.0:389) slapd[3620]: conn=1047 op=0 EXT oid.1.3.6.1.4.1.1466.20037=XNUMX
slapd[3620]: conn=1047 op=0 STARTTLS
slapd[3620]: conn=1047 op=0 RESULT oid= err=0 text=
slapd[3620]: conn=1047 fd=20 TLS تاسیس tls_ssf=128 ssf=128 slapd[3620]: conn=1047 op=1 BIND dn="cn=admin,dc=example,dc=com" روش=128
slapd[3620]: conn=1047 op=1 BIND dn="cn=admin,dc=example,dc=com" mech=SIMPLE ssf=0 slapd[3620]: conn=1047 op=1 RESULT tag=97 err= 0 متن