<Sebelumnya | Konten | Selanjutnya>
1.9. Replikasi dan TLS
Jika Anda telah menyiapkan replikasi antar server, itu adalah praktik umum untuk mengenkripsi (StartTLS) lalu lintas replikasi untuk mencegah penyadapan. Ini berbeda dengan menggunakan enkripsi dengan otentikasi seperti yang kami lakukan di atas. Di bagian ini kita akan membangun pekerjaan otentikasi TLS itu.
Asumsinya di sini adalah Anda telah mengatur replikasi antara Penyedia dan Konsumen sesuai dengan Bagian 1.6, “Replikasi” [hal. 123] dan telah mengonfigurasi TLS untuk otentikasi pada Penyedia dengan mengikuti Bagian 1.8, “TLS” [hal. 129].
Seperti yang dinyatakan sebelumnya, tujuan (bagi kami) dengan replikasi adalah ketersediaan tinggi untuk layanan LDAP. Karena kami memiliki TLS untuk otentikasi pada Penyedia, kami akan meminta hal yang sama pada Konsumen. Selain itu, kami ingin mengenkripsi lalu lintas replikasi. Yang masih harus dilakukan adalah membuat kunci dan sertifikat untuk Konsumen dan kemudian mengonfigurasinya. Kami akan membuat kunci/sertifikat pada Penyedia, untuk menghindari keharusan membuat sertifikat CA lain, dan kemudian mentransfer materi yang diperlukan ke Konsumen.
1. Pada Penyedia,
Buat direktori penyimpanan (yang akan digunakan untuk transfer akhirnya) dan kemudian kunci pribadi Konsumen:
mkdir ldap02-ssl cd ldap02-ssl
sudo certtool --hasilkan-privkey \
--bit 1024 \
--file keluar ldap02_slapd_key.pem
Buat file info, ldap02.info, untuk server Konsumen, menyesuaikan nilainya:
organisasi = Contoh Perusahaan cn = ldap02.example.com
tls_www_server enkripsi_penandatanganan kunci_kunci kedaluwarsa_hari = 3650
Buat sertifikat Konsumen:
sudo certtool --hasilkan-sertifikat \
--load-privkey ldap02_slapd_key.pem \
--load-ca-sertifikat /etc/ssl/certs/cacert.pem \
--load-ca-privkey /etc/ssl/private/cakey.pem \
--templat ldap02.info \
--file keluar ldap02_slapd_cert.pem
Dapatkan salinan sertifikat CA:
cp /etc/ssl/certs/cacert.pem .
Dilakukan. Sekarang transfer ldap02-ssl direktori ke Konsumen. Di sini kami menggunakan scp (sesuaikan):
cd ..
scp -r ldap02-ssl pengguna@konsumen:
2. Pada Konsumen,
Konfigurasikan autentikasi TLS:
sudo apt install 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 restart slapd.service
Buat filenya /etc/ssl/certinfo.ldif dengan konten berikut (sesuaikan):
dn: cn=konfigurasi
tambahkan: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
tambahkan: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap02_slapd_cert.pem
-
tambahkan: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap02_slapd_key.pem
Konfigurasikan database slapd-config:
sudo ldapmodify -Y EKSTERNAL -H ldapi:/// -f certinfo.ldif
Konfigurasi / etc / default / slapd seperti pada Penyedia (SLAPD_SERVICES).
3. Pada Konsumen,
Konfigurasikan TLS untuk replikasi sisi Konsumen. Ubah yang sudah ada olcSyncrepl atribut dengan menempelkan beberapa opsi TLS. Dalam melakukannya, kita akan melihat, untuk pertama kalinya, bagaimana mengubah nilai atribut.
Buat filenya konsumen_sync_tls.ldif dengan konten berikut:
dn: olcDatabase={1}mdb,cn=config ganti: olcSyncRepl
olcSyncRepl: rid=0 penyedia=ldap://ldap01.example.com bindmethod=simple binddn="cn=admin,dc=example,dc=com" kredensial=secret searchbase="dc=example,dc=com" logbase= "cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog starttls=kritis tls_reqcert=permintaan
Opsi tambahan masing-masing menentukan bahwa konsumen harus menggunakan StartTLS dan bahwa sertifikat CA diperlukan untuk memverifikasi identitas Penyedia. Perhatikan juga sintaks LDIF untuk mengubah nilai atribut ('ganti').
Terapkan perubahan ini:
sudo ldapmodify -Y EKSTERNAL -H ldapi:/// -f consumer_sync_tls.ldif
Dan mulai ulang slapd:
sudo systemctl restart tamparan.layanan
4. Pada Penyedia,
Periksa untuk melihat bahwa sesi TLS telah dibuat. Di dalam / var / log / syslog, asalkan Anda memiliki pengaturan logging level 'conns', Anda akan melihat pesan yang mirip dengan:
slapd[3620]: conn=1047 fd=20 TERIMA dari 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]: samb=1047 op=0 MULAI
slapd[3620]: conn=1047 op=0 HASIL oid= err=0 teks=
slapd[3620]: conn=1047 fd=20 TLS didirikan tls_ssf=128 ssf=128 slapd[3620]: conn=1047 op=1 BIND dn="cn=admin,dc=example,dc=com" metode=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 tag HASIL=97 err= 0 teks