Tema ini menjelaskan cara menggunakan Modul Keamanan Perangkat Keras Cloud.
Peringatan
Untuk memastikan keamanan data pada modul keamanan perangkat keras (HSM), hindari penggunaan kunci uji di lingkungan produksi.
Jika Anda ingin membuat kluster HSM untuk instance Key Management Service (KMS) tipe manajemen kunci perangkat keras, lihat Konfigurasikan kluster HSM untuk instance KMS tipe manajemen kunci perangkat keras.
Prasyarat
Sebuah modul keamanan perangkat keras (HSM) telah dibeli. Untuk informasi lebih lanjut, lihat Beli HSM.
Instance ECS dengan sistem operasi CentOS 8 atau Alibaba Cloud Linux telah dibeli. Instance ECS dan HSM berada dalam VPC yang sama. Untuk informasi lebih lanjut, lihat Memulai dengan instance Linux.
CatatanInstance ECS digunakan untuk menginstal alat manajemen HSM, bukan sebagai server bisnis.
Langkah 1: Aktifkan HSM sebagai HSM utama
Kluster HSM mencakup satu HSM utama dan beberapa HSM non-utama. Sebelum membuat kluster HSM, Anda harus mengaktifkan HSM sebagai HSM utama.
Pergi ke halaman Audit Keamanan dari konsol Modul Keamanan Perangkat Keras Cloud. Di bilah navigasi atas, pilih wilayah.
Di halaman VSMs, cari HSM yang telah dibuat dan klik Enable pada kolom Actions.
Langkah 2: Buat dan aktifkan kluster HSM
Dalam sebuah kluster, HSM yang berada di zona yang sama menggunakan subnet Virtual Private Cloud (VPC) yang sama.
Di halaman VSMs, temukan HSM utama dan klik Buat Kluster di kolom Tindakan.
Di panel Create and Activate Cluster, selesaikan langkah Buat Kluster, lalu klik Next.
Parameter
Deskripsi
Cluster Name
Nama kluster. Nama tersebut harus unik dan tidak boleh melebihi 24 karakter panjangnya.
Configure Whitelist
Rentang alamat IP yang diizinkan untuk mengakses kluster. Jika Anda tidak mengonfigurasi daftar putih, semua alamat IP diizinkan untuk mengakses kluster. Jika Anda mengonfigurasi daftar putih, hanya alamat IP dalam daftar putih yang diizinkan untuk mengakses kluster.
Alamat IP dan blok CIDR didukung. Anda dapat menentukan satu alamat IP atau satu blok CIDR di setiap baris. Anda dapat menentukan hingga 10 baris secara total.
PentingDaftar putih kluster memiliki prioritas lebih tinggi daripada daftar putih HSM dalam kluster. Misalnya, jika Anda menambahkan 10.10.10.10 ke daftar putih HSM dan menambahkan 172.16.0.1 ke daftar putih kluster yang mencakup HSM tersebut, Anda hanya dapat mengakses HSM dari 172.16.0.1.
Konfigurasi daftar putih 0.0.0.0/0 tidak didukung. Jika Anda memasukkan 0.0.0.0/0, permintaan dari semua alamat IP akan diizinkan.
Untuk alasan keamanan, kami menyarankan agar Anda tidak mengizinkan permintaan dari semua alamat IP. Jika Anda perlu mengizinkan permintaan dari semua alamat IP, jangan konfigurasikan daftar putih.
Specify vSwitches
vSwitches yang perlu Anda pilih berdasarkan kebutuhan bisnis Anda.
Dalam kluster HSM, Anda harus mengonfigurasi setidaknya dua vSwitches untuk membuat dan mengaktifkan kluster.
Di panel Create and Activate Cluster, selesaikan langkah Aktifkan Kluster.
Impor sertifikat kluster.
Di bagian Upload Cluster Certificate, klik Cluster CSR Certificate untuk mengunduh file permintaan penandatanganan sertifikat (CSR). Setelah itu, unggah file CSR ke instance ECS. Dalam contoh ini, file CSR diberi nama cluster.csr.
Buat kunci privat dan konfigurasikan kata sandi untuk kunci privat sesuai petunjuk. Dalam contoh ini, kunci privat dan kata sandi disimpan dalam file issuerCA.key.
openssl genrsa -aes256 -out issuerCA.key 2048Buat sertifikat tanda tangan sendiri. Dalam contoh ini, sertifikat tanda tangan sendiri disimpan dalam file issuerCA.crt.
openssl req -new -x509 -days 3652 -key issuerCA.key -out issuerCA.crtTandatangani CSR dan simpan sertifikat yang diterbitkan dalam file cluster.crt.
CatatanDalam langkah ini, file cluster.csr, issuerCA.key, dan issuerCA.crt digunakan.
openssl x509 -req -in cluster.csr -days 3652 -CA issuerCA.crt -CAkey issuerCA.key -set_serial 01 -out cluster.crtBuka langkah Aktivasi Kluster di konsol Modul Keamanan Perangkat Keras Cloud, impor sertifikat kluster, lalu klik Submit.
Di bagian Enter the issuer certificate in the PEM format, masukkan isi file issuerCA.crt.
Di bagian Enter the issued cluster certificate in the PEM format, masukkan isi file cluster.crt.
Inisialisasi HSM utama.
PentingAnda hanya dapat menginisialisasi HSM utama menggunakan alat manajemen HSM. Alat ini hanya dapat diinstal di sistem operasi Linux.
Langkah
Deskripsi
Langkah 1: Unduh alat manajemen HSM.
Berdasarkan wilayah tempat HSM berada, versi alat berbeda.
Wilayah Indonesia (Jakarta)
CentOS
Metode 1: Unduh alat manajemen instance HSM (hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm).
Metode 2: Di halaman VSMs, temukan HSM yang diperlukan dan klik ikon
di kolom Spesifikasi.Metode 3: Di halaman Activated Cluster, klik Download HSM Management Tool.
Debian: Unduh alat manajemen instance HSM (hsm-client-v2.09.07.02-1.202411041707.x86_64.deb).
Semua wilayah di luar Indonesia (Jakarta)
CentOS
Metode 1: Unduh alat manajemen HSM (hsm-client-v2.03.15.10-1.x86_64.rpm).
Metode 2: Jalankan perintah berikut untuk mengunduh alat manajemen HSM. Operasi ini memerlukan instance ECS terhubung ke Internet.
wget -O hsm-client-v2.03.15.10-1.x86_64.rpm 'https://yundun-hsm4.oss-ap-southeast-1.aliyuncs.com/hsm-client-v2.03.15.10-1.x86_64.rpm'Metode 3: Di halaman VSMs, temukan HSM yang diperlukan dan klik ikon
di kolom Spesifikasi.Metode 4: Di halaman Activate Cluster, klik Download HSM Management Tool.
Debian: Unduh alat manajemen HSM (hsm-client-2.03.15.10-20240710_1.x86_64.deb).
Langkah 2: Instal alat manajemen HSM.
Jalankan perintah berikut untuk menginstal program dan file konfigurasi klien di direktori /opt/hsm:
CentOS
Ganti <TOOL_NAME> dalam contoh dengan nama alat sebenarnya, seperti hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm.
sudo yum install -y <TOOL_NAME>Debian
Ganti <TOOL_NAME> dalam contoh dengan nama alat sebenarnya, seperti hsm-client-2.03.15.10-20240710_1.x86_64.deb.
sudo dpkg -i <TOOL_NAME>
Langkah 3: Ubah file konfigurasi klien.
Ubah item konfigurasi dalam servers di file /opt/hsm/etc/hsm_mgmt_tool.cfg.
Ganti name dan hostname dengan alamat IP privat HSM utama di halaman VSMs.
Ganti owner_cert_path dengan jalur ke file issuerCA.crt.
Langkah 4: Masuk ke HSM utama dan kueri daftar pengguna.
Jalankan perintah berikut untuk masuk ke HSM utama:
/opt/hsm/bin/hsm_mgmt_tool /opt/hsm/etc/hsm_mgmt_tool.cfgJalankan perintah
listUsersuntuk menanyakan pengguna.cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO
Langkah 5: Ubah precrypto officer (PRECO) menjadi crypto officer (CO).
Jalankan perintah
loginHSMuntuk masuk ke HSM utama sebagai PRECO.server0>loginHSM PRECO admin password loginHSM successJalankan perintah
changePswduntuk mengubah kata sandi PRECO. Setelah Anda mengubah kata sandi, PRECO berubah menjadi CO.cloudmgmt>changePswd PRECO admin <NewPassword> *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. Cav server does NOT synchronize these changes with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Changing password for admin(PRECO) on 1 nodesJalankan perintah
listUsersuntuk menanyakan pengguna dan periksa apakah PRECO berubah menjadi CO.cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:2 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NO
Langkah 6: Buat pengguna kripto (CU).
PeringatanSebelum Anda menambahkan HSM non-utama ke kluster, Anda harus membuat CU. Jika tidak, informasi CU tidak dapat disinkronkan ke HSM non-utama.
Jalankan perintah
createUseruntuk membuat CU.Nama pengguna dan kata sandi CU dapat berisi karakter ASCII. Nama pengguna dapat memiliki panjang hingga 20 karakter. Kata sandi dapat memiliki panjang 8 hingga 32 karakter.
Dalam contoh ini, nama pengguna adalah
crypto_user. Anda dapat menentukan nama pengguna berdasarkan kebutuhan bisnis Anda.PentingJika Anda mengonfigurasi kluster HSM untuk instance tipe manajemen kunci perangkat keras, Anda dapat menentukan
kmsusersebagai nama pengguna.createUser CU crypto_user <enter password>Jalankan perintah
listUsersuntuk memeriksa apakah CU telah dibuat.Output yang diharapkan:
cloudmgmt>listUsers Users on server 0(172.16.XX.XX): Number of users found:3 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 CO admin NO 0 NO 2 AU app_user NO 0 NO 3 CU crypto_user NO 0 NO
Langkah 7: Periksa status HSM utama.
Pada langkah Activate Cluster, klik ikon
untuk memperbarui status HSM utama. Kemudian, klik Next.
Pada langkah Tambah HSM, tambahkan HSM non-utama ke kluster sesuai petunjuk, lalu klik Complete.
Anda dapat membeli HSM tambahan dan menambahkan HSM ke kluster berdasarkan kebutuhan bisnis Anda.
Langkah 3: Mulai klien HSM hsm_proxy
Ubah file konfigurasi klien HSM.
Di direktori instalasi alat manajemen HSM, temukan file /opt/hsm/etc/hsm_proxy.cfg. Ubah server.hostname menjadi alamat IP VPC tempat instance saat ini berada, dan client.e2e_owner_crt_path menjadi jalur file issuerCA.crt.
CatatanissuerCA.crt adalah sertifikat tanda tangan sendiri yang dibuat saat Anda mengaktifkan kluster. Untuk informasi lebih lanjut, lihat Langkah 2: Buat dan aktifkan kluster.
{ "ssl": { "certificate": "/opt/hsm/etc/client.crt", "pkey": "/opt/hsm/etc/client.key", "CApath": "/opt/hsm/etc/certs", "server_ssl": "yes", "server_ch_ssl_ciphers": "default" }, "client": { "socket_type" : "UNIXSOCKET", "tcp_port" : 1111, "zoneid" : 0, "workers" : 1, "daemon_id" : 1, "reconnect_attempts": -1, "reconnect_interval": 1, "log_level": "INFO", "sslreneg": 0, "CriticalAlertScript": "", "e2e_owner_crt_path" : "<issuerCA.crt file path>", "create_object_minimum_nodes" : 1, "logfiles_location" : "" }, "loadbalance" : { "enable" : "yes", "prefer_same_zone": "no", "success_rate_weight" : 1, "relative_idleness_weight" : 1 }, "dualfactor": { "enable" : "no", "port" : 2225, "certificate" : "certificate.crt", "pkey" : "pkey.pem", "dualfactor_ssl": "yes", "dualfactor_ch_ssl_ciphers": "default" }, "server": { "hostname": "<instance ip>", "port": 2224 } }Mulai klien HSM (hsm_proxy) dan atur jalur file log.
Dalam contoh ini, log disimpan dalam file liquidSecurity.1.WKCrty.log.
/opt/hsm/bin/hsm_proxy /opt/hsm/etc/hsm_proxy.cfg logfiles_location is not specified, logs will be available in current directory Logs will be available in liquidSecurity.1.WKCrty.log filePeriksa apakah klien HSM terhubung.
Gunakan perintah
tailuntuk mendapatkan file log hsm_proxy dan periksa apakah hsm_proxy terhubung. Misalnya, eksekusi perintahtail liquidSecurity.1.WKCrty.log. Jika e2e_handle_client_request:HSM FIPS STATE 2 muncul di hasil, koneksi berhasil.tail liquidSecurity.1.WKCrty.log 2023-10-28T13:33:05Z liquidSecurity INF: check_preferred_srv_status_noclock: New preferred server node id:0 2023-10-28T13:33:05Z liquidSecurity INF: do_e2e_encryption_handshake: Trying to login to server as new server connection is established 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Got Authorize session response 2023-10-28T13:33:05Z liquidSecurity INF: get_partition_info: Get pHSM Info using e2e mgmtch 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Authorize session SUCCESS 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Got Partition Info 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: GetPartitionInfo success 0 : HSM Return: SUCCESS 2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: HSM FIPS STATE 2 2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Initializing events 2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Ready !
Langkah 4: Buat kunci
Jika Anda mengonfigurasi kluster mesin kriptografi untuk instance KMS tipe manajemen kunci perangkat keras, lewati langkah ini. Untuk informasi lebih lanjut, lihat Konfigurasikan kluster mesin kriptografi untuk instance KMS tipe manajemen kunci perangkat keras.
Mulai utilitas baris perintah key_mgmt_tool.
/opt/hsm/bin/key_mgmt_toolEksekusi perintah
loginHSMuntuk masuk ke HSM sebagai pengguna CU.Command: loginHSM -u CU -s crypto_user -p <enter password> Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESSEksekusi perintah
genSymKeyuntuk menghasilkan kunci simetris.Command: genSymKey -l testkey -t 31 -s 32 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 6 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESSEksekusi perintah
findKeyuntuk menanyakan kunci yang Anda buat.Command: findKey Total number of keys present: 1 Number of matching keys from start index 0::0 Handles of matching keys: 6 Cluster Status: Node id 0 status: 0x00000000 : HSM Return: SUCCESS Cfm3FindKey returned: 0x00 : HSM Return: SUCCESSEksekusi perintah
exituntuk keluar dari utilitas baris perintah key_mgmt_tool.Command: exit
Langkah 5: Enkripsi dan dekripsi data menggunakan kluster HSM
Jika Anda mengonfigurasi kluster HSM untuk instance KMS tipe manajemen kunci perangkat keras, lewati langkah ini. Untuk informasi lebih lanjut, lihat Konfigurasikan kluster HSM untuk instance KMS tipe manajemen kunci perangkat keras.
Untuk menggunakan kluster HSM, Anda dapat memanfaatkan OpenSSL Dynamic Engine, penyedia JCE, atau pustaka PKCS#11. Untuk informasi lebih lanjut, lihat OpenSSL Dynamic Engine, JCE, atau Pustaka PKCS #11.
Referensi
Untuk informasi lebih lanjut tentang cara menambahkan HSM ke atau menghapus HSM dari kluster, memodifikasi nama kluster, dan memodifikasi daftar putih akses, lihat Buat dan aktifkan kluster HSM yang divalidasi NIST FIPS.