Network Load Balancer (NLB) mendukung offloading SSL skala besar. Anda dapat men-deploy instans NLB di titik masuk lalu lintas dan mengonfigurasikannya dengan Sertifikat SSL serta sertifikat Certificate Authority (CA). Autentikasi timbal balik TCP/SSL meningkatkan keamanan layanan Anda dengan mengotentikasi kedua pihak yang berkomunikasi.
Informasi latar belakang
Autentikasi satu arah: Klien mengotentikasi server, tetapi server tidak mengotentikasi klien. Klien meminta dan memverifikasi sertifikat kunci publik server sebelum membangun saluran komunikasi aman.
Autentikasi timbal balik: Klien meminta dan memverifikasi sertifikat kunci publik server. Server juga meminta dan memverifikasi sertifikat kunci publik klien. Saluran komunikasi aman untuk transmisi data hanya dibangun setelah kedua pihak terotentikasi. Proses ini memberikan tingkat keamanan yang lebih tinggi bagi layanan Anda.
Prasyarat
Instans NLB telah dibuat. Untuk informasi selengkapnya, lihat Buat dan kelola instans NLB.
Anda telah membuat tiga instans Elastic Compute Service (ECS). Untuk informasi selengkapnya, lihat Buat instans menggunakan wizard.
Instans ECS01 dan ECS02 berfungsi sebagai server backend untuk instans NLB. Dua layanan aplikasi berbeda dideploy pada ECS01 dan ECS02.
Instans ECS03 digunakan untuk menghasilkan sertifikat server dan klien tanda tangan sendiri. OpenSSL 1.1.1 atau versi yang lebih baru dari situs resmi OpenSSL telah diunduh dan diinstal pada instans ECS03. Alternatifnya, Anda dapat menggunakan server Linux yang sudah ada untuk membuat sertifikat tanda tangan sendiri. Dalam kasus ini, Anda tidak perlu membuat instans ECS03.
Anda telah membuat grup server NLB dan menambahkan server backend ECS01 dan ECS02 ke dalamnya. Topik ini menggunakan 80 sebagai port backend untuk kedua instans ECS01 dan ECS02.
PentingProtokol backend grup server harus berupa TCP. Permintaan yang dikirim dari NLB ke server backend telah didekripsi SSL, sehingga server backend tidak perlu melakukan dekripsi SSL pada permintaan yang diterima.
Anda tidak dapat mengaitkan pendengar yang menggunakan SSL over TCP dengan grup server yang memiliki fitur client IP preservation diaktifkan. Pastikan fitur tersebut dinonaktifkan untuk grup server.
Langkah 1: Siapkan sertifikat CA
Login ke Konsol Layanan Manajemen Sertifikat.
Pada panel navigasi kiri, klik PCA Certificate Management.
Pada halaman PCA Certificate Management, klik tab Private CAs dan temukan sertifikat root CA target.
Klik ikon
di samping sertifikat root CA target. Temukan intermediate CA pribadi target, lalu pada kolom Actions, klik Request Certificate.Pada panel Request Certificate, konfigurasi informasi sertifikat dan klik Confirm.
Topik ini hanya menjelaskan parameter yang relevan dengan topik ini. Untuk informasi selengkapnya tentang permintaan sertifikat, lihat Kelola sertifikat pribadi.
Parameter
Deskripsi
Certificate Type
Jenis sertifikat pribadi. Pilih Client Certificate.
Name
Parameter ini hanya wajib untuk sertifikat klien. Ini merupakan pengenal unik untuk pengguna klien.
Untuk contoh ini, masukkan nama domain dari instans NLB yang telah dibuat.
Validity Period
Periode validitas sertifikat pribadi. Periode ini tidak boleh melebihi durasi layanan Private Certificate Authority (PCA) yang Anda beli.
Contoh ini menggunakan nilai default 30 hari.
Setelah Anda mengirim permintaan sertifikat, sertifikat akan langsung diterbitkan. Anda dapat mengklik Certificates pada kolom Actions untuk private CA target guna melihat sertifikat yang diterbitkan pada halaman Certificate List.
Langkah 2: Siapkan sertifikat server
Browser dapat memeriksa apakah sertifikat yang dikirim oleh server dikeluarkan oleh CA tepercaya. Topik ini menjelaskan dua metode untuk mendapatkan sertifikat server: membelinya dari Layanan Manajemen Sertifikat atau membuat dan mengunggah sertifikat tanda tangan sendiri.
Metode 1: Beli sertifikat server
Anda dapat membeli sertifikat server dari Konsol Layanan Manajemen Sertifikat Digital Alibaba Cloud atau dari penyedia layanan lain. Untuk informasi selengkapnya tentang cara membeli sertifikat server, lihat Beli sertifikat DV.
Metode 2: Buat sertifikat server tanda tangan sendiri
Login jarak jauh ke ECS03 dan jalankan perintah berikut untuk menghasilkan sertifikat server tanda tangan sendiri. Saat menghasilkan sertifikat server tanda tangan sendiri, pastikan sertifikat CA disimpan di ECS03. Pada topik ini, file sertifikat CA adalah
root.crtdanroot.key.Jalankan perintah berikut untuk menghasilkan kunci privat untuk sertifikat server.
sudo openssl genrsa -out server.key 4096Jalankan perintah berikut untuk menghasilkan file CSR untuk sertifikat server.
sudo openssl req -new -out server.csr -key server.keyMasukkan nilai parameter sesuai permintaan. Output berikut adalah contohnya:
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 []:PentingUntuk Common Name, masukkan nama domain yang akan diikat ke sertifikat server. Pastikan nama domain tersebut valid. Nilai parameter lainnya harus sama dengan yang digunakan untuk menghasilkan sertifikat root dan klien.
Pada topik ini, instans NLB menyediakan layanan ke publik melalui nama domain kustom
www.example.com, yang diselesaikan oleh DNS. Untuk Common Name, masukkan nama domain kustomwww.example.com.Jalankan perintah berikut untuk menghasilkan sertifikat kunci publik untuk server.
sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650Gambar berikut menunjukkan contoh output.

Jalankan perintah berikut untuk membuat folder guna menyimpan sertifikat server.
sudo mkdir -p /root/sslJalankan perintah berikut untuk menyalin sertifikat server ke folder tujuan.
sudo cp server.crt /root/ssl sudo cp server.key /root/sslJalankan perintah berikut untuk melihat sertifikat server yang dihasilkan
server.crtdan kunci privatnyaserver.key.cd /root/ssl lsGambar berikut menunjukkan contoh output.

Topik ini menggunakan klien Windows sebagai contoh. Buka jendela command-line pada klien Windows dan jalankan perintah berikut untuk mengekspor file sertifikat server yang dihasilkan pada langkah 1 ke desktop.
scp root@IPaddress:/root/ssl/server.crt C:\Users\Public\Desktop # Ganti IPaddress dengan alamat IP server tempat sertifikat server dihasilkan. scp root@IPaddress:/root/ssl/server.key C:\Users\Public\Desktop # Ganti IPaddress dengan alamat IP server tempat sertifikat server dihasilkan.Login ke Konsol Layanan Sertifikat.
Pada panel navigasi kiri, pilih .
Pada tab Upload Certificate, klik Upload Certificate.
Pada panel Uploaded, atur parameter berikut dan klik OK.
Untuk informasi selengkapnya, lihat Unggah, sinkronkan, dan bagikan Sertifikat SSL.
Parameter
Deskripsi
Certificate Algorithm
Pada contoh ini, pilih International Standard.
Certificate Name
Masukkan nama untuk sertifikat yang ingin Anda unggah.
Certificate File
Masukkan konten sertifikat dalam format PEM.
Anda dapat menggunakan editor teks untuk membuka file sertifikat dalam format PEM atau CRT, menyalin kontennya, lalu menempelkannya ke kotak teks. Anda juga dapat mengklik Upload And Parse File di bawah kotak teks dan memilih file sertifikat yang disimpan di komputer Anda untuk mengunggah konten file ke kotak teks.
Pada contoh ini, unggah file sertifikat server yang diekspor
server.crt.Certificate Key
Masukkan konten kunci privat sertifikat dalam format PEM.
Anda dapat menggunakan editor teks untuk membuka file kunci privat dalam format KEY, menyalin kontennya, lalu menempelkannya ke kotak teks. Anda juga dapat mengklik Upload And Parse File di bawah kotak teks dan memilih file kunci privat yang disimpan di komputer Anda untuk mengunggah konten file ke kotak teks.
Pada contoh ini, unggah file kunci privat sertifikat server yang diekspor
server.key.Certificate Chain
Encoding rantai sertifikat. Parameter ini tidak dikonfigurasi pada contoh ini.
Langkah 3: Siapkan sertifikat klien
Siapkan sertifikat klien yang memenuhi kebutuhan Anda.
Login ke Konsol Layanan Manajemen Sertifikat.
Pada panel navigasi kiri, klik PCA Certificate Management.
Pada halaman PCA Certificate Management, klik tab Private CAs dan temukan sertifikat root CA target.
Untuk informasi selengkapnya, lihat Beli dan aktifkan private CA.
Klik ikon
di samping sertifikat root CA target. Lalu, temukan sertifikat intermediate CA target dan klik Certificates pada kolom Operations.Pada halaman Certificates, temukan sertifikat pribadi yang ingin Anda unduh dan klik Download pada kolom Actions.
Pada kotak dialog Download Certificate, pilih format sertifikat dan klik Confirm and Download. Misalnya, jika Anda mengunduh sertifikat dalam format CRT, sertifikat klien diberi nama
client.crtdan kunci privat klien diberi namaclient.key.Konversi sertifikat klien ke file PKCS12 yang kompatibel dengan browser.
Login jarak jauh ke instans ECS03. Untuk informasi selengkapnya, lihat Panduan Koneksi Jarak Jauh ECS.
Jalankan perintah berikut untuk membuat direktori guna menyimpan sertifikat klien.
sudo mkdir -p /root/ca/usersUnggah sertifikat klien yang dihasilkan
client.crtdan kunci privatclient.keyke direktori `users`.Jalankan perintah berikut untuk mengonversi sertifikat klien ke file PKCS12.
sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12Saat diminta, atur password enkripsi untuk kunci privat klien.
Masukkan password ekspor. Password ini melindungi sertifikat klien dan diperlukan saat Anda menginstalnya.
Output perintah ditunjukkan pada gambar berikut:

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

Topik ini menggunakan klien Windows sebagai contoh. Pada mesin lokal Anda, buka jendela command-line dan jalankan perintah berikut untuk mengekspor sertifikat klien yang dihasilkan dari instans ECS.
scp root@IPaddress:/root/ca/users/client.p12 C:\Users\Public\Desktop #IPaddress adalah alamat IP server tempat sertifikat klien dihasilkan.
Langkah 4: Instal sertifikat klien
Instal sertifikat klien yang dihasilkan pada klien. Topik ini memberikan contoh untuk klien Windows dan Linux.
Klien Windows
Impor sertifikat klien yang diunduh ke Microsoft Edge.
Buka Microsoft Edge dan pilih .
Pada panel navigasi kiri, klik tab Privacy, Search, and Services. Pada bagian Security, klik Manage Certificates untuk mengimpor file PKCS12 yang diunduh. Anda harus memasukkan password yang ditetapkan saat mengekspor sertifikat pada Langkah 3: Siapkan sertifikat klien.
Klien Linux
Setelah menghasilkan sertifikat klien pada server ECS03, sertifikat tersebut disimpan dalam folder di server. Untuk memverifikasi autentikasi timbal balik NLB pada klien Linux lain, Anda harus terlebih dahulu menyalin sertifikat autentikasi timbal balik ke folder pada klien tersebut.
Login ke klien Linux. Jalankan perintah berikut untuk menyalin sertifikat klien, sertifikat server, dan sertifikat root ke folder.
Buat folder.
sudo mkdir /root/caUbah izin folder.
sudo chmod 700 /root/caJalankan perintah berikut untuk menyalin file sertifikat ke folder pada klien Linux saat ini.
Jalur berikut hanya sebagai referensi. Gunakan jalur aktual dari pengaturan Anda.
sudo scp home@IPaddress:/root/ca/users/client.crt /root/ca // Ganti IPaddress dengan alamat IP server tempat sertifikat klien dihasilkan. sudo scp home@IPaddress:/root/ca/root.crt /root/ca // Ganti IPaddress dengan alamat IP server tempat sertifikat root dihasilkan. sudo scp home@IPaddress:/root/ca/root.key /root/ca // Ganti IPaddress dengan alamat IP server tempat sertifikat root dihasilkan. sudo scp home@IPaddress:/root/ssl/server.crt /root/ca // Ganti IPaddress dengan alamat IP server tempat sertifikat server dihasilkan. sudo scp home@IPaddress:/root/SSL/server.key /root/ca // Ganti IPaddress dengan alamat IP server tempat sertifikat server dihasilkan.
Langkah 5: Konfigurasi autentikasi timbal balik untuk pendengar TCP/SSL
Login ke Konsol NLB.
Pada bilah navigasi atas, pilih wilayah tempat instans NLB dideploy.
Pada halaman Instances, temukan instans target dan klik Create Listener pada kolom Actions.
Pada wizard Configure Listener, atur parameter berikut dan klik Next.
Topik ini hanya menjelaskan parameter yang relevan dengan contoh ini. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Tambahkan pendengar TCP/SSL.
Konfigurasi
Deskripsi
Listener Protocol
Pilih protokol pendengar. Pada contoh ini, pilih TCPSSL.
Listener Port
Masukkan port pendengar yang digunakan untuk menerima permintaan dan meneruskannya ke server backend. Pada contoh ini, masukkan 443.
Pada wizard Configure SSL Certificate, pilih sertifikat server yang Anda beli atau unggah pada Langkah 2: Siapkan sertifikat server dari daftar drop-down Server Certificate.
Aktifkan sakelar Enable Mutual Authentication, pilih Issued by Alibaba Cloud sebagai sumber sertifikat CA, lalu pilih sertifikat CA yang dibeli dari daftar drop-down Select Default CA Certificate.
Pilih TLS Security Policy dan klik Next.
Pada wizard Select Server Group, pilih grup server yang telah Anda buat, tinjau informasi server backend ECS01 dan ECS02, lalu klik Next. Pada contoh ini, port diatur ke 80 untuk kedua server.
Pada wizard Review Configurations, konfirmasi konfigurasi dan klik Submit.
Langkah 6: Verifikasi autentikasi timbal balik TCP/SSL
Klien Windows
Kembali ke halaman Instances NLB. Klik ID instans NLB target lalu klik tab Listener untuk melihat status pemeriksaan kesehatan pendengar TCP/SSL.
Jika kolom Health Check Status menampilkan Normal, ini menunjukkan bahwa server backend dapat menerima dan memproses permintaan yang diteruskan oleh pendengar TCP/SSL instans NLB dengan baik.
Pada bilah alamat browser Anda, masukkan
https://<nama domain yang terkait dengan sertifikat server>. Misalnya, masukkanhttps://www.example.com. Pada kotak dialog yang muncul, pilih sertifikat untuk verifikasi identitas klien dan klik OK.
Karena caching browser, kami menyarankan agar Anda menggunakan mode penyamaran atau mode pribadi browser untuk mengakses nama domain setiap kali memverifikasi load balancing lapisan 4. Ini memungkinkan Anda memastikan bahwa permintaan didistribusikan ke kedua instans ECS.


Klien Linux
Login ke klien Linux yang menyimpan sertifikat root, server, dan klien. Jalankan perintah berikut untuk memverifikasi autentikasi timbal balik NLB.
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 terkait dengan sertifikat server instans NLB.
Jika Anda menerima pesan respons yang mirip dengan yang ditunjukkan pada gambar berikut, ini menunjukkan bahwa klien dan server telah menyelesaikan autentikasi timbal balik dan permintaan didistribusikan ke kedua instans ECS.
> Settings