Open Directory: Mengaktifkan SSL untuk Open Directory dengan Replika

Lapisan Soket Aman (SSL) dapat diaktifkan untuk mengenkripsi komunikasi antara Master, Replika Open Directory, dan komputer yang mengakses domain direktori LDAP. SSL menggunakan sertifikat digital untuk memberikan identitas bersertifikat kepada server. Anda dapat menggunakan sertifikat yang ditandatangani sendiri atau sertifikat yang diperoleh dari otoritas sertifikat.

Jika komputer Master dan Replika Open Directory sudah siap:

  1. Pastikan kedua komputer tersebut mendukung koneksi SSL.

  2. Aktifkan enkripsi SSL pada komputer Master Open Directory menggunakan sertifikat yang ditandatangani sendiri dengan nama yang sama dengan nama host komputer Master.

  3. Aktifkan SSL pada semua komputer Replika: Buat sertifikat yang ditandatangani sendiri di komputer Replika menggunakan Admin Server dengan nama yang sama dengan nama host komputer tersebut.

Di Terminal, jalankan perintah ini:

Mac OS X Server 10.5:

sudo slapconfig -setldapconfig -ssl on -sslkey [jalur ke kunci SSL] -sslcert [jalur ke sertifikat SSL] -ssldomain [nama sertifikat]

Mac OS X Server 10.6:

sudo slapconfig -setldapconfig -ssl on -sslkey [jalur ke kunci SSL] -sslcert [jalur ke sertifikat SSL]

(Secara default, Admin Server menyimpan sertifikat di /etc/certificates. Pastikan juga nama file disertakan di jalur)

Menginstal sertifikat dari Master dan Replika Open Directory

Agar komputer klien dapat menggunakan SSL, sertifikat dari setiap server di kluster direktori harus disalin ke komputer klien. Cara menginstal sertifikat dari komputer Master dan Replika Open Directory:

1. Pada setiap komputer klien, buat direktori /etc/openldap/certs.

2. Pada satu komputer klien, buka Terminal, lalu jalankan perintah ini untuk mendapatkan sertifikat dari server:

openssl s_client -connect [nama host server]:636

3. Salin baris antara “---BEGIN CERTIFICATE--” dan “---END CERTIFICATE---” ke dalam file bernama “hostname”.

4. Letakkan file hostname baru di sini:/etc/openldap/certs/

5. Anda dapat menguji sertifikat menggunakan perintah ini:

openssl s_client -connect [nama host server]:636 -CAfile /etc/openldap/certs/hostname

Perintah ini seharusnya menampilkan output yang mirip dengan sebelumnya, dengan perubahan berikut ini pada baris terakhirnya: verify return code:0(ok), bukan 18 atau 19 seperti yang Anda terima sebelumnya

6. Jika Anda hanya memiliki satu sertifikat (misalnya, satu server LDAP dengan SSL yang diaktifkan), tambahkan jalur berikut ini ke file /etc/openldap/ldap.conf

TLS_CACERT /etc/openldap/certs/[nama host server]

Jika Anda memiliki beberapa server LDAP dengan SSL yang diaktifkan

Anda perlu menyebutkan server satu per satu atau memasukkan semuanya ke direktori yang sama dan mengarahkan ldap.conf ke server tersebut menggunakan langkah berikut:

1. Untuk setiap server dalam kluster LDAP, Anda perlu mendapatkan sertifikat seperti sebelumnya menggunakan perintah openssl s_client:

openssl s_client -connect [nama host server]:636

2. Setelah Anda memperoleh sertifikat, gunakan c_hash (utilitas OpenSSL) untuk mengubah sertifikat menjadi format yang sudah diberi tanda hash. Untuk setiap sertifikat, c_hash akan memberikan nama yang akan digunakan untuk mengganti nama file sertifikat di /etc/openldap/certs:

/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname

Output-nya seharusnya mirip seperti ini: 03be8eb2.0 => /etc/openldap/certs/hostname

3. Setelah Anda menerima nama hash, ganti nama file sertifikat yang ada secara manual.

Contoh:

mv /etc/openldap/certs/hostname /etc/openldap/certs/03be8eb2.0

4. Setelah Anda menjalankan semua sertifikat melalui c_hash, edit file /etc/openldap/ldap.conf dengan:

TLS_CACERTDIR /etc/openldap/certs/

5. Hapus semua entri TLS_CACERTDIR sebelumnya yang mungkin ada di file ldap.conf.

6. Lakukan verifikasi dengan perintah ldapsearch:

ldapsearch -v -x -H ldaps://[nama host server] -b [searchbase]

7. Anda mungkin perlu memulai ulang Layanan Direktori jika pernah mencoba mengatur server LDAP:

sudo killall DirectoryService

Tanggal Dipublikasikan: