Siapkan Replikasi Master-Master OpenLDAP di CentOS 8

Dalam panduan ini, kita akan mempelajari cara men-setup OpenLDAP Master-Master Replication pada CentOS 8. OpenLDAP mendukung berbagai macam topologi replikasi seperti provider-slave, provider-providertopologi. Oleh karena itu, multi-penyedia alias replikasi multi-master, adalah teknik replikasi yang menggunakan LDAP Sync Replication engine( Syncrepl) untuk mereplikasi data ke beberapa server Direktori penyedia (“Master”).

Siapkan Replikasi Master-Master OpenLDAP di CentOS 8

Dalam pengaturan kami, kami menggunakan dua node server OpenLDAP:

  • Node Penyedia 01: ldapmaster01.kifarunix-demo.com
  • Node Penyedia 02: ldapmaster02.kifarunix-demo.com

Replikasi kami melibatkan konfigurasi OpenLDAP ( olcDatabase={0}config,cn=config) dan olcDatabase={1}mdb,cn=configreplikasi database ( ).

Atur Sinkronisasi Waktu

Sebelum Anda dapat melanjutkan ke penyiapan replikasi multi-master OpenLDAP, pastikan bahwa jam server OpenLDAP Anda disinkronkan.

Lihat tautan di bawah ini untuk mengatur server NTP Anda di CentOS 8.

Siapkan Server NTP menggunakan Chrony di CentOS 8

Instal dan Siapkan Server OpenLDAP

Dalam pengaturan kami, kami akan mereplikasi seluruh konfigurasi OpenLDAP dan direktori data. Dengan demikian, instal, atur, dan konfigurasikan salah satu node Penyedia. Ikuti panduan di bawah ini untuk menginstal server OpenLDAP di CentOS 8.

Instal dan Siapkan OpenLDAP di CentOS 8

Setelah salah satu node OpenLDAP dikonfigurasi, klon untuk membuat node kedua dalam keadaan konfigurasi yang sama.

Jika Anda tidak dapat mengkloning node OpenLDAP, cukup instal dan atur node OpenLDAP lainnya, lalu buat cadangan konfigurasi dan direktori data dari node yang sudah disiapkan dan pulihkan di node lain. Pastikan bahwa semua direktori, file, dan izin yang diperlukan telah diatur dengan benar.

Aktifkan Modul Hamparan Penyedia Sinkronisasi LDAP (syncprov)

Untuk mengaktifkan sinkronisasi konten LDAP (replikasi sinkronisasi), Anda harus mengaktifkan  modul Overlay syncprov on all the Provider nodes.

Untuk mengaktifkan Modul Overlay Syncprov, Anda dapat membuat file LDIF seperti yang ditunjukkan di bawah ini dan menggunakan ldapmodifyatau ldapaddperintah untuk memperbarui konfigurasi database OpenLDAP.

vim enable-syncprov-module.ldif
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la

Perhatikan bahwa file LDIF ini mengasumsikan bahwa syncprov.lamodul terletak di bawah jalur modul yang ditentukan,/usr/libexec/openldap. Untuk memverifikasi jalur modul;

slapcat -n 0 | grep -i modulepath
olcModulePath: /usr/libexec/openldap

Perbarui konfigurasi database OpenLDAP;

ldapadd -Y EXTERNAL -H ldapi:/// -f enable-syncprov-module.ldif

Jika Anda tidak ingin menggunakan file LDIF, cukup jalankan ldapaddperintah seperti gambar di bawah ini;

ldapadd -Y EXTERNAL -H ldapi:/// -Q

Setelah perintah berjalan, rekatkan konten di bawah ini;

dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la

Tekan ENTER dan tambahkan ubah entri pada database.

modifying entry "cn=module{0},cn=config"

Setelah entri ditambahkan, tekan Ctrl+d untuk menghentikan perintah.

Jika Anda membuat moduleentri baru, cukup gunakan konten di bawah ini baik dalam file LDIF atau sebagai masukan ldapaddatau ldapmodifyperintah.

dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/libexec/openldap olcModuleLoad: syncprov.la

Tetapkan ID Server

Pada setiap node OpenLDAP, Anda perlu menetapkan ID untuk mengidentifikasi penyedia secara unik. ID server ditentukan dalam format;

olcServerID: <integer> [<URL>]

Oleh karena itu, pada setiap node, jalankan perintah di bawah ini untuk menetapkan ID.

vim assign-server-ID.ldif

Di kedua node penyedia;

dn: cn=config changetype: modify add: olcServerID olcServerID: 1 ldap://ldapmaster01.kifarunix-demo.com olcServerID: 2 ldap://ldapmaster02.kifarunix-demo.com

Perbarui konfigurasi basis data.

ldapadd -Y EXTERNAL -H ldapi:/// -f assign-server-ID.ldif

Siapkan Pengaturan Replikasi Master-Master OpenLDAP

Setelah Anda mengaktifkan modul penyedia Sinkronisasi dan mengatur ID node penyedia, lanjutkan untuk mengonfigurasi pengaturan replikasi.

Aktifkan Replikasi Konfigurasi OpenLDAP

Untuk mengaktifkan replikasi konfigurasi OpenLDAP ( olcDatabase={0}config,cn=config), buat file LDIF dengan konten di bawah ini dan perbarui database OpenLDAPon all provider nodes.

vim syncprov-config-options.ldif
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov

Konsultasikan man slapo-syncprov untuk deskripsi opsi yang digunakan di atas.

Perbarui database OpenLDAP dengan opsi replikasi yang ditentukan di atas.

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov-options.ldif

Selanjutnya, atur password root DN untuk database konfigurasi OpenLDAP on all provider nodes.

Karena kami tidak mengatur password RootDN konfigurasi OpenLDAP seperti yang ditunjukkan pada perintah di bawah ini;

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={0}config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={0}config,cn=config olcRootDN: cn=config...

Hasilkan hash password.

slappasswd
New password: [email protected] Re-enter new password: [email protected] {SSHA}tq3ZI0S1AyyeiAVuB2JZGfNaQ2RYVtZn

Tetapkan password konfigurasi basis data.

vim rootpwd.ldif
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}h97GS2nwkHFkwMCbhYmeoRqhJ2ROrMLJ

Tambahkan password root basis data.

ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif

Mengonfirmasi;

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={0}config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={0}config,cn=config olcRootDN: cn=config olcRootPW: {SSHA}6Gdu7FnwaSRYpbCFwMastAyN1CAgHY4n

Selanjutnya, aktifkan opsi replikasi untuk konfigurasi OpenLDAP pada all nodes.

vim enable-config-replication.ldif

Be sure to replace the options used here according to your environment setup.

dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldaps://ldapmaster01.kifarunix-demo.com binddn="cn=config" bindmethod=simple credentials="[email protected]" searchbase="cn=config" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" olcSyncRepl: rid=002 provider=ldaps://ldapmaster02.kifarunix-demo.com binddn="cn=config" bindmethod=simple credentials="[email protected]" searchbase="cn=config" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" - add: olcMirrorMode olcMirrorMode: TRUE

Perbarui database OpenLDAP dengan pengaturan replikasi di atas.

ldapadd -Y EXTERNAL -H ldapi:/// -f enable-config-replication.ldif

Aktifkan Replikasi Database OpenLDAP

Untuk mengaktifkan replikasi database OpenLDAP, cukup buat file LDIF dengan konten di bawah ini. Be sure to make the necessary changes on the defined options.

CATATAN bahwa dalam kasus kami, kami telah memiliki user pengikat DN Root dan password
yang ditetapkan untuk database penyimpanan data.

ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={1}mdb,cn=config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={1}mdb,cn=config olcRootDN: cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com olcRootPW: {SSHA}DoFW9xVBNRBy4it31167J82ZJ83Qoj1v...

Jika Anda tidak memiliki user dan password Root DN, buat satu atau cadangan sebelum melanjutkan.

Aktifkan penyedia sinkronisasi untuk database OpenLDAP on all providers.

vim enabl-mdb-syncprov.ldif
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpSessionlog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f enabl-mdb-syncprov.ldif

Aktifkan  entryCSN dan  entryUID indeks untuk meningkatkan kecepatan pemindaian database dan kinerja log sesi pada penyedia masing-masing.

vim enable-indexing.ldif
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryCSN eq - add: olcDbIndex olcDbIndex: entryUUID eq
ldapadd -Y EXTERNAL -H ldapi:/// -f enable-indexing.ldif

Selanjutnya, tentukan opsi replikasi database on all providers.

vim enable-database-repl.ldif
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: rid=003 provider=ldaps://ldapmaster01.kifarunix-demo.com binddn="cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com" bindmethod=simple credentials="[email protected]" searchbase="dc=ldapmaster,dc=kifarunix-demo,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" olcSyncrepl: rid=004 provider=ldaps://ldapmaster02.kifarunix-demo.com binddn="cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com" bindmethod=simple credentials="[email protected]" searchbase="dc=ldapmaster,dc=kifarunix-demo,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" - add: olcMirrorMode olcMirrorMode: TRUE

Perbarui basis data.

ldapadd -Y EXTERNAL -H ldapi:/// -f enable-data-replication.ldif

Konsultasikan man slapd-configuntuk opsi replikasi yang digunakan dalam file LDIF di atas.

Memverifikasi Replikasi Master-Master OpenLDAP

Konfigurasi replikasi penyedia-penyedia (master-master) OpenLDAP sekarang selesai. Untuk mengonfirmasi itu, coba buat perubahan apa pun pada salah satu penyedia.

Misalnya, tambahkan user, setel ulang password, perbarui acl. Ini harus tercermin pada salah satu penyedia.

Untuk keperluan demonstrasi, izinkan kami mengatur ulang password untuk entri user di bawah ini pada Penyedia 01, ldapmaster01.kifarunix-demo.com.

uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
[[email protected] ~]# ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com"
New password: newpassword Re-enter new password: newpassword SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0

Verifikasi perubahan password pada Provider 02, ldapmaster02.kifarunix-demo.com.

[[email protected] ~]# ldapwhoami -x -h ldapmaster01.kifarunix-demo.com -D "uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" -W
Enter LDAP Password: newpass dn:uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com

Demikian pula, coba setel ulang password user pada Penyedia 02, ldapmaster02.kifarunix-demo.com.

[[email protected] ~]# ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com"
New password: mypassword Re-enter new password: mypassword SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0

Verifikasi pada Penyedia 01;

[[email protected] ~]# ldapwhoami -x -h ldapmaster01.kifarunix-demo.com -D "uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" -W
Enter LDAP Password: mypassword dn:uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com

Besar. Anda telah berhasil mengatur OpenLDAP Master-master (penyedia-penyedia) di CentOS 8.

Itu menandai akhir dari panduan kami tentang cara menginstal dan mengatur OpenLDAP Master-Master Replication di CentOS 8.

Referensi:

Replikasi OpenLDAP

Panduan Terkait

Siapkan Replikasi Master-Slave OpenLDAP di CentOS 8

Cara Mengonfigurasi Otentikasi OpenLDAP DokuWiki

Terapkan Kebijakan Kata Sandi OpenLDAP

Cara Mengkonfigurasi SUDO melalui OpenLDAP Server