

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

# Siapkan TLS timbal balik antara klien dan AWS CloudHSM (disarankan)
<a name="getting-started-setup-mtls"></a>

Topik berikut menjelaskan langkah-langkah yang harus Anda selesaikan untuk mengaktifkan Transport Layer Security (mTLS) bersama antara klien dan AWS CloudHSM.

**Pertimbangan-pertimbangan**
+ Saat ini fitur ini tersedia secara eksklusif di hsm2m.medium. Untuk informasi lebih lanjut tentang jenis HSM, lihat[AWS CloudHSM mode cluster](cluster-hsm-types.md).
+ mTL tidak didukung untuk toko AWS CloudHSM utama yang digunakan. AWS Key Management Service

**Topics**
+ [Langkah 1. Buat dan daftarkan jangkar kepercayaan ke HSM](#setup-mtls-create-and-register-trust-anchor)
+ [Langkah 2. Aktifkan mTL untuk AWS CloudHSM](#getting-start-setup-mtl-sdk)
+ [Langkah 3. Tetapkan penegakan mTLS untuk AWS CloudHSM](#getting-start-setup-mtls-enforcement)

## Langkah 1. Buat dan daftarkan jangkar kepercayaan ke HSM
<a name="setup-mtls-create-and-register-trust-anchor"></a>

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

**Topics**
+ [Buat kunci pribadi dan sertifikat root yang ditandatangani sendiri](#setup-mtls-create-trust-anchor)
+ [Daftarkan jangkar kepercayaan ke HSM](#setup-mtls-register-trust-anchor)

### Buat kunci pribadi dan sertifikat root yang ditandatangani sendiri
<a name="setup-mtls-create-trust-anchor"></a>

**catatan**  
Untuk cluster produksi, kunci yang akan Anda buat harus dibuat dengan cara yang aman menggunakan sumber keacakan tepercaya. Kami menyarankan Anda menggunakan HSM offsite dan offline yang aman atau setara. Simpan kunci dengan aman.  
Untuk pengembangan dan pengujian, Anda dapat menggunakan alat apa pun yang nyaman (seperti OpenSSL) untuk membuat kunci dan menandatangani sendiri sertifikat root. Anda akan memerlukan sertifikat kunci dan root untuk menandatangani sertifikat klien di [mTL aktifkan untuk AWS CloudHSM](#getting-start-setup-mtl-sdk).

Contoh berikut menunjukkan cara membuat kunci pribadi dan sertifikat root yang ditandatangani sendiri dengan [OpenSSL](https://www.openssl.org/). 

**Example — Membuat kunci privat dengan OpenSSL**  
Gunakan perintah berikut untuk membuat kunci RSA 4096-bit yang dienkripsi dengan algoritma AES-256. Untuk menggunakan contoh ini, ganti *<mtls\$1ca\$1root\$11.key>* dengan nama file tempat Anda ingin menyimpan kunci.  

```
$ 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:
```

**Example — Buat sertifikat root yang ditandatangani sendiri dengan OpenSSL**  
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
<a name="setup-mtls-register-trust-anchor"></a>

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 CloudHSM CLI:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Menggunakan CloudHSM CLI, masuk sebagai admin.

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

1. Gunakan ** [Daftarkan jangkar kepercayaan dengan CloudHSM CLI](cloudhsm_cli-cluster-mtls-register-trust-anchor.md) ** perintah untuk mendaftarkan jangkar kepercayaan. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah **help cluster mtls register-trust-anchor**.

**Example — Daftarkan jangkar kepercayaan dengan cluster AWS CloudHSM**  
Contoh berikut menunjukkan cara menggunakan **cluster mtls register-trust-anchor** perintah di CloudHSM CLI untuk mendaftarkan jangkar kepercayaan ke HSM. Untuk menggunakan perintah ini, admin harus login ke HSM. 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"
    }
  }
}
```
AWS CloudHSM mendukung pendaftaran sertifikat perantara sebagai jangkar kepercayaan. Dalam kasus seperti itu, seluruh file rantai sertifikat yang dikodekan PEM perlu didaftarkan ke HSM, dengan sertifikat dalam urutan hierarkis.   
 AWS CloudHSM mendukung rantai sertifikat 6980 byte.
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"
      }
    ]
  }
}
```
 Jumlah maksimum jangkar kepercayaan dapat didaftarkan ke hsm2m.medium adalah dua (2).

## Langkah 2. Aktifkan mTL untuk AWS CloudHSM
<a name="getting-start-setup-mtl-sdk"></a>

Untuk mengaktifkan mTL 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](#setup-mtls-create-and-register-trust-anchor) alat konfigurasi Client SDK 5 untuk mengatur jalur kunci pribadi dan jalur rantai sertifikat klien. 

**Topics**
+ [Buat kunci pribadi dan rantai sertifikat klien](#create-client-ssl)
+ [Konfigurasikan mTL untuk Klien SDK 5](#enable-ssl-5)

### Buat kunci pribadi dan rantai sertifikat klien
<a name="create-client-ssl"></a>

**Example — Membuat kunci privat dengan OpenSSL**  
Gunakan perintah berikut untuk membuat kunci RSA 4096-bit. Untuk menggunakan contoh ini, ganti *<ssl-client.key>* dengan nama file tempat Anda ingin menyimpan kunci.  

```
$ openssl genrsa -out <ssl-client.key> 4096
Generating RSA private key, 4096 bit long modulus
.....................................+++
.+++
e is 65537 (0x10001)
```

**Example — Buat permintaan penandatanganan sertifikat (CSR) dengan OpenSSL**  
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>
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 []:
```

**Example — 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](#setup-mtls-create-and-register-trust-anchor) dan buat sertifikat klien bernama. `ssl-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>
```

**Example — 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](#setup-mtls-create-and-register-trust-anchor) dan buat rantai sertifikat klien bernama`ssl-client.pem`, yang akan digunakan untuk mengkonfigurasi pada langkah berikutnya.  

```
$ cat <ssl-client.crt> <mtls_ca_root_1.crt> > <ssl-client.pem>
```
 Jika Anda [mendaftarkan sertifikat perantara di Buat dan daftarkan jangkar kepercayaan ke HSM](#setup-mtls-create-and-register-trust-anchor) sebagai jangkar kepercayaan, pastikan untuk menggabungkan sertifikat klien dengan seluruh rantai sertifikat untuk membuat rantai sertifikat klien.

### Konfigurasikan mTL untuk Klien SDK 5
<a name="enable-ssl-5"></a>

Gunakan salah satu alat konfigurasi Client SDK 5 untuk mengaktifkan TLS bersama dengan menyediakan jalur kunci klien dan jalur rantai sertifikat klien yang tepat. Untuk informasi selengkapnya tentang alat konfigurasi untuk Client SDK 5, lihat[AWS CloudHSM Alat konfigurasi SDK 5 klien](configure-sdk-5.md).

------
#### [ PKCS \$111 library ]

**Untuk menggunakan sertifikat dan kunci khusus untuk otentikasi timbal balik klien TLS-HSM dengan Client 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>
   ```

1.  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 kustom dan kunci untuk otentikasi timbal balik klien TLS-HSM dengan Klien SDK 5 pada 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>
   ```

1.  Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan `ssl-client.pem` dan`ssl-client.key`.

   ```
   PS C:\> & "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 dan kunci khusus untuk otentikasi timbal balik klien TLS-HSM dengan Client 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>
   ```

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

------
#### [ Key Storage Provider (KSP) ]

**Untuk menggunakan sertifikat kustom dan kunci untuk otentikasi timbal balik klien TLS-HSM dengan Klien SDK 5 pada 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>
   ```

1.  Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan `ssl-client.pem` dan`ssl-client.key`.

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-ksp.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>
   ```

------
#### [ JCE provider ]

**Untuk menggunakan sertifikat dan kunci khusus untuk otentikasi timbal balik klien TLS-HSM dengan Client 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>
   ```

1.  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 kustom dan kunci untuk otentikasi timbal balik klien TLS-HSM dengan Klien SDK 5 pada 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>
   ```

1.  Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan `ssl-client.pem` dan`ssl-client.key`.

   ```
   PS C:\> & "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 dan kunci khusus untuk otentikasi timbal balik klien TLS-HSM dengan Client 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>
   ```

1.  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 kustom dan kunci untuk otentikasi timbal balik klien TLS-HSM dengan Klien SDK 5 pada 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>
   ```

1.  Dengan PowerShell penerjemah, gunakan alat konfigurasi untuk menentukan `ssl-client.pem` dan`ssl-client.key`.

   ```
   PS C:\> & "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 penegakan mTLS untuk AWS CloudHSM
<a name="getting-start-setup-mtls-enforcement"></a>

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

1. Gunakan perintah berikut untuk memulai CloudHSM CLI:

------
#### [ Linux ]

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

------
#### [ Windows ]

   ```
   PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" interactive
   ```

------

1. Menggunakan CloudHSM CLI, 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 CloudHSM CLI dan memulai CloudHSM CLI di bawah koneksi mTLS.  
 2. Anda harus masuk sebagai pengguna admin default dengan nama pengguna sebagai **admin** sebelum menetapkan penegakan mTLS. 

1. Gunakan ** [Atur tingkat penegakan mTLS dengan CloudHSM CLI](cloudhsm_cli-cluster-mtls-set-enforcement.md) ** perintah untuk mengatur penegakan hukum. Untuk informasi selengkapnya, lihat contoh berikut atau gunakan perintah **help cluster mtls set-enforcement**.  
**Example — Tetapkan penegakan mTLS dengan cluster AWS CloudHSM**  

   Contoh berikut menunjukkan cara menggunakan **cluster mtls set-enforcement** perintah di CloudHSM CLI untuk mengatur penegakan mTLS dengan HSM. Untuk menggunakan perintah ini, admin dengan nama pengguna sebagai admin harus login ke HSM.

   ```
   aws-cloudhsm > cluster mtls set-enforcement --level cluster
   {
     "error_code": 0,
     "data": {
       "message": "Mtls enforcement level set to Cluster successfully"
     }
   }
   ```
**Awas**  
Setelah Anda menerapkan penggunaan mTLS di cluster, semua koneksi non-MTLS yang ada akan dihapus dan Anda hanya dapat terhubung ke cluster dengan sertifikat mTLS.