Jika pada postingan sebelumnya saya sudah memberitahu bagaimana cara menghubungkan sebuah client (CentOS 7 Server) dengan Luna HSM Network 7.2.0 (Bisa dibaca DI SINI), sekarang saya ingin memberitahukan cara untuk mengatur High Availability pada Luna HSM Network 7.2.0 melalui sebuah client.
Tanpa berlama-lama, berikut ini tutorialnya:
Bahan
- CentOS 7 (Client): 10.xxx.xxx.87
- Luna HSM Network 7.2.0 (HSM1)
- Luna HSM Network 7.2.0 (HSM2)
Syarat
Sepengetahuan saya (kalau salah tolong koreksi di kolom komen), ada beberapa syarat yang harus terpenuhi:
- 1 token SO yang sama
- 1 CO password yang sama
- 1 domain yang sama
Perhatian Khusus
Sebelumnya, kalian harus membaca postingan saya mengenai cara menghubungkan sebuah client dengan HSM Network LUNA 7 melalui NTLS DI SINI. Bila sudah, ada beberapa poin yang kalian harus perhatikan:
- Proses vtl create cert dijalankan 1x saja.
- copy kedua cert dari HSM dan simpan dengan nama yang berbeda
- Bila HSM tersebut adalah hasil restore, coba untuk melakukan regenerasi sertifikat dengan perintah sysconf regencert di HSM masing-masing.
- restart ulang service ntls
Konfigurasi
- Pada Client, masuk ke direktori /usr/safenet/lunaclient/bin dan eksekusi perintah lunacm. Di sini kalian harus melihat HSM mana saja yang sudah terkoneksi dengan client tersebut
cd /usr/safenet/lunaclient/bin ./lunacm
2 HSM sudah terhubung dengan klien, yaitu HSM1 dan HSM2. HSM1 terhubung di slot 0 dan HSM2 terhubung di slot 1 Dalam contoh yang saya berikan ini, ada 2 HSM yang sudah saya terhubung yaitu HSM1 dengan label PUS01 dan HSM2 dengan label PUS02.
- Berikutnya adalah dengan membuat HAGROUP dengan menggunakan password CO. Perintahnya:
hagroup creategroup -slot <ID> -label <nama_label_HA>
Menambahkan HAGROUP dengan HSM1 sebagai member pertamanya Pada contoh yang saya buat, saya menggunakan nama HA_PUS sebagai label HA dengan HSM1 sebagai member pertamanya. Bila diminta memasukkan password, masukkanlah password CO dari HSM1.
- Untuk membuktikan apakah HAGROUP tersebut berhasil dibuat, jalankan perintah:
slot list
HAGROUP berhasil dibuat Jika kalian lihat gambar di atas, terdapat slot id baru yaitu slot id 5. Itulah slot yang digunakan oleh HAGROUP.
- Usai membuat HAGROUP, berikutnya adalah menambahkan HSM2 sebagai anggota HAGROUP selanjutnya. Cara menambahkannya adalah dengan perintah:
hagroup addmember -group <nama_group> -slot <id_slot>
Menambahkan member untuk membuat High Availability pada Luna HSM Network 7.2.0 Sama seperti ketika menambahkan HSM1, saat menambahkan HSM2 pun kalian harus memasukkan password CO.
- Jika HSM1 dan HSM2 sudah terdaftar dalam HAGROUP yang sama, sekarang adalah waktunya untuk menyingkronisasi kedua HSM tersebut. Perintahnya:
hagroup synchronize -group <nama_group>
Singkronisasi kedua HSM dalam 1 HAGROUP Ketika diminta memasukkan password, masukkan password CO yang tadi kalian masukkan juga untuk HSM1 dan HSM2. Pastikan hasilnya tidak error.
- Gunakan perintah hagroup listGroups untuk melihat detil dari HA
Detil Hagroup Saat menjalankan perintah hagroup listGroups, kalian akan diminta memasukkan password. Masukkan password yang sama seperti saat kalian melakukan assign member HA.
- Masih dari hagroup listGroups, pastikan auto recovery: enabled dan maximum auto recovery retry: infinite. Caranya:
hagroup retry -c -1
Set to infinite -1 merupakan opsi untuk mengubah maximum retry menjadi tidak terbatas. Jadi HA akan terus mencoba melakukan recovery ketika terjadi kegagalan.
- Untuk recovery mode, ada 2 mode yang bisa kalian pilih yaitu activeBasic dan activeEnhanced. Untuk menggantinya (silakan pilih yang kalin butuhkan), jalankan perintah:
hagroup m -m <opsi>
memilih recovery mode, apakah activeBasic atau activeEnhanced - Untuk membuat agar client hanya menggunakan slot HAGROUP saat melakukan uji coba HA, jalankan perintah:
hagroup haonly -enable hagroup haonly -show
HA only sudah diaktifkan dan sistem sudah terkonfigurasi hanya menunjukkan ha slot saja
Uji Coba
Untuk uji coba HA-nya berjalan atau tidak, pertama-tama kalian harus membuka 5 tab, yaitu:
- tab1: client yang membuka lunacm
- tab2: HSM1 via ssh
- tab3: HSM2 via ssh
- tab4: client yang membuka halog
- tab5: client yang membuka cmu list
- tab6: client yang menjalankan ckdemo
Langkah yang perlu dilakukan untuk uji coba HA:
- Buka tab1 dan masuk ke dalam lunacm. Pastikan kalau memang slotnya masih lengkap (slot HSM1, slot HSM2, dan slot HA)
pemeriksaan slot - Masih di tab1. Non-aktifkan HA Only untuk membuat kalian memilih slot HA secara manual. Caranya:
cd /usr/safenet/lunaclient/bin/ ./lunacm hagroup haonly -disable
Menonaktifkan haonly Setelah dibuka, memeriksa slotnya, dan menonaktifkan HA Only, biarkan tab ini tetap terbuka. Jangan keluar dari lunacm
- Buka tab4 untuk melihat log HA.
- Pada tab6, jalankan perintah ckdemo :
cd /usr/safenet/lunaclient/bin ./ckdemo
Pilih 1 untuk membuka sesi dan kemudian pilih slot HA (virtual)
open session dan memilih slot - Masuk ke tab3 untuk mematikan service ntls. Untuk mematikannya, jalankan perintah:
service stop ntls
mematikan service ntls di HSM2 - Kembali ke tab6 dan sekarang adalah waktunya untuk menambahkan objek:
- Pilih 98 untuk membuka opsi
Pilih 98 untuk membuka opsi - Pilih 16 untu k role support lalu 0 untuk keluar
Pilih role support - Selanjutnya adalah login sebagai CO. Caranya pilih 3→1→Enter PIN (password untuk CO)
login sebagai CO - Kemudian pilih 45 untuk melakukan simple generate key dan pilih AES sebagai jenis key-nya.
Melakukan generate key
- Pilih 98 untuk membuka opsi
- Usai berhasil membuat key, sekarang waktunya untuk memastikan kalau memang key itu ada. Pada tab5, jalankan perintah cmu list dan pilih slot0 alias milik HSM1. (Seharusnya cuma ada 2 slot saja, sebab service ntls ke HSM2 sedang dimatikan)
AES Key berhasil dibuat di slot 0 melalui slot HA dari ckdemo cd /usr/safenet/lunaclient/bin ./cmu list 0 [masukkan password untuk slot 0]
- Berikutnya adalah kembali ke tab3 dan jalankan service ntls. Caranya:
service start ntls
start ntls - Masuk ke tab4 dan perhatikan log-nya dengan seksama. Tunggu selama 1 menit untuk memastikan auto recovery berjalan dengan baik. Pastikan ada tulisan recovery attempt #x suceeded
Indikasi kalau autorecovery berjalan dengan baik - Untuk membuktikannya, kembali ke tab 5. Masuk ke dalam slot1 (slot ke HSM2) melalui cmu list dan lihat apakah sebuah AES Key juga terbentuk di slot tersebut
cd /usr/safenet/lunaclient/bin ./cmu list 1 [masukkan password untuk slot 1]
AES Key belum muncul. sinkronisasi belum berjalan dengan baik Aes Key sudah muncul, yang artinya auto recovery-nyaa berjalan dengan baik
Itu tadi sedikit informasi tentang bagaimana mengatur High Availability pada Luna HSM Network 7.2.0. dan juga mengujinya. Ya, yang berfungsi sebagai HA atau semacam load balancer-nya di sini adalah client.
Semoga informasinya berguna ya 🙂
Tambahan
Jika High Availability pada Luna HSM Network 7.2.0 tidak berjalan dengan baik, atau saat diperiksa jumlah objek sertifikat yang ada di HSM1 dan HSM2 tidak sama, kalian bisa melakukan singkronisasi manual dengan perintah:
hagroup synchronize -group <nama_group>
