Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS CloudHSM SSL/TLSoffload pada Windows menggunakan dengan IIS CNG
Tutorial ini memberikan step-by-step instruksi untuk SSL TLS mengatur/offload dengan AWS CloudHSM pada server web Windows.
Topik
Gambaran Umum
Pada Windows, Internet Information Services (IIS) untuk aplikasi server web Windows
Tutorial ini menunjukkan kepada Anda cara melakukan hal berikut:
-
Instal perangkat lunak server web pada EC2 instance Amazon.
-
Konfigurasikan perangkat lunak server web untuk mendukung HTTPS dengan kunci pribadi yang disimpan di AWS CloudHSM cluster Anda.
-
(Opsional) Gunakan Amazon EC2 untuk membuat instance server web kedua dan Elastic Load Balancing untuk membuat penyeimbang beban. Menggunakan penyeimbang beban dapat meningkatkan performa dengan mendistribusikan beban di beberapa server. Hal ini juga dapat memberikan redundansi dan ketersediaan yang lebih tinggi jika satu atau lebih server gagal.
Saat Anda siap memulai, buka Langkah 1: Siapkan prasyarat.
Langkah 1: Siapkan prasyarat
Untuk mengatur server SSL TLS web/offload dengan AWS CloudHSM, Anda memerlukan yang berikut ini:
-
AWS CloudHSM Cluster aktif dengan setidaknya satuHSM.
-
EC2Instans Amazon yang menjalankan sistem operasi Windows dengan perangkat lunak berikut diinstal:
-
Perangkat lunak AWS CloudHSM klien untuk Windows.
-
Layanan Informasi Internet (IIS) untuk Windows Server.
-
-
Pengguna kripto (CU) untuk memiliki dan mengelola kunci pribadi server web diHSM.
catatan
Tutorial ini menggunakan Microsoft Windows Server 2016. Microsoft Windows Server 2012 juga didukung, tetapi Microsoft Windows Server 2012 R2 tidak.
Untuk mengatur instance Windows Server dan membuat CU pada HSM
-
Selesaikan langkah-langkah dalam Memulai. Saat Anda meluncurkan EC2 klien Amazon, pilih Windows Server 2016 atau Windows Server 2012AMI. Ketika Anda menyelesaikan langkah-langkah ini, Anda memiliki cluster aktif dengan setidaknya satuHSM. Anda juga memiliki instance EC2 klien Amazon yang menjalankan Windows Server dengan perangkat lunak AWS CloudHSM klien untuk Windows diinstal.
-
(Opsional) Tambahkan lebih banyak HSMs ke cluster Anda. Untuk informasi selengkapnya, lihat Menambahkan HSM ke AWS CloudHSM cluster.
-
Hubungkan ke server Windows Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon.
-
Gunakan Cloud HSM CLI untuk membuat pengguna kripto (CU). Lacak nama pengguna dan kata sandi CU. Anda akan membutuhkannya untuk menyelesaikan langkah berikutnya.
catatan
Untuk informasi tentang cara membuat pengguna, lihat Mengelola HSM pengguna dengan Cloud HSM CLI.
-
Atur kredensi login untuk HSM, menggunakan nama pengguna CU dan kata sandi yang Anda buat pada langkah sebelumnya.
-
Pada langkah 5, jika Anda menggunakan Windows Credentials Manager untuk mengatur HSM kredensialnya, unduh
psexec.exe
dari SysInternals untuk menjalankan perintah berikut sebagai NT Authority\: SYSTEM psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username
<USERNAME>
--password<PASSWORD>
Ganti
<USERNAME>
and<PASSWORD>
dengan HSM kredensialnya.
Untuk menginstal IIS di Windows Server Anda
-
Jika Anda belum melakukannya, hubungkan ke server Windows server Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon.
-
Pada server Windows Anda, mulai Manager Server.
-
Di dasbor Server Manager, pilih Tambahkan peran dan fitur.
-
Baca informasi Sebelum Anda memulai, kemudian pilih Selanjutnya.
-
Untuk Jenis Instalasi, pilih Instalasi berbasis peran atau berbasis fitur. Lalu, pilih Selanjutnya.
-
Untuk Pemilihan Server, pilih Pilih server dari kolam server. Lalu, pilih Selanjutnya.
-
Untuk Peran Server, lakukan hal berikut:
-
Pilih Web Server (IIS).
-
Untuk Menambahkan fitur yang diperlukan untuk Web Server (IIS), pilih Tambahkan Fitur.
-
Pilih Selanjutnya untuk menyelesaikan pemilihan peran server.
-
-
Untuk Fitur, terima default. Lalu, pilih Selanjutnya.
-
Baca informasi Peran Server Web (IIS). Lalu, pilih Selanjutnya.
-
Untuk Pilih layanan peran, terima default atau ubah pengaturan sesuai pilihan. Lalu, pilih Selanjutnya.
-
Untuk Konfirmasi, baca informasi konfirmasi. Lalu, pilih Instal.
-
Setelah penginstalan selesai, pilih Tutup.
Setelah Anda menyelesaikan langkah ini, buka Langkah 2: Buat permintaan penandatanganan sertifikat (CSR) dan sertifikat.
Langkah 2: Buat permintaan penandatanganan sertifikat (CSR) dan sertifikat
Untuk mengaktifkanHTTPS, server web Anda memerlukan SSL/TLS certificate and a corresponding private key. To use SSL/TLS pembongkaran dengan AWS CloudHSM, Anda menyimpan kunci pribadi di HSM dalam AWS CloudHSM cluster Anda. Untuk melakukan ini, Anda menggunakan penyedia penyimpanan AWS CloudHSM kunci (KSP) untuk Microsoft CryptographyAPI: Next Generation (CNG) untuk membuat permintaan penandatanganan sertifikat (CSR). Kemudian Anda memberikan CSR kepada otoritas sertifikat (CA), yang menandatangani CSR untuk menghasilkan sertifikat.
Buat CSR
Gunakan AWS CloudHSM KSP pada Windows Server Anda untuk membuat fileCSR.
Untuk membuat CSR
-
Jika Anda belum melakukannya, hubungkan ke server Windows server Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon.
-
Gunakan perintah berikut untuk memulai daemon AWS CloudHSM klien.
-
Pada Windows Server Anda, gunakan editor teks untuk membuat file permintaan sertifikat bernama
IISCertRequest.inf
. Hal berikut menunjukkan isi contoh fileIISCertRequest.inf
. Untuk informasi lebih lanjut tentang bagian, kunci, dan nilai-nilai yang dapat Anda tentukan dalam file, lihat Dokumentasi Microsoft. Jangan ubah nilai ProviderName
.[Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
-
Gunakan perintah Windows certreq
untuk membuat CSR dari IISCertRequest.inf
file yang Anda buat pada langkah sebelumnya. Contoh berikut menyimpan CSR ke file bernamaIISCertRequest.csr
. Jika Anda menggunakan nama file yang berbeda untuk file permintaan sertifikat Anda, gantiIISCertRequest.inf
dengan nama file yang sesuai. Anda dapat mengganti secara opsionalIISCertRequest.csr
dengan nama file yang berbeda untuk CSR file Anda.C:\>
certreq -new
IISCertRequest.inf
IISCertRequest.csr
SDK Version: 2.03 CertReq: Request Created
IISCertRequest.csr
File berisi file AndaCSR. Anda memerlukan ini CSR untuk mendapatkan sertifikat yang ditandatangani.
Dapatkan sertifikat yang ditandatangani dan impor
Dalam lingkungan produksi, Anda biasanya menggunakan otoritas sertifikat (CA) untuk membuat sertifikat dari fileCSR. CA tidak diperlukan untuk lingkungan pengujian. Jika Anda menggunakan CA, kirim CSR file (IISCertRequest.csr
) ke sana dan gunakan CA untuk membuat TLS sertifikatSSL/yang ditandatangani.
Sebagai alternatif untuk menggunakan CA, Anda dapat menggunakan alat seperti Open SSL
Awas
Sertifikat yang ditandatangani sendiri tidak dipercaya oleh peramban dan tidak boleh digunakan dalam lingkungan produksi. Sertifikat dapat digunakan dalam lingkungan pengujian.
Prosedur berikut menunjukkan cara membuat sertifikat yang ditandatangani sendiri dan menggunakannya untuk menandatangani server web Anda. CSR
Untuk membuat sertifikat yang ditandatangani sendiri
-
Gunakan SSL perintah Open berikut untuk membuat kunci pribadi. Anda dapat mengganti secara opsional
SelfSignedCA.key
dengan nama file yang berisi kunci pribadi Anda.openssl genrsa -aes256 -out
SelfSignedCA.key
2048Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
-
Gunakan SSL perintah Buka berikut untuk membuat sertifikat yang ditandatangani sendiri menggunakan kunci pribadi yang Anda buat pada langkah sebelumnya. Ini adalah perintah interaktif. Baca petunjuk di layar dan ikuti prompt-nya. Ganti
SelfSignedCA.key
dengan nama file yang berisi kunci pribadi Anda (jika berbeda). Anda dapat mengganti secara opsionalSelfSignedCA.crt
dengan nama file yang berisi sertifikat yang ditandatangani sendiri.openssl req -new -x509 -days 365 -key
SelfSignedCA.key
-outSelfSignedCA.crt
Enter pass phrase for SelfSignedCA.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 []:
Untuk menggunakan sertifikat yang ditandatangani sendiri untuk menandatangani server web Anda CSR
-
Gunakan SSL perintah Buka berikut untuk menggunakan kunci pribadi dan sertifikat yang ditandatangani sendiri untuk menandatangani. CSR Ganti yang berikut dengan nama file yang berisi data yang sesuai (jika berbeda).
-
IISCertRequest.csr
— Nama file yang berisi server web Anda CSR -
SelfSignedCA.crt
— Nama file yang berisi sertifikat yang ditandatangani sendiri -
SelfSignedCA.key
— Nama file yang berisi kunci pribadi Anda -
IISCert.crt
— Nama file yang berisi sertifikat yang ditandatangani server web Anda
openssl x509 -req -days 365 -in
IISCertRequest.csr
\ -CASelfSignedCA.crt
\ -CAkeySelfSignedCA.key
\ -CAcreateserial \ -outIISCert.crt
Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:
-
Setelah Anda menyelesaikan langkah sebelumnya, Anda memiliki sertifikat yang ditandatangani untuk server web Anda (IISCert.crt
) dan sertifikat yang ditandatangani sendiri (SelfSignedCA.crt
). Bila Anda memiliki file-file ini, buka Langkah 3: Konfigurasikan server web.
Langkah 3: Konfigurasikan server web
Perbarui konfigurasi IIS situs web Anda untuk menggunakan HTTPS sertifikat yang Anda buat di akhir langkah sebelumnya. Ini akan menyelesaikan pengaturan perangkat lunak server web Windows Anda (IIS) SSL TLS untuk/offload dengan AWS CloudHSM.
Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menandatanganiCSR, Anda harus terlebih dahulu mengimpor sertifikat yang ditandatangani sendiri ke Otoritas Sertifikasi Root Tepercaya Windows.
Untuk mengimpor sertifikat ditandatangani sendiri ke Otoritas Sertifikasi Tepercaya Windows
-
Jika Anda belum melakukannya, hubungkan ke server Windows server Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon.
-
Salin sertifikat yang ditandatangani sendiri ke server Windows Anda.
-
Pada Windows Server, buka Panel Kontrol.
-
Untuk Cari Panel Kontrol, ketik
certificates
. Kemudian, pilih Kelola sertifikat komputer. -
Di jendela Sertifikat - Komputer Lokal, klik dua kali Otoritas Sertifikasi Root Tepercaya.
-
Klik kanan pada Sertifikat lalu pilih Semua Tugas, Impor.
-
Di Wizzard Impor Sertifikat, Pilih Selanjutnya.
-
Pilih Jelajahi, lalu cari dan pilih sertifikat yang Anda tandatangani sendiri. Jika Anda membuat sertifikat yang ditandatangani sendiri dengan mengikuti petunjuk di langkah sebelumnya dari tutorial ini, sertifikat yang Anda tandatangani sendiri diberi nama
SelfSignedCA.crt
. Pilih Buka . -
Pilih Selanjutnya.
-
Untuk Penyimpanan Sertifikat, pilih Tempatkan semua sertifikat di penyimpanan berikut. Kemudian, pastikan bahwa Otoritas Sertifikasi Root Tepercaya dipilih untuk Penyimpanan sertifikat.
-
Pilih Selanjutnua dan kemudian pilih Selesai.
Untuk memperbarui konfigurasi IIS situs web
-
Jika Anda belum melakukannya, hubungkan ke server Windows server Anda. Untuk informasi selengkapnya, lihat Connect to Your Instance di Panduan EC2 Pengguna Amazon.
-
Mulai daemon AWS CloudHSM klien.
-
Salin sertifikat yang ditandatangani oleh server web Anda—sertifikat yang Anda buat di akhir langkah sebelumnya tutorial ini —ke server Windows Anda.
-
Pada Windows Server, gunakan perintah certreq Windows
untuk menerima sertifikat yang ditandatangani, seperti dalam contoh berikut. Ganti IISCert.crt
dengan nama file yang berisi sertifikat yang ditandatangani server web Anda.C:\>
certreq -accept
IISCert.crt
SDK Version: 2.03
-
Pada server Windows Anda, mulai Manager Server.
-
Di dasbor Server Manager, di sudut kanan atas, pilih Tools, Internet Information Services (IIS) Manager.
-
Di jendela Internet Information Services (IIS) Manager, klik dua kali nama server Anda. Kemudian, klik dua kali Situs. Pilih situs web Anda.
-
Pilih SSLPengaturan. Lalu, di sisi kanan jendela, pilih Ikatan.
-
Di jendela Ikatan Situs, pilih Tambahkan.
-
Untuk Jenis, pilih HTTPS. Untuk SSLsertifikat, pilih HTTPS sertifikat yang Anda buat di akhir langkah tutorial ini sebelumnya.
catatan
Jika Anda mengalami kesalahan selama pengikatan sertifikat ini, mulai ulang server Anda dan coba lagi langkah ini.
-
Pilih OK.
Setelah memperbarui konfigurasi server web, buka Langkah 4: Aktifkan HTTPS lalu lintas dan verifikasi sertifikat.
Langkah 4: Aktifkan HTTPS lalu lintas dan verifikasi sertifikat
Setelah Anda mengonfigurasi server web untukSSL/TLSoffload dengan AWS CloudHSM, tambahkan instance server web Anda ke grup keamanan yang memungkinkan lalu lintas masukHTTPS. Ini memungkinkan klien, seperti browser web, untuk membuat HTTPS koneksi dengan server web Anda. Kemudian buat HTTPS koneksi ke server web Anda dan verifikasi bahwa itu menggunakan sertifikat yang Anda konfigurasikan untukSSL/TLSoffload dengan AWS CloudHSM.
Topik
Aktifkan koneksi masuk HTTPS
Untuk terhubung ke server web Anda dari klien (seperti browser web), buat grup keamanan yang memungkinkan HTTPS koneksi masuk. Secara khusus, itu harus memungkinkan TCP koneksi masuk pada port 443. Tetapkan grup keamanan ini ke server web Anda.
Untuk membuat grup keamanan untuk HTTPS dan menetapkannya ke server web Anda
-
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pilih Grup keamanan di panel navigasi.
-
Pilih Buat grup keamanan.
-
Untuk Buat Grup Keamanan, lakukan hal berikut:
-
Untuk Nama grup keamanan, ketik nama untuk grup keamanan yang Anda buat.
-
(Opsional) Ketik deskripsi grup keamanan yang Anda buat.
-
Untuk VPC, pilih VPC yang berisi EC2 instance Amazon server web Anda.
-
Pilih Tambahkan Aturan.
-
Untuk Type, pilih HTTPSdari jendela drop-down.
-
Untuk Sumber, masukkan lokasi sumber.
-
Pilih Buat grup keamanan.
-
-
Di panel navigasi, pilih Instans.
-
Pilih kotak centang di samping instans server web Anda.
-
Pilih menu tarik-turun Tindakan di bagian atas halaman. Pilih Keamanan dan kemudian Ubah Grup Keamanan.
-
Untuk grup keamanan terkait, pilih kotak pencarian dan pilih grup keamanan yang Anda buatHTTPS. Kemudian pilih Tambahkan Grup Keamanan.
-
Pilih Simpan.
Verifikasi bahwa HTTPS menggunakan sertifikat yang Anda konfigurasikan
Setelah menambahkan server web ke grup keamanan, Anda dapat memverifikasi bahwaSSL/TLSoffload menggunakan sertifikat yang ditandatangani sendiri. Anda dapat melakukan ini dengan browser web atau dengan alat seperti Buka SSL s_client
Untuk SSL TLS memverifikasi/membongkar dengan browser web
-
Gunakan browser web untuk terhubung ke server web Anda menggunakan DNS nama publik atau alamat IP server. Pastikan bahwa URL di bilah alamat dimulai dengan https://. Misalnya,
https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/
.Tip
Anda dapat menggunakan DNS layanan seperti Amazon Route 53 untuk merutekan nama domain situs web Anda (misalnya, https://www.example.com/) ke server web Anda. Untuk informasi selengkapnya, lihat Merutekan Lalu Lintas ke EC2 Instans Amazon di Panduan Pengembang Amazon Route 53 atau di dokumentasi untuk DNS layanan Anda.
-
Gunakan peramban web Anda untuk melihat sertifikat server web. Untuk informasi lebih lanjut, lihat hal berikut:
-
Para Mozilla Firefox, lihat Lihat Sertifikat
di situs web Dukung Mozilla. -
Untuk Google Chrome, lihat Memahami Masalah Keamanan
pada Alat Google Tools untuk Pengembang Web.
Peramban web lain mungkin memiliki fitur serupa yang dapat Anda gunakan untuk melihat sertifikat server web.
-
-
Pastikan bahwa SSL TLS sertifikat/adalah salah satu yang Anda konfigurasi server web Anda untuk digunakan.
Untuk SSL TLS memverifikasi/membongkar dengan Open SSL s_client
-
Jalankan SSL perintah Open berikut untuk terhubung ke server web Anda menggunakanHTTPS. Ganti
<server name>
dengan DNS nama publik atau alamat IP server web Anda.openssl s_client -connect
<server name>
:443Tip
Anda dapat menggunakan DNS layanan seperti Amazon Route 53 untuk merutekan nama domain situs web Anda (misalnya, https://www.example.com/) ke server web Anda. Untuk informasi selengkapnya, lihat Merutekan Lalu Lintas ke EC2 Instans Amazon di Panduan Pengembang Amazon Route 53 atau di dokumentasi untuk DNS layanan Anda.
-
Pastikan bahwa SSL TLS sertifikat/adalah salah satu yang Anda konfigurasi server web Anda untuk digunakan.
Anda sekarang memiliki situs web yang diamankan. HTTPS Kunci pribadi untuk server web disimpan di HSM dalam AWS CloudHSM cluster Anda.
Untuk menambahkan penyeimbang beban, lihatTambahkan penyeimbang beban dengan Elastic Load Balancing AWS CloudHSM untuk (opsional).