Pengaturan High Availability pada Luna HSM Network 7.2.0

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

  1. CentOS 7 (Client): 10.xxx.xxx.87
  2. Luna HSM Network 7.2.0 (HSM1)
  3. Luna HSM Network 7.2.0 (HSM2)

Syarat

Sepengetahuan saya (kalau salah tolong koreksi di kolom komen), ada beberapa syarat yang harus terpenuhi:

  1. 1 token SO yang sama
  2. 1 CO password yang sama
  3. 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:

  1. Proses vtl create cert dijalankan 1x saja.
  2. copy kedua cert dari HSM dan simpan dengan nama yang berbeda
  3. Bila HSM tersebut adalah hasil restore, coba untuk melakukan regenerasi sertifikat dengan perintah sysconf regencert di HSM masing-masing.
  4. restart ulang service ntls

Konfigurasi

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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
  9. 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:

  1. Buka tab1 dan masuk ke dalam lunacm. Pastikan kalau memang slotnya masih lengkap (slot HSM1, slot HSM2, dan slot HA)

    pemeriksaan slot
  2. 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

  3. Buka tab4 untuk melihat log HA.
  4. 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
  5. Masuk ke tab3 untuk mematikan service ntls. Untuk mematikannya, jalankan perintah:
    service stop ntls

    mematikan service ntls di HSM2
  6. 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
  7.  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]
  8. Berikutnya adalah kembali ke tab3 dan jalankan service ntls. Caranya:
    service start ntls

    start ntls
  9. 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
  10.  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>
sinkronisasi HAGroup berhasil

Leave a Reply

Your email address will not be published. Required fields are marked *