Siapkan timbal balik TLS antara klien dan AWS CloudHSM (disarankan) - AWS CloudHSM

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siapkan timbal balik TLS antara klien dan AWS CloudHSM (disarankan)

Topik berikut menjelaskan langkah-langkah yang harus Anda selesaikan untuk mengaktifkan timbal balik TLS (mTLS) antara klien dan AWS CloudHSM. Saat ini fitur ini tersedia secara eksklusif di hsm2m.medium. Untuk informasi selengkapnya tentang HSM jenis, lihatAWS CloudHSM mode cluster.

Langkah 1. Buat dan daftarkan jangkar kepercayaan ke HSM

Jangkar kepercayaan harus dibuat dan didaftarkan ke HSM sebelum mengaktifkan m. TLS Ini adalah proses dua langkah:

Buat kunci pribadi dan sertifikat root yang ditandatangani sendiri

catatan

Untuk kluster produksi, kunci yang akan Anda buat harus dibuat dengan cara yang aman menggunakan sumber keacakan tepercaya. Kami menyarankan Anda menggunakan offsite yang aman dan offline HSM atau yang setara. Simpan kunci dengan aman.

Untuk pengembangan dan pengujian, Anda dapat menggunakan alat apa pun yang nyaman (seperti BukaSSL) untuk membuat kunci dan menandatangani sendiri sertifikat root. Anda akan memerlukan kunci dan sertifikat root untuk menandatangani sertifikat klien di enable m TLS for AWS CloudHSM.

Contoh berikut menunjukkan cara membuat kunci pribadi dan sertifikat root yang ditandatangani sendiri dengan Open SSL.

contoh — Buat kunci pribadi dengan Buka SSL

Gunakan perintah berikut untuk membuat RSA kunci 4096-bit yang dienkripsi dengan algoritma -256. AES Untuk menggunakan contoh ini, ganti <mtls_ca_root_1.key> dengan nama file tempat Anda ingin menyimpan kuncinya.

$ openssl genrsa -out <mtls_ca_root_1.key> -aes256 4096 Generating RSA private key, 4096 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for mtls_ca_root_1.key: Verifying - Enter pass phrase for mtls_ca_root_1.key:
contoh — Buat sertifikat root yang ditandatangani sendiri dengan Open SSL

Gunakan perintah berikut untuk membuat sertifikat root yang ditandatangani sendiri bernama mtls_ca_root_1.crt dari kunci pribadi yang baru saja Anda buat. Sertifikat ini berlaku selama 25 tahun (9130 hari). Baca petunjuk di layar dan ikuti prompt-nya.

$ openssl req -new -x509 -days 9130 -key mtls_ca_root_1.key -out mtls_ca_root_1.crt Enter pass phrase for mtls_ca_root_1.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

Daftarkan jangkar kepercayaan ke HSM

Setelah membuat sertifikat root yang ditandatangani sendiri, admin harus mendaftarkannya sebagai jangkar kepercayaan dengan cluster. AWS CloudHSM

Untuk mendaftarkan jangkar kepercayaan dengan HSM
  1. Gunakan perintah berikut untuk memulai Cloud HSMCLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Menggunakan Cloud HSMCLI, masuk sebagai admin.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Gunakan Daftarkan jangkar kepercayaan dengan Cloud HSM CLI perintah untuk mendaftarkan jangkar kepercayaan. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah help cluster mtls register-trust-anchor.

contoh — Daftarkan jangkar kepercayaan dengan cluster AWS CloudHSM

Contoh berikut menunjukkan cara menggunakan cluster mtls register-trust-anchor perintah di Cloud HSM CLI untuk mendaftarkan jangkar kepercayaan ke file. HSM Untuk menggunakan perintah ini, admin harus login ke fileHSM. Ganti nilai-nilai ini dengan nilai Anda sendiri:

aws-cloudhsm > cluster mtls register-trust-anchor --path </path/mtls_ca_root_1.crt> { "error_code": 0, "data": { "trust_anchor": { "certificate-reference": "0x01", "certificate": "<PEM Encoded Certificate>", "cluster-coverage": "full" } } }
catatan

AWS CloudHSM mendukung pendaftaran sertifikat perantara sebagai jangkar kepercayaan. Dalam kasus seperti itu, seluruh file rantai sertifikat PEM yang dikodekan perlu didaftarkan keHSM, dengan sertifikat dalam urutan hierarkis.

AWS CloudHSM mendukung rantai sertifikat panjang 4 dengan kunci 2048-bit, rantai sertifikat panjang 3 dengan RSA kunci 3072-bit, rantai sertifikat panjang 3 dengan RSA kunci 4096-bit, dan rantai sertifikat panjang 6 dengan RSA kunci EC.

Setelah berhasil mendaftarkan jangkar kepercayaan, Anda dapat menjalankan cluster mtls list-trust-anchors perintah untuk memeriksa jangkar kepercayaan terdaftar saat ini, seperti yang ditunjukkan di bawah ini:

aws-cloudhsm > cluster mtls list-trust-anchors { "error_code": 0, "data": { "trust_anchors": [ { "certificate-reference": "0x01", "certificate": "<PEM Encoded Certificate>", "cluster-coverage": "full" } ] } }
catatan

Jumlah maksimum jangkar kepercayaan dapat didaftarkan ke hsm2m.medium adalah dua (2).

Langkah 2. Aktifkan m TLS untuk AWS CloudHSM

Untuk mengaktifkan m TLS for AWS CloudHSM, Anda perlu membuat kunci pribadi dan sertifikat klien yang ditandatangani oleh sertifikat root yang kami buat di Buat dan daftarkan jangkar kepercayaan ke HSM, lalu gunakan salah satu alat konfigurasi Klien SDK 5 untuk mengatur jalur kunci pribadi dan jalur rantai sertifikat klien.

Buat kunci pribadi dan rantai sertifikat klien

contoh — Buat kunci pribadi dengan Buka SSL

Gunakan perintah berikut untuk membuat RSA kunci 4096-bit yang dienkripsi dengan algoritma -256. AES Untuk menggunakan contoh ini, ganti <ssl-client.key> dengan nama file tempat Anda ingin menyimpan kuncinya.

$ openssl genrsa -out <ssl-client.key> -aes256 4096 Generating RSA private key, 4096 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for ssl-client.key: Verifying - Enter pass phrase for ssl-client.key:
contoh — Buat permintaan penandatanganan sertifikat (CSR) dengan Open SSL

Gunakan perintah berikut untuk menghasilkan permintaan penandatanganan sertifikat (CSR) dari kunci pribadi yang baru saja Anda buat. Baca petunjuk di layar dan ikuti prompt-nya.

$ openssl req -new -key <ssl-client.key> -out <ssl-client.csr> Enter pass phrase for ssl-client.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
contoh — Tanda tangani CSR dengan sertifikat root

Gunakan perintah berikut untuk menandatangani CSR dengan sertifikat root yang kami buat dan daftarkan di Buat dan daftarkan jangkar kepercayaan ke HSM dan buat sertifikat klien bernamassl-client.crt. Sertifikat ini berlaku selama 5 tahun (1826 hari).

$ openssl x509 -req -days 1826 -in <ssl-client.csr> -CA <mtls_ca_root_1.crt> -CAkey <mtls_ca_root_1.key> -CAcreateserial -out <ssl-client.crt>
contoh — Buat rantai sertifikat klien

Gunakan perintah berikut untuk menggabungkan sertifikat klien dan sertifikat root yang kami buat dan daftarkan di Buat dan daftarkan jangkar kepercayaan ke HSM dan buat rantai sertifikat klien bernamassl-client.pem, yang akan digunakan untuk mengkonfigurasi pada langkah berikutnya.

$ cat <ssl-client.crt> <mtls_ca_root_1.crt> > <ssl-client.pem>
catatan

Jika Anda mendaftarkan sertifikat perantara di Buat dan daftarkan jangkar kepercayaan ke jangkar kepercayaan HSM as, pastikan untuk menggabungkan sertifikat klien dengan seluruh rantai sertifikat untuk membuat rantai sertifikat klien.

Konfigurasikan m TLS untuk Klien SDK 5

Gunakan salah satu alat konfigurasi Klien SDK 5 untuk mengaktifkan timbal balik TLS dengan menyediakan jalur kunci klien yang tepat dan jalur rantai sertifikat klien. Untuk informasi selengkapnya tentang alat konfigurasi untuk Klien SDK 5, lihatAWS CloudHSM Klien SDK 5 mengkonfigurasi alat.

PKCS #11 library
Untuk menggunakan sertifikat kustom dan kunci untuk TLS otentikasi HSM timbal balik klien dengan Klien SDK 5 di Linux
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc $ sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Gunakan alat konfigurasi untuk menentukan ssl-client.pem dan ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-pkcs11 \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Untuk menggunakan sertifikat khusus dan kunci untuk otentikasi HSM timbal balik TLS klien dengan Klien SDK 5 di Windows
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan ssl-client.pem danssl-client.key.

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
OpenSSL Dynamic Engine
Untuk menggunakan sertifikat kustom dan kunci untuk TLS otentikasi HSM timbal balik klien dengan Klien SDK 5 di Linux
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Gunakan alat konfigurasi untuk menentukan ssl-client.pem dan ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-dyn \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
JCE provider
Untuk menggunakan sertifikat kustom dan kunci untuk TLS otentikasi HSM timbal balik klien dengan Klien SDK 5 di Linux
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Gunakan alat konfigurasi untuk menentukan ssl-client.pem dan ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-jce \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Untuk menggunakan sertifikat khusus dan kunci untuk otentikasi HSM timbal balik TLS klien dengan Klien SDK 5 di Windows
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan ssl-client.pem danssl-client.key.

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key
CloudHSM CLI
Untuk menggunakan sertifikat kustom dan kunci untuk TLS otentikasi HSM timbal balik klien dengan Klien SDK 5 di Linux
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    $ sudo cp ssl-client.pem /opt/cloudhsm/etc sudo cp ssl-client.key /opt/cloudhsm/etc
  2. Gunakan alat konfigurasi untuk menentukan ssl-client.pem dan ssl-client.key.

    $ sudo /opt/cloudhsm/bin/configure-cli \ --client-cert-hsm-tls-file /opt/cloudhsm/etc/ssl-client.pem \ --client-key-hsm-tls-file /opt/cloudhsm/etc/ssl-client.key
Untuk menggunakan sertifikat khusus dan kunci untuk otentikasi HSM timbal balik TLS klien dengan Klien SDK 5 di Windows
  1. Salin kunci dan sertifikat Anda ke direktori yang sesuai.

    cp ssl-client.pem C:\ProgramData\Amazon\CloudHSM\ssl-client.pem cp ssl-client.key C:\ProgramData\Amazon\CloudHSM\ssl-client.key
  2. Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan ssl-client.pem danssl-client.key.

    & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" ` --client-cert-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.pem ` --client-key-hsm-tls-file C:\ProgramData\Amazon\CloudHSM\ssl-client.key

Langkah 3. Tetapkan TLS penegakan m untuk AWS CloudHSM

Setelah mengkonfigurasi dengan salah satu alat konfigurasi Klien SDK 5, koneksi antara klien dan AWS CloudHSM akan saling menguntungkan TLS di cluster. Namun, menghapus jalur kunci pribadi dan jalur rantai sertifikat klien dari file konfigurasi akan mengubah koneksi menjadi biasa TLS lagi. Anda dapat menggunakan Cloud HSM CLI untuk mengatur penegakan mtls di cluster dengan menyelesaikan langkah-langkah berikut:

  1. Gunakan perintah berikut untuk memulai Cloud HSMCLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Menggunakan Cloud HSMCLI, masuk sebagai admin.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
    catatan

    1. Pastikan Anda telah mengonfigurasi Cloud HSM CLI dan memulai Cloud di HSM CLI bawah TLS koneksi m.

    2. Anda harus masuk sebagai pengguna admin default dengan nama pengguna sebagai admin sebelum menetapkan m TLS penegakan..

  3. Gunakan Atur tingkat TLS penegakan m dengan Cloud HSM CLI perintah untuk mengatur penegakan hukum. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah help cluster mtls set-enforcement.

    contoh — Tetapkan m TLS penegakan dengan AWS CloudHSM cluster

    Contoh berikut menunjukkan cara menggunakan cluster mtls set-enforcement perintah di Cloud HSM CLI untuk mengatur TLS penegakan m denganHSM. Untuk menggunakan perintah ini, admin dengan nama pengguna sebagai admin harus login ke fileHSM.

    aws-cloudhsm > cluster mtls set-enforcement --level cluster { "error_code": 0, "data": { "message": "Mtls enforcement level set to Cluster successfully" } }
    Awas

    Setelah Anda menerapkan TLS penggunaan m di cluster, semua TLS koneksi non-m yang ada akan dihapus dan Anda hanya dapat terhubung ke cluster dengan sertifikat mTLS.