Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Application Gateway v2 SKU memperkenalkan penggunaan Sertifikat Akar Tepercaya untuk memungkinkan koneksi TLS dengan server backend. Ketentuan ini menghapus penggunaan sertifikat autentikasi (sertifikat Daun individual) yang diperlukan dalam SKU v1. Sertifikat root adalah sertifikat berformat X.509 (.CER) yang dienkode Base-64 dari server sertifikat backend. Ini mengidentifikasi otoritas sertifikat akar (CA) yang mengeluarkan sertifikat server dan sertifikat server kemudian digunakan untuk komunikasi TLS/SSL.
Application Gateway mempercayai sertifikat situs web Anda secara default jika ditandatangani oleh CA terkenal (misalnya, GoDaddy atau DigiCert). Anda tidak perlu mengunggah sertifikat akar secara eksplisit dalam kasus tersebut. Untuk informasi selengkapnya, lihat Ikhtisar terminasi TLS dan TLS end to end dengan Application Gateway. Namun, jika Anda memiliki lingkungan dev/test dan tidak ingin membeli sertifikat yang ditandatangani CA terverifikasi, Anda dapat membuat CA Root kustom Anda sendiri dan sertifikat cabang yang ditandatangani oleh CA Root tersebut.
Nota
Sertifikat yang dihasilkan sendiri tidak dipercaya secara default dan bisa sulit dipertahankan. Selain itu, mereka dapat menggunakan hash dan kumpulan sandi kedaluwarsa yang mungkin tidak kuat. Untuk keamanan yang lebih baik, beli sertifikat yang ditandatangani oleh otoritas sertifikat terkenal.
Anda dapat menggunakan opsi berikut untuk menghasilkan sertifikat privat Anda untuk koneksi TLS backend.
Gunakan alat generator sertifikat privat satu klik. Dengan menggunakan nama domain (Nama Umum) yang Anda berikan, alat ini melakukan langkah yang sama seperti yang didokumenkan dalam artikel ini untuk menghasilkan sertifikat Root dan Server. Dengan file sertifikat yang dihasilkan, Anda dapat segera mengunggah sertifikat Akar (. CER) ke Pengaturan Backend gateway Anda dan rantai sertifikat yang sesuai (. PFX) ke server backend. Kata sandi untuk file PFX juga disediakan dalam file ZIP yang diunduh.
Gunakan perintah OpenSSL untuk menyesuaikan dan menghasilkan sertifikat sesuai kebutuhan Anda. Lanjutkan untuk mengikuti instruksi dalam artikel ini jika Anda ingin melakukan ini sepenuhnya sendiri.
Dalam artikel ini, Anda akan mempelajari cara:
- Membuat Otoritas Sertifikat kustom Anda sendiri
- Membuat sertifikat yang ditandatangani sendiri yang ditandatangani oleh CA kustom Anda
- Mengunggah sertifikat akar yang ditandatangani sendiri ke Application Gateway untuk mengautentikasi server backend
Prasyarat
OpenSSL di komputer yang menjalankan Windows atau Linux
Meskipun mungkin ada alat lain yang tersedia untuk manajemen sertifikat, tutorial ini menggunakan OpenSSL. Anda dapat menemukan OpenSSL yang dibundel dengan banyak distribusi Linux, seperti Ubuntu.
Server web
Misalnya, Apache, IIS, atau NGINX untuk menguji sertifikat.
An Application Gateway v2 SKU
Jika Anda tidak memiliki gateway aplikasi yang sudah ada, lihat Mulai Cepat: Mengarahkan lalu lintas web dengan Azure Application Gateway - portal Microsoft Azure.
Buat sertifikat CA akar
Gunakan OpenSSL untuk membuat sertifikat CA root.
Buat kunci akar
Masuk ke komputer Anda tempat OpenSSL diinstal dan jalankan perintah berikut. Ini membuat kunci terenkripsi.
openssl ecparam -out contoso.key -name prime256v1 -genkey
Membuat Sertifikat Akar dan menandatanganinya sendiri
Gunakan perintah berikut untuk menghasilkan Permintaan Penandatanganan Sertifikat (CSR).
openssl req -new -sha256 -key contoso.key -out contoso.csr
Saat diminta, ketik kata sandi untuk kunci akar, dan informasi organisasi untuk CA kustom seperti Negara/Wilayah, Negara Bagian, Organisasi, OU, dan nama domain yang sepenuhnya memenuhi syarat (ini adalah domain penerbit).
Gunakan perintah berikut untuk menghasilkan Sertifikat Akar.
openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crt
Perintah sebelumnya membuat sertifikat induk. Anda akan menggunakan ini untuk menandatangani sertifikat server Anda.
Buat sertifikat server
Selanjutnya, Anda akan membuat sertifikat server menggunakan OpenSSL.
Membuat kunci sertifikat
Gunakan perintah berikut untuk menghasilkan kunci untuk sertifikat server.
openssl ecparam -out fabrikam.key -name prime256v1 -genkey
Membuat CSR (Permintaan Penandatanganan Sertifikat)
CSR adalah kunci umum yang diberikan kepada CA saat meminta sertifikat. CA mengeluarkan sertifikat untuk permintaan khusus ini.
Nota
CN (Nama Umum) untuk sertifikat server harus berbeda dari domain penerbit. Misalnya, dalam hal ini, CN untuk penerbit adalah www.contoso.com
dan CN sertifikat server adalah www.fabrikam.com
.
Gunakan perintah berikut untuk menghasilkan CSR:
openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr
Saat diminta, ketik kata sandi untuk kunci akar, dan informasi organisasi untuk CA kustom: Negara/Wilayah, Negara Bagian, Organisasi, OU, dan nama domain yang sepenuhnya memenuhi syarat. Alamat domain situs web ini harus berbeda dari penerbitnya.
Buat sertifikat dengan CSR dan kunci dan tanda tangani dengan kunci akar CA
Gunakan perintah berikut untuk membuat sertifikat:
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256
Memverifikasi sertifikat yang baru dibuat
Gunakan perintah berikut untuk mencetak output file CRT dan memverifikasi kontennya:
openssl x509 -in fabrikam.crt -text -noout
Verifikasi file di direktori Anda, dan pastikan Anda memiliki file berikut:
- contoso.crt
- contoso.key
- fabrikam.crt
- fabrikam.key
Mengonfigurasi sertifikat di pengaturan TLS server web Anda
Di server web Anda, konfigurasikan TLS menggunakan file fabrikam.crt dan fabrikam.key. Jika server web Anda tidak dapat mengambil dua file, Anda dapat menggabungkannya ke satu file .pem atau .pfx menggunakan perintah OpenSSL.
IIS
Untuk instruksi tentang cara mengimpor sertifikat dan mengunggahnya sebagai sertifikat server di IIS, lihat CARA: Menginstal Sertifikat yang Diimpor pada Server Web di Windows Server 2003.
Untuk instruksi pengikatan TLS, lihat Cara Menyiapkan SSL di IIS 7.
Apache
Konfigurasi berikut adalah contoh host virtual yang dikonfigurasi untuk SSL di Apache:
<VirtualHost www.fabrikam:443>
DocumentRoot /var/www/fabrikam
ServerName www.fabrikam.com
SSLEngine on
SSLCertificateFile /home/user/fabrikam.crt
SSLCertificateKeyFile /home/user/fabrikam.key
</VirtualHost>
NGINX
Konfigurasi berikut adalah contoh blok server NGINX dengan konfigurasi TLS:
Mengakses server untuk memverifikasi konfigurasi
Tambahkan sertifikat akar ke penyimpanan akar tepercaya komputer Anda. Saat Anda mengakses situs web, pastikan seluruh rantai sertifikat terlihat di browser.
Nota
Diasumsikan bahwa DNS telah dikonfigurasi untuk mengarahkan nama server web (dalam contoh ini,
www.fabrikam.com
) ke alamat IP server web Anda. Jika tidak, Anda dapat mengedit file hosts untuk menyelesaikan masalah nama.Telusuri situs web Anda, dan klik ikon kunci pada kotak alamat browser Anda untuk memverifikasi informasi situs dan sertifikat.
Memverifikasi konfigurasi dengan OpenSSL
Atau, Anda dapat menggunakan OpenSSL untuk memverifikasi sertifikat.
openssl s_client -connect localhost:443 -servername www.fabrikam.com -showcerts
Mengunggah sertifikat akar ke Pengaturan HTTP Application Gateway
Untuk mengunggah sertifikat di Application Gateway, Anda harus mengekspor sertifikat .crt ke dalam format .cer base-64 yang dikodekan. Karena .crt sudah berisi kunci publik dalam format yang dikodekan base-64, cukup ganti nama ekstensi file dari .crt menjadi .cer.
Portal Microsoft Azure
Untuk mengunggah sertifikat akar tepercaya dari portal, pilih Pengaturan Backend dan pilih HTTPS di protokol Backend.
Azure PowerShell
Atau, Anda dapat menggunakan Azure CLI atau Azure PowerShell untuk mengunggah sertifikat akar. Kode berikut adalah sampel Azure PowerShell.
Nota
Sampel berikut menambahkan sertifikat akar tepercaya ke gateway aplikasi, membuat pengaturan HTTP baru dan menambahkan aturan baru, dengan asumsi kumpulan backend dan pendengar sudah ada.
## Add the trusted root certificate to the Application Gateway
$gw=Get-AzApplicationGateway -Name appgwv2 -ResourceGroupName rgOne
Add-AzApplicationGatewayTrustedRootCertificate `
-ApplicationGateway $gw `
-Name CustomCARoot `
-CertificateFile "C:\Users\surmb\Downloads\contoso.cer"
$trustedroot = Get-AzApplicationGatewayTrustedRootCertificate `
-Name CustomCARoot `
-ApplicationGateway $gw
## Get the listener, backend pool and probe
$listener = Get-AzApplicationGatewayHttpListener `
-Name basichttps `
-ApplicationGateway $gw
$bepool = Get-AzApplicationGatewayBackendAddressPool `
-Name testbackendpool `
-ApplicationGateway $gw
Add-AzApplicationGatewayProbeConfig `
-ApplicationGateway $gw `
-Name testprobe `
-Protocol Https `
-HostName "www.fabrikam.com" `
-Path "/" `
-Interval 15 `
-Timeout 20 `
-UnhealthyThreshold 3
$probe = Get-AzApplicationGatewayProbeConfig `
-Name testprobe `
-ApplicationGateway $gw
## Add the configuration to the HTTP Setting and don't forget to set the "hostname" field
## to the domain name of the server certificate as this will be set as the SNI header and
## will be used to verify the backend server's certificate. Note that TLS handshake will
## fail otherwise and might lead to backend servers being deemed as Unhealthy by the probes
Add-AzApplicationGatewayBackendHttpSettings `
-ApplicationGateway $gw `
-Name testbackend `
-Port 443 `
-Protocol Https `
-Probe $probe `
-TrustedRootCertificate $trustedroot `
-CookieBasedAffinity Disabled `
-RequestTimeout 20 `
-HostName www.fabrikam.com
## Get the configuration and update the Application Gateway
$backendhttp = Get-AzApplicationGatewayBackendHttpSettings `
-Name testbackend `
-ApplicationGateway $gw
Add-AzApplicationGatewayRequestRoutingRule `
-ApplicationGateway $gw `
-Name testrule `
-RuleType Basic `
-BackendHttpSettings $backendhttp `
-HttpListener $listener `
-BackendAddressPool $bepool
Set-AzApplicationGateway -ApplicationGateway $gw
Memverifikasi kesehatan backend gateway aplikasi
- Klik Kesehatan Backend pada gateway aplikasi Anda untuk memeriksa apakah probe berfungsi dengan baik.
- Anda akan melihat bahwa Status adalah Sehat untuk pemeriksaan HTTPS.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang SSL\TLS di Application Gateway, lihat Gambaran Umum penghentian TLS dan TLS end to end dengan Application Gateway.