Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Application Gateway v2 SKU'su, arka uç sunucularıyla TLS bağlantılarına izin vermek için Güvenilen Kök Sertifikaların kullanılmasını sağlar. Bu özellik, v1 SKU'da gerekli olan kimlik doğrulama sertifikalarının (tek tek Yaprak sertifikaları) kullanımını kaldırır. Kök sertifika, arka uç sertifika sunucusundan gelen, Base-64 ile kodlanmış X.509 (.CER) formatında bir kök sertifikadır. Sunucu sertifikasını veren kök sertifika yetkilisini (CA) tanımlar ve ardından sunucu sertifikası TLS/SSL iletişimi için kullanılır.
Application Gateway, iyi bilinen bir CA (örneğin, GoDaddy veya DigiCert) imzalarsa web sitenizin sertifikasına varsayılan olarak güvenir. Bu durumda kök sertifikanın açıkça karşıya yüklenmesi gerekli değildir. Daha fazla bilgi için bkz. Application Gateway ile TLS sonlandırma ve uçtan uca TLS'ye genel bakış. Ancak geliştirme/test ortamınız varsa ve doğrulanmış CA imzalı sertifika satın almak istemiyorsanız, kendi özel Kök CA'nızı ve bu Kök CA tarafından imzalanmış bir yaprak sertifika oluşturabilirsiniz.
Note
Kendi kendine oluşturulan sertifikalara varsayılan olarak güvenilmez ve bakımını yapmak zor olabilir. Ayrıca, güçsüz olan eski hash ve şifreleme paketlerini de kullanabilirler. Daha iyi güvenlik için, iyi bilinen bir sertifika yetkilisi tarafından imzalanan bir sertifika satın alın.
Arka uç TLS bağlantıları için özel sertifikanızı oluşturmak için aşağıdaki seçenekleri kullanın.
Özel sertifika oluşturucu aracını kullanın. Sağladığınız etki alanı adını (Ortak Ad) kullanarak, bu araç Kök ve Sunucu sertifikaları oluşturmak için bu makalede belgelenen adımların aynısını gerçekleştirir. Oluşturulan sertifika dosyalarını kullanarak, Kök sertifika (.CER) dosyasını ağ geçidinizin Arka Uç Ayarına ve karşılık gelen sertifika zinciri (.PFX) dosyasını arka uç sunucusuna yükleyin. PFX dosyasının parolası da indirilen ZIP dosyasında sağlanır.
Gereksinimlerinize göre sertifikaları özelleştirmek ve oluşturmak için OpenSSL komutlarını kullanın. Bu işlemi tamamen kendi başınıza yapmak istiyorsanız bu makaledeki yönergeleri izlemeye devam edin.
Bu makalede şunları öğreneceksiniz:
- Kendi özel Sertifika Yetkilinizi oluşturma
- Kendi CA'nız tarafından imzalanacak kendi kendine imzalı bir sertifika oluşturun.
- Arka uç sunucusunun kimliğini doğrulamak için Application Gateway'e otomatik olarak imzalanan kök sertifika yükleme
Prerequisites
Windows veya Linux çalıştıran bir bilgisayarda OpenSSL
Sertifika yönetimi için başka araçlar da kullanılabilir olsa da, bu öğreticide OpenSSL kullanılır. OpenSSL'i Ubuntu gibi birçok Linux dağıtımıyla birlikte bulabilirsiniz.
Web sunucusu
Örneğin, sertifikaları test etmek için Apache, IIS veya NGINX.
Bir Application Gateway v2 SKU
Mevcut bir uygulama ağ geçidiniz yoksa Hızlı Başlangıç: Azure Application Gateway ile web trafiğini yönlendirme - Azure portalı'ya bakın.
Kök CA sertifikası oluşturma
OpenSSL kullanarak kök CA sertifikanızı oluşturun.
Kök anahtarı oluşturma
OpenSSL'nin yüklü olduğu bilgisayarınızda oturum açın ve aşağıdaki komutu çalıştırın. Bu komut, root özel anahtarı oluşturur. Anahtar şifrelenmemiş ve bir parolayla korunmuyor, bu nedenle contoso.key dosyasını güvenli bir yerde saklayın.
openssl ecparam -out contoso.key -name prime256v1 -genkey
Kök sertifika oluştur ve kendi kendine imzala
Sertifika İmzalama İsteği (CSR) oluşturmak için aşağıdaki komutu kullanın.
openssl req -new -sha256 -key contoso.key -out contoso.csrIstendiğinde, özel CA için ülke/bölge, eyalet, kuruluş, OU ve tam nitelikli alan adı (bu alan adı veren kurumdur) gibi organizasyon bilgilerini yazın. Kök anahtar şifreyle korunmadığı için OpenSSL size şifre istemiyor.
Kök sertifikayı oluşturmak için aşağıdaki komutu kullanın.
openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crtÖnceki komutlar kök sertifikayı oluşturur. Sunucu sertifikanızı imzalamak için bu sertifikayı kullanırsınız.
Sunucu sertifikası oluşturma
Ardından, OpenSSL kullanarak bir sunucu sertifikası oluşturursunuz.
Sertifikanın anahtarını oluşturma
Sunucu sertifikasının anahtarını oluşturmak için aşağıdaki komutu kullanın.
openssl ecparam -out fabrikam.key -name prime256v1 -genkey
CSR Oluşturma (Sertifika İmzalama İsteği)
CSR, sertifika isteğinde bulunurken CA'ya verdiğiniz bir ortak anahtardır. CA, bu özel istek için sertifikayı oluşturur.
Note
Sunucu sertifikasının CN'si (Ortak Ad), verenin etki alanından farklı olmalıdır. Örneğin, bu durumda, verenin CN'si www.contoso.com ve sunucu sertifikasının CN'si www.fabrikam.com olur.
CSR'yi oluşturmak için aşağıdaki komutu kullanın:
openssl req -new -sha256 -key fabrikam.key -out fabrikam.csrIstendiğinde, özel CA için organizasyon bilgilerini yazın: Ülke/Bölge, Eyalet, Kuruluş, OU ve tam nitelikli alan adı. Bu alan adı web sitesinin alan adıdır ve verenden farklı olmalıdır. Kök anahtar gibi, sunucu anahtarı da şifreyle korunmuyor, bu yüzden OpenSSL size şifre sormuyor.
SERTIFIKAyı CSR ve anahtarla oluşturun ve CA'nın kök anahtarıyla imzalayın
Sertifikayı oluşturmak için aşağıdaki komutu kullanın:
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256
Yeni oluşturulan sertifikayı doğrulama
CRT dosyasının çıkışını yazdırmak ve içeriğini doğrulamak için aşağıdaki komutu kullanın:
openssl x509 -in fabrikam.crt -text -noout
Dizininizdeki dosyaları doğrulayın ve aşağıdaki dosyalara sahip olduğunuzdan emin olun:
- contoso.crt
- contoso.key
- fabrikam.crt
- fabrikam.key
Web sunucunuzun TLS ayarlarında sertifikayı yapılandırma
Web sunucunuzda fabrikam.crt ve fabrikam.key dosyalarını kullanarak TLS'yi yapılandırın. Web sunucunuz iki dosya alamıyorsa, OpenSSL komutlarını kullanarak bunları tek bir .pem veya .pfx dosyasında birleştirebilirsiniz.
IIS
Sertifikayı içeri aktarma ve IIS'de sunucu sertifikası olarak karşıya yükleme yönergeleri için bkz . NASıL YAPıLıR: Windows Server 2003'te Bir Web Sunucusuna İçeri Aktarılan Sertifikaları Yükleme.
TLS bağlama yönergeleri için bkz. IIS 7'de SSL'yi Ayarlama.
Apache
Aşağıdaki yapılandırma, Apache'de SSL için yapılandırılmış örnek bir sanal konaktır :
<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
Aşağıdaki yapılandırma, TLS yapılandırmasına sahip örnek bir NGINX sunucu bloğudur :
Otomatik olarak imzalanan sertifikayla sunucuya erişme
Kök sertifikasını makinenizin güvenilir kök deposuna ekleyin. Web sitesine eriştiğinizde, sertifika zincirinin tamamının tarayıcıda göründüğünden emin olun.
Note
DNS, web sunucusu adını (bu örnekte,
www.fabrikam.com) web sunucunuzun IP adresine işaret etmek üzere yapılandırılmalıdır. Aksi takdirde, adı çözümlemek için hosts dosyasını düzenleyebilirsiniz.Web sitenize göz atın ve tarayıcınızın adres kutusundaki kilit simgesine tıklayarak siteyi ve sertifika bilgilerini doğrulayın.
OpenSSL ile yapılandırmayı doğrulama
İsterseniz, sertifikayı doğrulamak için OpenSSL'yi de kullanabilirsiniz.
openssl s_client -connect localhost:443 -servername www.fabrikam.com -showcerts
Kök sertifikayı Application Gateway'in arka uç ayarlarına yükleyin
Application Gateway, güvenilir kök sertifikasını yalnızca .cer dosya uzantısını kullanan Base-64 kodlu X.509 sertifikası olarak kabul eder. Base-64 kodlu X.509 bir metin kodlamadır ve bu kodlama, openssl x509 bu makalenin başlarında contoso.crt dosyası için komutun zaten ürettiği kodlamadır.
contoso.crt zaten Base-64 kodlu formatta açık anahtarı içerdiğinden, dosya adını .crt'den.cer'a değiştirin. Bu isim değişikliği yalnızca dosya adı uzantısını değiştirir. Sertifikanın kodlamasını dönüştürmez ve burada dönüştürmeye gerek yoktur. Zaten Base-64 kodlanmamış bir sertifika, yeniden adlandırmak yerine gerçek bir kodlama dönüşümü gerektirir.
Azure portal
Güvenilir kök sertifikayı portaldan karşıya yüklemek için Arka Uç Ayarları'nı seçin ve Arka uç protokolündeHTTPS'yi seçin.
Azure PowerShell
Kök sertifikasını karşıya yüklemek için Azure CLI veya Azure PowerShell kullanabilirsiniz. Aşağıdaki Azure PowerShell adımları, uygulama geçidine güvenilir bir kök sertifikası eklemek, bir sağlık probu oluşturmak, arka uç ayarı oluşturmak, yönlendirme kuralı eklemek ve ardından değişiklikleri gateway'e uygulamaktır.
Note
Bu adımlar, rgOne kaynak grubundaki uygulama geçidi appgwv2, arka uç havuzu testbackendpool ve dinleyici basichttps'in zaten mevcut olduğunu varsayar. Adımları aynı PowerShell oturumunda sırayla çalıştırın, çünkü her adım, ilk adımın aldığı nesneyi kullanır $gw .
Adım 1: Güvenilir kök sertifikayı ekleyin
Bu adım, appgwv2 uygulama ağ geçidinin rgOne kaynak grubunda zaten bulunduğunu varsayar. Sonraki tüm adımların kullandığı ağ geçidini $gw değişkenine alır ve daha önce yeniden adlandırdığınız contoso.cer dosyasını yükler.
## 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
Adım 2: Sağlık probunu oluşturun
Bu adım, 1. adımdaki değişkene sahip $gw olduğunuzu varsayar.
www.fabrikam.com için bir HTTPS probu oluşturur ve bunu $probe değişkeninde depolar.
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
Adım 3: Arka uç ayarını oluşturun
Bu adım, önceki adımlardan , $trustedroot, ve $probe değişkenlere sahip $gwolduğunuzu varsayar. Güvenilir kök sertifikası ve probu kullanan arka uç ayarını oluşturur.
## 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
$backendhttp = Get-AzApplicationGatewayBackendHttpSettings `
-Name testbackend `
-ApplicationGateway $gw
Adım 4: Yönlendirme kuralını oluşturun
Bu adım, 1. adımdaki $backendhttp değişkenine ve 3. adımdaki değişkenine sahip olduğunuzu ve basichttps dinleyicisi ile $gw arka uç havuzunun ağ geçidinde zaten mevcut olduğunu varsayar.
$listener = Get-AzApplicationGatewayHttpListener `
-Name basichttps `
-ApplicationGateway $gw
$bepool = Get-AzApplicationGatewayBackendAddressPool `
-Name testbackendpool `
-ApplicationGateway $gw
Add-AzApplicationGatewayRequestRoutingRule `
-ApplicationGateway $gw `
-Name testrule `
-RuleType Basic `
-BackendHttpSettings $backendhttp `
-HttpListener $listener `
-BackendAddressPool $bepool
Adım 5: Uygulama geçitini güncelleyin
Önceki adımlar $gw nesneyi yalnızca bellekte değiştirir. Bu adım, 1. adımdan önceki tüm değişikliklerin uygulanmış olduğu $gw değişkenine sahip olduğunuzu varsayar ve bu değişiklikleri Azure'daki ağ geçidine işler.
Set-AzApplicationGateway -ApplicationGateway $gw
Uygulama ağ geçidi arka uç durumunu doğrulama
- Uygulama ağ geçidinizin Arka Uç Sağlığı görünümünü seçerek yoklamanın iyi durumda olup olmadığını denetleyin.
- HTTPS yoklaması için Durum'un Sağlıklı olduğunu görmeniz gerekir.
Sonraki Adımlar
Application Gateway'de SSL\TLS hakkında daha fazla bilgi edinmek için bkz. Application Gateway ile TLS sonlandırma ve uçtan uca TLS'ye genel bakış.