<ก่อนหน้านี้ | Contents | ถัดไป>
1.9. การจำลองแบบและ TLS
หากคุณได้ตั้งค่าการจำลองแบบระหว่างเซิร์ฟเวอร์ เป็นเรื่องปกติในการเข้ารหัส (StartTLS) การรับส่งข้อมูลการจำลองแบบเพื่อป้องกันการแอบดู ซึ่งแตกต่างจากการใช้การเข้ารหัสด้วยการรับรองความถูกต้องดังที่เราทำข้างต้น ในส่วนนี้ เราจะต่อยอดจากงานตรวจสอบสิทธิ์ TLS
สมมติฐานในที่นี้คือ คุณได้ตั้งค่าการจำลองแบบระหว่างผู้ให้บริการและผู้บริโภคตามหัวข้อ 1.6 “การจำลองแบบ” [p. 123] และได้กำหนดค่า TLS สำหรับการตรวจสอบสิทธิ์บนผู้ให้บริการโดยทำตามหัวข้อ 1.8 “TLS” [p. 129].
ตามที่ระบุไว้ก่อนหน้านี้ วัตถุประสงค์ (สำหรับเรา) ที่มีการจำลองแบบมีความพร้อมใช้งานสูงสำหรับบริการ LDAP เนื่องจากเรามี TLS สำหรับการตรวจสอบสิทธิ์ในผู้ให้บริการ เราจึงต้องใช้แบบเดียวกันสำหรับผู้บริโภค นอกจากนี้ เราต้องการเข้ารหัสทราฟฟิกการจำลองแบบ สิ่งที่ต้องทำคือสร้างคีย์และใบรับรองสำหรับ Consumer แล้วกำหนดค่าตามนั้น เราจะสร้างคีย์/ใบรับรองบนผู้ให้บริการ เพื่อหลีกเลี่ยงการสร้างใบรับรอง CA อื่น จากนั้นโอนเอกสารที่จำเป็นไปยังผู้บริโภค
1. บนผู้ให้บริการ
สร้างไดเร็กทอรีการถือครอง (ซึ่งจะใช้สำหรับการถ่ายโอนในท้ายที่สุด) จากนั้นคีย์ส่วนตัวของผู้บริโภค:
mkdir ldap02-ssl ซีดี ldap02-ssl
sudo certtool --สร้าง-privkey \
--บิต 1024 \
--outfile ldap02_slapd_key.pem
สร้างไฟล์ข้อมูล ldap02.ข้อมูลสำหรับเซิร์ฟเวอร์ Consumer การปรับค่าตาม:
องค์กร = บริษัทตัวอย่าง cn = ldap02.example.com
tls_www_serverการเข้ารหัส_key การลงนาม_key วันหมดอายุ = 3650
สร้างใบรับรองผู้บริโภค:
sudo certtool -- สร้างใบรับรอง \
--โหลด 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 ผู้ใช้@ผู้บริโภค:
2. เกี่ยวกับผู้บริโภค
กำหนดค่าการตรวจสอบสิทธิ์ TLS:
sudo apt ติดตั้ง ssl-cert
sudo gpasswd -a openldap ssl-ใบรับรอง
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=การกำหนดค่า
เพิ่ม: 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 ภายนอก -H ldapi:/// -f certinfo.ldif
กำหนดค่า / etc / default / Slapd เช่นเดียวกับผู้ให้บริการ (SLAPD_SERVICES)
3. เกี่ยวกับผู้บริโภค
กำหนดค่า TLS สำหรับการจำลองแบบฝั่งผู้บริโภค แก้ไขที่มีอยู่ olcSyncrepl แอตทริบิวต์โดยทำเครื่องหมายที่ตัวเลือก TLS บางตัว ในการทำเช่นนั้น เราจะเห็นวิธีการเปลี่ยนค่าของแอตทริบิวต์เป็นครั้งแรก
สร้างไฟล์ Consumer_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=critical tls_reqcert=demand
ตัวเลือกพิเศษระบุตามลำดับว่าผู้ใช้บริการต้องใช้ StartTLS และใบรับรอง CA จะต้องยืนยันตัวตนของผู้ให้บริการ นอกจากนี้ ให้สังเกตไวยากรณ์ LDIF สำหรับการเปลี่ยนค่าของแอตทริบิวต์ ('replace')
ใช้การเปลี่ยนแปลงเหล่านี้:
sudo ldapmodify -Y ภายนอก -H ldapi:/// -f Consumer_sync_tls.ldif
และรีสตาร์ทตบ:
sudo systemctl รีสตาร์ท slapd.service
4. บนผู้ให้บริการ
ตรวจสอบเพื่อดูว่ามีการสร้างเซสชัน TLS แล้ว ใน / var / log / syslogหากคุณได้ตั้งค่าการบันทึกระดับ 'conns' แล้ว คุณควรเห็นข้อความที่คล้ายกับ:
ตบ [3620]: conn = 1047 fd = 20 ยอมรับจาก IP = 10.153.107.229:57922 (IP = 0.0.0.0:389) ตบ [3620]: conn = 1047 op = 0 EXT oid = 1.3.6.1.4.1.1466.20037
ตบ [3620]: conn=1047 op=0 STARTTLS
ตบ [3620]: conn=1047 op=0 ผลลัพธ์ oid= err=0 text=
ตบ [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 แท็กผลลัพธ์=97 err= 0 ข้อความ