Network Load Balancer (NLB) mendukung SSL offloading skala besar. Anda dapat men-deploy instans NLB sebagai ingress untuk lalu lintas dan mengonfigurasi Sertifikat SSL serta sertifikat Certificate Authority (CA) untuk mengaktifkan otentikasi timbal balik, yang mengharuskan klien dan server menyediakan sertifikat digital guna membuktikan identitas masing-masing. Hal ini meningkatkan keamanan beban kerja Anda.
Informasi latar belakang
Otentikasi satu arah: Klien harus memverifikasi identitas server. Server tidak perlu memverifikasi identitas klien. Klien mengunduh sertifikat kunci publik dari server untuk otentikasi. Koneksi hanya dapat dibuat setelah identitas server diverifikasi.
Otentikasi timbal balik: Klien mengunduh sertifikat server (sertifikat kunci publik) dari server dan mengunggah sertifikat klien (sertifikat kunci publik) ke server untuk otentikasi. Koneksi hanya dapat dibuat setelah identitas klien dan server keduanya diverifikasi. Otentikasi timbal balik memberikan keamanan yang lebih tinggi.
Prasyarat
-
Instans NLB telah dibuat. Untuk informasi selengkapnya, lihat Buat dan kelola instans NLB.
Tiga instans Elastic Compute Service (ECS) telah dibuat. Untuk informasi cara membuat instans, lihat Buat instans menggunakan wizard.
ECS01 dan ECS02 ditambahkan ke instans NLB sebagai server backend. Aplikasi NGINX berbeda dideploy pada ECS01 dan ECS02.
ECS03 digunakan untuk menghasilkan sertifikat server tanda tangan sendiri dan sertifikat klien. OpenSSL diunduh dari situs OpenSSL dan diinstal pada ECS03. Versi OpenSSL adalah 1.1.1 atau yang lebih baru. Jika Anda menggunakan server Linux yang sudah ada untuk menghasilkan sertifikat tanda tangan sendiri, Anda tidak perlu membuat ECS03.
Grup server dibuat untuk instans NLB, dan ECS01 serta ECS02 ditambahkan ke grup server tersebut. Dalam contoh ini, port backend ECS01 dan ECS02 diatur ke 80.
PentingProtokol backend grup server harus TCP. Permintaan yang dikirim dari NLB ke server backend telah didekripsi SSL-nya, sehingga server backend tidak perlu melakukan dekripsi SSL terhadap permintaan yang diterima.
Anda tidak dapat mengaitkan listener yang menggunakan SSL melalui TCP dengan grup server yang mengaktifkan fitur Client IP Preservation. Pastikan fitur Client IP Preservation dinonaktifkan untuk grup server tersebut.
Langkah 1: Siapkan sertifikat CA
Login ke Konsol Layanan Manajemen Sertifikat
Di panel navigasi kiri, pilih Private Certificate Management.
Di halaman Private Certificate Management, pada tab Private CAs, temukan sertifikat root CA.
Klik ikon
di sebelah kiri sertifikat root CA, temukan CA perantara pribadi yang ingin dikelola, lalu klik Apply for Certificate pada kolom Actions.Di panel Apply for Certificate, atur parameter, lalu klik Confirm.
Bagian berikut menjelaskan parameter yang relevan dengan topik ini. Untuk informasi selengkapnya, lihat Manage private certificates.
Parameter
Description
Certificate Type
Select the type of private certificate that you want to purchase. In this example, Client Certificate is selected.
Personal Name
The unique identifier for the client user. Only required for a client certificate.
In this example, enter the domain name of the NLB instance.
Validity Period
Specify a validity period for the private certificate. The validity period of the private certificate cannot exceed the subscription duration of the Private Certificate Authority (PCA) service that you purchase.
In this example, the default validity period is used, which is 30 days.
The private certificate is issued immediately after the request is submitted. To view the details about the private certificate, find the private CA, click Certificates in the Actions column, and then view the information on the Certificates page.
Langkah 2: Siapkan sertifikat server
Browser memverifikasi identitas server dengan memeriksa apakah sertifikat yang dikirim oleh server diterbitkan oleh CA tepercaya. Topik ini menjelaskan dua metode untuk mendapatkan sertifikat server. Anda dapat membeli sertifikat server dari Layanan Manajemen Sertifikat, atau mengunggah sertifikat tanda tangan sendiri ke Layanan Manajemen Sertifikat.
Metode 1: Membeli sertifikat server
Anda dapat membeli sertifikat server dari Layanan Manajemen Sertifikat atau dari penyedia layanan lainnya. Untuk informasi selengkapnya, lihat Beli Sertifikat SSL.
Metode 2: Mengunggah sertifikat server tanda tangan sendiri
Login jarak jauh ke ECS03 dan jalankan perintah berikut untuk menghasilkan sertifikat server tanda tangan sendiri. Pastikan sertifikat CA tersimpan di ECS03. File sertifikat CA yang digunakan dalam contoh ini adalah
root.crtdanroot.key.Jalankan perintah berikut untuk menghasilkan kunci privat sertifikat server:
sudo openssl genrsa -out server.key 4096Jalankan perintah berikut untuk menghasilkan permintaan penandatanganan sertifikat (CSR):
sudo openssl req -new -out server.csr -key server.keyKonfigurasi parameter lainnya. Contoh:
Country Name (2 letter code) [XX]:cn State or Province Name (full name) []:bj Locality Name (eg, city) [Default City]:bj Organization Name (eg, company) [Default Company Ltd]:alibaba Organizational Unit Name (eg, section) []:test Common Name (eg, your name or your servers hostname) []:www.example.com Email Address []:a.alibaba.com A challenge password []: An optional company name []:PentingAtur Common Name sesuai nama domain yang dikaitkan dengan sertifikat server. Pastikan nama domain tersebut valid. Nilai parameter lainnya harus sama dengan nilai parameter sertifikat root dan sertifikat klien.
Dalam contoh ini, instans NLB menggunakan nama domain kustom
www.example.comuntuk menyediakan layanan eksternal. Oleh karena itu, Common Name diatur sebagaiwww.example.com.Jalankan perintah berikut untuk menghasilkan kunci publik sertifikat server:
sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650Hasilnya seperti pada gambar berikut.

Jalankan perintah berikut untuk membuat folder penyimpanan file sertifikat server:
sudo mkdir -p /root/sslJalankan perintah berikut untuk menyalin sertifikat server ke folder tersebut:
sudo cp server.crt /root/ssl sudo cp server.key /root/sslJalankan perintah berikut untuk melihat sertifikat server
server.crtdan kunci privatserver.keysertifikat server:cd /root/ssl lsHasilnya seperti pada gambar berikut.

Dalam contoh ini, digunakan client Windows. Buka Antarmuka baris perintah (CLI) pada client Windows dan jalankan perintah berikut untuk mengekspor file sertifikat server yang dihasilkan pada Langkah 1 ke desktop lokal:
scp root@IPaddress:/root/ssl/server.crt C:\Users\Public\Desktop #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server scp root@IPaddress:/root/ssl/server.key C:\Users\Public\Desktop #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat serverLogin ke Konsol Layanan Manajemen Sertifikat.
Di panel navigasi kiri, pilih .
Klik tab Uploaded Certificates lalu klik Upload Certificate.
Di panel Upload Certificate, atur parameter berikut lalu klik OK.
Untuk informasi selengkapnya, lihat Unggah, sinkronkan, dan bagikan Sertifikat SSL.
Parameter
Description
Certificate Algorithm
In this example, Internationally Accepted Algorithm is selected.
Certificate Name
Enter a name for the certificate that you want to upload.
Certificate File
Enter the content of the PEM-encoded CA certificate file.
You can use one of the following methods to enter the content. Method 1: Use a text editor to open the CA certificate file in the PEM or CRT format. Then, copy the content to the Certificate File field. Method 2: Click Upload and Parse File below the Certificate File field. Then, select the CA certificate file from your computer to upload the content of the file.
In this example, the server certificate file
server.crtis uploaded.Certificate Key
Enter the content of the PEM-encoded private key file.
You can use one of the following methods to enter the content. Method 1: Use a text editor to open the private key file in the KEY format. Then, copy the content to the Add Private Key field. Method 2: Click Upload and Parse File below the Add Private Key field. Then, select the private key file from your computer to upload the content of the file.
In this example, the private key file
server.keyis uploaded.Certificate Chain
Enter the content of the certificate chain file. This parameter is ignored in this example.
Langkah 3: Siapkan sertifikat client
Anda dapat menggunakan salah satu metode berikut untuk menyiapkan sertifikat klien sesuai kebutuhan bisnis Anda:
Login ke Konsol Layanan Manajemen Sertifikat.
Di panel navigasi kiri, pilih Private Certificate Management.
Di halaman Private Certificate Management, pada tab Private CAs, temukan sertifikat root CA.
Untuk informasi selengkapnya tentang cara membeli sertifikat root CA, lihat Membeli dan mengaktifkan Private CA.
Temukan sertifikat root CA, lalu klik ikon
. Kemudian, temukan sertifikat CA turunan dan klik Certificates pada Actions.Di halaman Certificates, temukan sertifikat pribadi yang dituju. Pada kolom Actions, klik Download.
Di kotak dialog Download Certificate, pilih format sertifikat lalu klik Confirm and Download. Dalam contoh ini, dipilih format CRT, sehingga sertifikat klien adalah
client.crtdan kunci privat sertifikat adalahclient.key.Konversi sertifikat klien menjadi file PKCS12 yang dapat dikenali browser.
Login jarak jauh ke ECS03. Untuk informasi selengkapnya, lihat Panduan koneksi instans.
Jalankan perintah berikut untuk membuat folder penyimpanan sertifikat klien:
sudo mkdir -p /root/ca/usersUnggah sertifikat klien
client.crtdan kunci privat sertifikatclient.keyke direktori users.Jalankan perintah berikut untuk mengonversi sertifikat klien menjadi file PKCS12:
sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12Ikuti petunjuk untuk mengatur kunci enkripsi untuk kunci privat sertifikat.
Masukkan password yang digunakan untuk mengekspor sertifikat klien. Password ini digunakan untuk mengenkripsi sertifikat klien dan diperlukan saat menginstal sertifikat klien.
Hasilnya seperti pada gambar berikut.

Jalankan perintah berikut untuk melihat sertifikat klien yang dihasilkan:
cd /root/ca/users lsHasilnya seperti pada gambar berikut.

Dalam contoh ini, digunakan client Windows. Buka CLI dan jalankan perintah berikut untuk mengekspor sertifikat klien:
scp root@IPaddress:/root/ca/users/client.p12 C:\Users\Public\Desktop #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat client
Langkah 4: Instal sertifikat client
Instal sertifikat klien pada klien Anda. Dalam contoh ini, client Windows dan client Linux digunakan untuk menunjukkan cara menginstal sertifikat klien.
klien Windows
Impor sertifikat klien ke Microsoft Edge.
Buka Microsoft Edge. Di pojok kanan atas, pilih .
Di panel navigasi kiri, klik tab Privacy, search, and services. Lalu, klik Manage certificates pada bagian Security dan impor file PKCS12. Pada langkah ini, Anda harus memasukkan password yang digunakan untuk mengekspor sertifikat klien pada Langkah 3: Siapkan sertifikat klien.
Klien Linux
Jika ECS03 digunakan untuk menghasilkan sertifikat klien, sertifikat klien disimpan di direktori ECS03. Jika client Linux lain digunakan untuk menghasilkan sertifikat klien, lakukan langkah-langkah berikut untuk menyalin sertifikat ke direktori client Linux terlebih dahulu:
Login ke client Linux. Jalankan perintah berikut untuk menyalin sertifikat klien, sertifikat server, dan sertifikat root ke direktori:
Jalankan perintah berikut untuk membuat folder:
sudo mkdir /root/caJalankan perintah berikut untuk mengubah izin direktori:
sudo chmod 700 /root/caJalankan perintah berikut untuk menyalin sertifikat ke direktori client Linux:
Jalur berikut hanya sebagai referensi. Tentukan jalur aktual yang Anda gunakan.
sudo scp home@IPaddress:/root/ca/users/client.crt /root/ca //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat client sudo scp home@IPaddress:/root/ca/root.crt /root/ca //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat root sudo scp home@IPaddress:/root/ca/root.key /root/ca //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat root sudo scp home@IPaddress:/root/ssl/server.crt /root/ca //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server sudo scp home@IPaddress:/root/SSL/server.key /root/ca //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server
Langkah 5: Konfigurasi otentikasi timbal balik untuk listener yang menggunakan SSL melalui TCP
Login ke Konsol NLB.
Di bilah navigasi atas, pilih wilayah instans NLB.
Di halaman Instances, temukan instans NLB, lalu klik Actions pada kolom Create Listener.
Di langkah Configure Listener, atur parameter berikut lalu klik Next.
Tabel berikut hanya menjelaskan beberapa parameter. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat listener yang menggunakan SSL melalui TCP.
Parameter
Prosedur
Listener Protocol
Pilih protokol listener. Dalam contoh ini, dipilih TCPSSL.
Listener Port
Tentukan port tempat instans NLB mendengarkan. Instans NLB menggunakan port ini untuk menerima permintaan dan meneruskannya ke server backend. Port 443 digunakan dalam contoh ini.
Di langkah Configure SSL Certificate, pilih sertifikat server yang ditentukan pada Langkah 2: Siapkan sertifikat server dari daftar drop-down Server Certificate.
Aktifkan Enable Mutual Authentication. Pilih sertifikat CA yang dibeli pada Langkah 1 dari daftar drop-down Default CA Certificate.
Pilih TLS Security Policy lalu klik Next.
Di langkah Select Server Group, pilih grup server yang telah Anda buat dan lihat informasi server backend ECS01 dan ECS02. Dalam contoh ini, port server backend diatur ke 80. Lalu, klik Next.
Di langkah Configuration Review, konfirmasi konfigurasi lalu klik Submit.
Langkah 6: Verifikasi otentikasi timbal balik
klien Windows
Buka halaman Instances NLB, klik ID instans NLB yang ingin dikelola, lalu klik tab Listener untuk melihat status pemeriksaan kesehatan listener yang menggunakan SSL melalui TCP.
Jika kolom Health Check Status menampilkan Healthy, artinya server backend dapat memproses permintaan yang diteruskan oleh listener NLB.
Masukkan
https://Nama domain yang dikaitkan dengan sertifikat serverdi bilah alamat browser Anda, misalnyahttps://www.example.com. Di dialog yang muncul, pilih sertifikat yang digunakan untuk memverifikasi identitas klien, lalu klik OK.
Untuk menghindari masalah akibat cache browser, kami sarankan Anda mengakses nama domain dalam mode penjelajahan pribadi saat menguji load balancing lapisan 4. Hasilnya menunjukkan bahwa permintaan didistribusikan ke ECS01 dan ECS02.


Klien Linux
Login ke client Linux tempat sertifikat root, sertifikat server, dan sertifikat klien disimpan, lalu jalankan perintah berikut untuk menguji otentikasi timbal balik:
sudo curl --cert /root/ca/client.crt --key /root/ca/client.key --cacert /root/ca/root.crt www.example.comwww.example.com adalah nama domain yang dikaitkan dengan sertifikat server.
Paket balasan echo berikut menunjukkan bahwa klien dan server telah lulus otentikasi timbal balik, dan permintaan didistribusikan ke ECS01 dan ECS02. 
> Settings