1.9. שכפול ו-TLS
אם הגדרתם שכפול בין שרתים, מקובל להצפין (StartTLS) את תעבורת השכפול כדי למנוע היסתר. זה שונה משימוש בהצפנה עם אימות כפי שעשינו למעלה. בחלק זה נבנה על עבודת האימות של TLS.
ההנחה כאן היא שהגדרת רפליקציה בין ספק לצרכן לפי סעיף 1.6, "שכפול" [עמ'. 123] והגדרנו TLS לאימות בספק על ידי ביצוע סעיף 1.8, "TLS" [עמ'. 129].
כפי שצוין בעבר, המטרה (עבורנו) עם שכפול היא זמינות גבוהה עבור שירות LDAP. מכיוון שיש לנו TLS לאימות על הספק, נדרוש את אותו הדבר על הצרכן. עם זאת, בנוסף לכך, אנו רוצים להצפין תעבורת שכפול. מה שנותר לעשות הוא ליצור מפתח ואישור עבור הצרכן ולאחר מכן להגדיר בהתאם. אנו נפיק את המפתח/האישור על הספק, כדי להימנע מיצירת אישור CA נוסף, ולאחר מכן נעביר את החומר הדרוש לצרכן.
1. על הספק,
צור ספריית החזקה (שתשמש להעברה בסופו של דבר) ולאחר מכן את המפתח הפרטי של הצרכן:
mkdir ldap02-ssl cd ldap02-ssl
sudo certtool --generate-privkey \
--bits 1024 \
--outfile ldap02_slapd_key.pem
צור קובץ מידע, ldap02.info, עבור שרת הצרכן, התאמת ערכיו בהתאם:
ארגון = דוגמה חברה cn = ldap02.example.com
tls_www_server encryption_key signing_key expiration_days = 3650
צור את תעודת הצרכן:
sudo certtool --generate-certificate \
--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 (להתאים בהתאם):
cd ..
scp -r ldap02-ssl user@consumer:
2. על הצרכן,
הגדר אימות TLS:
sudo apt להתקין ssl-cert
sudo gpasswd -a 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. בכך, נראה, לראשונה, כיצד לשנות ערך(ים) של תכונה.
צור את הקובץ consumer_sync_tls.ldif עם התוכן הבא:
dn: olcDatabase={1}mdb,cn=config replace: 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=critical tls_reqcert=demand
האפשרויות הנוספות מציינות, בהתאמה, שהצרכן חייב להשתמש ב-StartTLS ושתעודת ה-CA נדרשת כדי לאמת את זהות הספק. שימו לב גם לתחביר LDIF לשינוי ערכי תכונה ('החלפה').
יישם את השינויים האלה:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f consumer_sync_tls.ldif
ותתחיל מחדש את סטאפ:
sudo systemctl הפעל מחדש את slapd.service
4. על הספק,
בדוק כדי לראות שהפעלת TLS הוקמה. ב / var / log / syslog, בתנאי שיש לך הגדרת רישום ברמת 'conns', אתה אמור לראות הודעות דומות ל:
slapd[3620]: conn=1047 fd=20 קבל מ-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.
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" method=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 טקסט