Untuk skenario keamanan tinggi seperti transaksi finansial, layanan kesehatan, perbankan, dan pembayaran online, otentikasi satu arah tradisional—yang hanya memverifikasi identitas server—sering kali tidak mencukupi. Dalam model otentikasi satu arah, server mempercayai semua klien yang terhubung dengannya, sehingga berpotensi menimbulkan risiko keamanan seperti serangan man-in-the-middle dan akses tidak sah. Anda dapat meningkatkan keamanan dengan menggunakan fitur otentikasi timbal balik HTTPS dari Anti-DDoS Proxy. Otentikasi timbal balik mengharuskan klien dan server saling memverifikasi identitas sebelum membuka saluran komunikasi yang aman. Topik ini menjelaskan cara mengonfigurasi otentikasi timbal balik tersebut.
Cara kerja
Mengapa menggunakan otentikasi timbal balik
Sebagian besar aplikasi web menggunakan otentikasi satu arah untuk membuat koneksi HTTPS. Klien memverifikasi identitas server guna memastikan koneksi dilakukan ke server yang benar.
Untuk aplikasi yang memerlukan keamanan lebih tinggi, server juga harus memverifikasi identitas klien. Otentikasi timbal balik memastikan hanya klien yang sah yang dapat mengakses layanan, sehingga mengurangi risiko seperti serangan man-in-the-middle dan akses tidak sah.
Perbandingan antara otentikasi satu arah dan otentikasi timbal balik
Item | Otentikasi satu arah | Otentikasi timbal balik |
Certificate files | Sertifikat server: | Sertifikat server: Sertifikat klien: Sertifikat root CA
|
Proses handshake | | |
Kasus penggunaan
Untuk skenario bisnis dengan persyaratan keamanan tinggi, seperti transaksi finansial, layanan kesehatan, perbankan, Internet of Things (IoT), dan pembayaran online, Anda juga harus memverifikasi identitas klien.
Jika verifikasi identitas klien tidak diperlukan, Anda tidak perlu menggunakan otentikasi timbal balik.
Contoh skenario
Pertimbangkan platform layanan e-government yang menggunakan Anti-DDoS Proxy untuk melindungi dari Serangan DDoS. Untuk mencegah penyerang menyamar sebagai nama domain platform, mengarahkan pengguna ke situs phishing yang menyebabkan kebocoran data, atau melakukan scraping API publik menggunakan alat otomatis, konfigurasikan otentikasi timbal balik HTTPS saat menambahkan domain ke Anti-DDoS Proxy.
Otentikasi server: Klien memverifikasi sertifikat server yang dikonfigurasi pada Anti-DDoS Proxy untuk memastikan koneksi dilakukan ke server yang sah.
Otentikasi klien: Anti-DDoS Proxy memverifikasi sertifikat klien terhadap sertifikat CA yang telah dikonfigurasi, sehingga hanya klien yang sah yang dapat terhubung.
Langkah 1: Buat sertifikat CA dan sertifikat klien
Metode 1: Alibaba Cloud CA
Untuk informasi selengkapnya, lihat Ajukan sertifikat pribadi.
Beli dan aktifkan CA pribadi.
Catatan CA pribadi dapat berisi satu atau beberapa CA subordinat di bawah root CA. Hanya CA subordinat yang dapat menerbitkan sertifikat pribadi, termasuk sertifikat server dan sertifikat klien.
Gunakan CA subordinat pribadi untuk mengajukan sertifikat klien.
Login ke Konsol Layanan Manajemen Sertifikat. Di panel navigasi kiri, pilih .
Pada tab Private CAs, temukan CA subordinat target lalu klik Apply for Certificate di kolom Actions.
Pada panel Apply for Certificate, konfigurasikan informasi sertifikat lalu klik Confirm.
Dalam skenario ini, atur Certificate Type menjadi Client Certificate, dan untuk Personal Name, masukkan identifier unik pengguna klien. Anda dapat mempertahankan nilai default untuk parameter lainnya atau menyesuaikannya sesuai kebutuhan.
Setelah Anda mengirimkan permohonan, CA pribadi akan langsung menerbitkan sertifikat tersebut. Anda kemudian dapat mengklik Certificates di kolom Actions untuk CA perantara guna melihat sertifikat yang telah diterbitkan.
Ekspor sertifikat klien.
Pada tab Private CAs, temukan CA subordinat target lalu klik Certificates di kolom Actions.
Pada halaman Certificates, temukan sertifikat pribadi target lalu klik Download di kolom Actions.
Pada kotak dialog Download Certificate, pilih format sertifikat yang dibutuhkan lalu klik Confirm and Download. Centang kotak Include Trust Chain untuk menyertakan rantai sertifikat lengkap.
Dalam skenario ini, atur Certificate Format menjadi PFX, yang dikenali oleh browser.
Paket file yang diunduh mencakup file sertifikat klien dengan ekstensi .pfx dan file teks dengan ekstensi .txt yang berisi password untuk kunci privat klien.
Contohnya, client-alb.pfx dan pfx-password.txt.
Metode 2: CA self-signed
Anda dapat menggunakan sertifikat root CA self-signed atau sertifikat CA subordinat self-signed untuk otentikasi timbal balik. Contoh ini menggunakan sertifikat root CA self-signed.
Gunakan OpenSSL untuk menghasilkan sertifikat root CA self-signed.
Jalankan perintah berikut untuk membuat kunci privat untuk sertifikat root CA:
openssl genrsa -out root.key 4096
Jalankan perintah berikut untuk membuat permintaan penandatanganan sertifikat (CSR) untuk sertifikat root CA:
openssl req -new -out root.csr -key root.key
Masukkan informasi yang diminta saat prompt muncul. Contoh kode berikut memberikan ilustrasi:
Catatan Pastikan Common Name untuk sertifikat CA bersifat unik dan tidak sama dengan Common Name untuk sertifikat server atau sertifikat klien.
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) []:root
Email Address []:a****@example.com
A challenge password []:
An optional company name []:
Jalankan perintah berikut untuk membuat sertifikat root CA:
openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650
Output berikut dikembalikan:
Signature ok
subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = root, emailAddress = a****@example.com
Getting Private Key
Jalankan perintah ls untuk melihat sertifikat root CA yang dihasilkan root.crt dan kunci privatnya root.key.
Anda dapat mengunduh file sertifikat root CA ini ke komputer Anda untuk digunakan nanti.
Gunakan sertifikat root CA untuk menghasilkan sertifikat klien.
Jalankan perintah berikut untuk menghasilkan kunci privat untuk sertifikat klien:
openssl genrsa -out client.key 4096
Jalankan perintah berikut untuk menghasilkan CSR untuk sertifikat klien:
openssl req -new -out client.csr -key client.key
Masukkan informasi yang diminta saat prompt muncul. Contoh kode berikut memberikan ilustrasi:
Catatan Pastikan Common Name untuk sertifikat klien bersifat unik dan tidak sama dengan Common Name untuk sertifikat server, sertifikat root, atau sertifikat klien lainnya.
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) []:client-alb-user
Email Address []:username@example.com
A challenge password []:
An optional company name []:
Jalankan perintah berikut untuk menghasilkan sertifikat klien.
openssl x509 -req -in client.csr -out client.crt -CA root.crt -CAkey root.key -CAcreateserial -days 3650
Output berikut dikembalikan:
Signature ok
subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = client-alb-user, emailAddress = username@example.com
Getting CA Private Key
Jalankan perintah berikut untuk mengonversi sertifikat klien yang dihasilkan client.crt menjadi file PKCS12, yang dikenali oleh browser. Masukkan password enkripsi kunci privat klien saat diminta.
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
Jalankan perintah ls untuk melihat file sertifikat klien client.p12 yang dihasilkan.
Anda dapat mengunduh file sertifikat klien ini ke komputer Anda untuk digunakan nanti di sisi klien.
Unggah sertifikat root CA self-signed ke Layanan Manajemen Sertifikat Alibaba Cloud.
Login ke Konsol Layanan Manajemen Sertifikat.
Di panel navigasi kiri, pilih .
Pada halaman Certificate Application Repository, klik Create Repository. Pada panel Create Repository, atur Data Source menjadi Uploaded CA Certificates, lalu klik OK.
Atur Repository Name menjadi Custom-CA.
Pada halaman Certificate Application Repository, klik repositori yang telah Anda buat.
Pada halaman Certificate Management, klik Upload Certificate. Pada panel CA Information, unggah file sertifikat root CA root.crt, lalu klik Confirm and Enable.
Langkah 2: Konfigurasikan domain dan otentikasi
Login ke halaman Website Config di Konsol Anti-DDoS Proxy.
Di bilah navigasi atas, pilih wilayah instans Anda.
Pada halaman Website Config, klik Add Website dan ikuti petunjuk untuk menambahkan domain Anda.
Topik ini hanya menjelaskan cara mengaktifkan otentikasi timbal balik. Untuk informasi tentang parameter lainnya, lihat Tambahkan website.
Pada bagian konfigurasi HTTPS, centang kotak Mutual Authentication. Dari daftar drop-down Select CA Certificate Source, pilih sumber sertifikat. Dari daftar drop-down Select Default CA Certificate, pilih sertifikat CA yang sesuai.
Setelah konfigurasi selesai, salin alamat CNAME. Alamat ini ditampilkan di bawah nama domain pada halaman Website Config. Anda memerlukan nilai ini untuk mengonfigurasi resolusi nama domain.
Langkah 3: Konfigurasikan resolusi nama domain
Di lingkungan produksi, arahkan nama domain Anda ke alamat CNAME Anti-DDoS Proxy dengan membuat Rekaman CNAME.
Topik ini menggunakan nama domain yang DNS-nya dihosting di Alibaba Cloud DNS sebagai contoh. Jika Anda menggunakan penyedia layanan DNS lain, informasi ini hanya sebagai referensi.
Login ke Konsol Alibaba Cloud DNS.
Pada halaman Authoritative DNS Resolution, temukan domain target lalu klik Settings di kolom Actions.
Pada halaman Settings, temukan catatan yang ingin Anda ubah lalu klik Edit di kolom Actions.
Catatan Jika catatan tersebut tidak ada dalam daftar, klik Add Record.
Dalam skenario ini, atur Record Type menjadi CNAME dan Record Value menjadi alamat CNAME Anti-DDoS Proxy. Anda dapat mempertahankan nilai default untuk parameter lainnya atau menyesuaikannya sesuai kebutuhan.
Klik OK dan tunggu hingga pengaturan DNS berlaku.
Langkah 4: Uji otentikasi timbal balik HTTPS
Contoh ini menggunakan browser Chrome pada klien Windows untuk pengujian.
Instal sertifikat klien dari Langkah 1 pada perangkat klien.
Klik ganda file sertifikat klien yang telah diunduh dan ikuti wizard impor sistem operasi untuk menyelesaikan instalasi.
Di browser Anda, masukkan https://<your_domain_name>. Saat diminta, pilih sertifikat yang akan digunakan untuk verifikasi identitas klien.
Segarkan browser dan pastikan Anda dapat mengakses domain tersebut.