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. Fitur 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 CA terkenal (misalnya, GoDaddy atau DigiCert) menandatanganinya. Mengunggah sertifikat akar secara eksplisit tidak diperlukan dalam hal ini. 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.
Note
Sertifikat yang dihasilkan sendiri tidak dipercaya secara default dan bisa sulit dipertahankan. Selain itu, mereka dapat menggunakan hash dan cipher suite kedaluarsa yang tidak kuat. Untuk keamanan yang lebih baik, beli sertifikat yang ditandatangani oleh otoritas sertifikat terkenal.
Gunakan opsi berikut untuk menghasilkan sertifikat privat Anda untuk koneksi TLS backend.
Gunakan alat generator sertifikat privat. 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 proses 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
Prerequisites
OpenSSL di komputer yang menjalankan Windows atau Linux
Meskipun alat lain mungkin 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
Buat sertifikat CA akar Anda dengan menggunakan OpenSSL.
Buat kunci akar
Masuk ke komputer Anda tempat OpenSSL diinstal dan jalankan perintah berikut. Perintah 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.csrSaat diminta, ketik kata sandi untuk kunci akar, dan informasi organisasi untuk CA kustom seperti negara/wilayah, status, organisasi, OU, dan nama domain yang sepenuhnya memenuhi syarat (domain ini adalah penerbit).
Gunakan perintah berikut untuk menghasilkan sertifikat akar.
openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crtPerintah sebelumnya membuat sertifikat induk. Anda menggunakan sertifikat ini untuk menandatangani sertifikat server Anda.
Buat sertifikat server
Selanjutnya, Anda membuat sertifikat server dengan 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 Anda berikan kepada CA saat meminta sertifikat. CA mengeluarkan sertifikat untuk permintaan khusus ini.
Note
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.csrSaat 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. Domain ini adalah domain situs web dan harus berbeda dari penerbit.
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 dengan menggunakan file fabrikam.crt dan fabrikam.key. Jika server web Anda tidak dapat mengambil dua file, Anda dapat menggabungkannya ke dalam satu file .pem atau .pfx dengan 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 dengan sertifikat yang ditandatangani sendiri
Tambahkan sertifikat akar ke penyimpanan akar tepercaya komputer Anda. Saat Anda mengakses situs web, pastikan seluruh rantai sertifikat terlihat di browser.
Note
DNS harus 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 Azure
Untuk mengunggah sertifikat akar tepercaya dari portal, pilih Pengaturan Backend dan pilih HTTPS di protokol Backend.
Azure PowerShell
Atau, gunakan Azure CLI atau Azure PowerShell untuk mengunggah sertifikat akar. Kode berikut adalah sampel Azure PowerShell.
Note
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
- Pilih tampilan Kesehatan Backend di gateway aplikasi Anda untuk memeriksa apakah pengujian berfungsi dengan baik.
- Anda akan melihat bahwa Status adalah Sehat untuk pemeriksaan HTTPS.
Langkah selanjutnya
Untuk mempelajari selengkapnya tentang SSL\TLS di Application Gateway, lihat Gambaran Umum penghentian TLS dan TLS end to end dengan Application Gateway.