Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Skladová položka Application Gateway v2 zavádí použití důvěryhodných kořenových certifikátů pro povolení připojení TLS k serverům na backendu. Toto ustanovení odstraňuje použití ověřovacích certifikátů (jednotlivých listových certifikátů), které byly vyžadovány ve verzi SKU v1. Kořenový certifikát je kořenový certifikát ve formátu X.509 s kódováním Base-64 (.CER) z back-end certifikačního serveru. Identifikuje kořenovou certifikační autoritu (CA), která vydala certifikát serveru, a certifikát serveru se pak použije pro komunikaci TLS/SSL.
Služba Application Gateway ve výchozím nastavení důvěřuje certifikátu vašeho webu, pokud je podepsaná dobře známou certifikační autoritou (například GoDaddy nebo DigiCert). V takovém případě nemusíte explicitně nahrávat kořenový certifikát. Další informace najdete v tématu Přehled ukončení protokolu TLS a koncového šifrování TLS se službou Application Gateway. Pokud ale máte vývojové/testovací prostředí a nechcete si koupit ověřený certifikát podepsaný certifikační autoritou, můžete vytvořit vlastní kořenovou certifikační autoritu a listový certifikát podepsaný danou kořenovou certifikační autoritou.
Poznámka:
Automaticky generované certifikáty nejsou ve výchozím nastavení důvěryhodné a může být obtížné je udržovat. Mohou také používat zastaralé hash a šifrovací sady, které nemusí být silné. Kvůli lepšímu zabezpečení si kupte certifikát podepsaný dobře známou certifikační autoritou.
K vygenerování privátního certifikátu pro připojení TLS back-endu můžete použít následující možnosti.
Použijte nástroj pro generování privátních certifikátů jedním kliknutím . Pomocí názvu domény (běžný název), který zadáte, tento nástroj provede stejné kroky jako v tomto článku a vygeneruje certifikáty root a serveru. S vygenerovanými soubory certifikátů můžete okamžitě nahrát kořenový certifikát (. SOUBOR CER) do back-endového nastavení brány a odpovídajícího řetězu certifikátů (. PFX) na back-endový server. Heslo pro soubor PFX je také zadáno ve staženého souboru ZIP.
Pomocí příkazů OpenSSL můžete přizpůsobit a generovat certifikáty podle vašich potřeb. Pokud to chcete udělat úplně sami, pokračujte podle pokynů v tomto článku.
V tomto článku se dozvíte, jak:
- Vytvoření vlastní certifikační autority
- Vytvořit samopodepsaný certifikát podepsaný vaší vlastní certifikační autoritou
- Nahrání kořenového certifikátu podepsaného svým držitelem do služby Application Gateway pro ověření back-endového serveru
Požadavky
OpenSSL na počítači s Windows nebo Linuxem
I když pro správu certifikátů můžou být k dispozici další nástroje, v tomto kurzu se používá OpenSSL. Najdete OpenSSL jako součást mnoha distribucí Linuxu, například Ubuntu.
webový server
Například Apache, IIS nebo NGINX k otestování certifikátů.
skladové položky služby Application Gateway v2
Pokud nemáte existující aplikační bránu, přečtěte si Rychlý start: Směrování webového provozu pomocí služby Azure Application Gateway – Azure Portal.
Vytvořit kořenový CA certifikát
Vytvořte kořenový certifikát certifikační autority pomocí OpenSSL.
Vytvoření kořenového klíče
Přihlaste se ke svému počítači, na kterém je nainstalovaný OpenSSL, a spusťte následující příkaz. Tím se vytvoří šifrovaný klíč.
openssl ecparam -out contoso.key -name prime256v1 -genkey
Vytvořte kořenový certifikát a podepište ho sami.
Pomocí následujícího příkazu vygenerujte žádost o podepsání certifikátu (CSR).
openssl req -new -sha256 -key contoso.key -out contoso.csr
Po zobrazení výzvy zadejte heslo pro kořenový klíč a informace o organizaci pro vlastní certifikační autoritu, jako je země/oblast, stát, organizace, organizační jednotky a plně kvalifikovaný název domény (jedná se o doménu vystavitele).
Pomocí následujícího příkazu vygenerujte kořenový certifikát.
openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crt
Předchozí příkazy vytvoří kořenový certifikát. Použijete ho k podepsání certifikátu serveru.
Vytvoření certifikátu serveru
V dalším kroku vytvoříte certifikát serveru pomocí OpenSSL.
Vytvoření klíče certifikátu
Pomocí následujícího příkazu vygenerujte klíč pro certifikát serveru.
openssl ecparam -out fabrikam.key -name prime256v1 -genkey
Vytvoření žádosti o podepsání certifikátu (CSR)
CSR je veřejný klíč, který je udělen certifikační autoritě při vyžádání certifikátu. Certifikační autorita vydá certifikát pro tento konkrétní požadavek.
Poznámka:
CN (běžný název) pro certifikát serveru se musí lišit od domény vystavitele. V tomto případě je například CN pro vystavitele www.contoso.com
a cn certifikátu serveru je www.fabrikam.com
.
K vygenerování CSR použijte následující příkaz:
openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr
Po zobrazení výzvy zadejte heslo pro kořenový klíč a organizační údaje pro vlastní certifikační autoritu: země/oblast, stát, Org, OU a plně kvalifikovaný název domény. Toto je doména webové stránky a měla by být odlišná od domény vystavitele.
Vygenerujte certifikát pomocí CSR a klíče a podepište ho kořenovým klíčem certifikační autority.
K vytvoření certifikátu použijte následující příkaz:
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256
Ověření nově vytvořeného certifikátu
Pomocí následujícího příkazu vytiskněte výstup souboru CRT a ověřte jeho obsah:
openssl x509 -in fabrikam.crt -text -noout
Ověřte soubory v adresáři a ujistěte se, že máte následující soubory:
- contoso.crt
- contoso.key
- fabrikam.crt
- fabrikam.key
Konfigurace certifikátu v nastavení TLS webového serveru
Na webovém serveru nakonfigurujte protokol TLS pomocí souborů fabrikam.crt a fabrikam.key. Pokud váš webový server nemůže vzít dva soubory, můžete je zkombinovat do jednoho souboru .pem nebo .pfx pomocí příkazů OpenSSL.
IIS
Pokyny k importu certifikátu a jejich nahrání jako certifikátu serveru ve službě IIS najdete v tématu POSTUPY: Instalace importovaných certifikátů na webový server v systému Windows Server 2003.
Pokyny k vazbě protokolu TLS najdete v tématu Jak nastavit protokol SSL ve službě IIS 7.
Apač
Následující konfigurace je příkladem virtuálního hostitele nakonfigurovaného pro SSL v 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
Následující konfigurace je příkladem bloku serveru NGINX s konfigurací protokolu TLS:
Přístup k serveru a ověření konfigurace
Přidejte kořenový certifikát do důvěryhodného kořenového úložiště vašeho počítače. Při přístupu k webu se ujistěte, že se v prohlížeči zobrazí celý řetěz certifikátů.
Poznámka:
Předpokládá se, že dns je nakonfigurovaný tak, aby odkazoval na název webového serveru (v tomto příkladu
www.fabrikam.com
) na IP adresu vašeho webového serveru. Pokud ne, můžete upravit soubor hostitelů k vyřešení názvu.Přejděte na svůj web a kliknutím na ikonu zámku v poli Adresa prohlížeče ověřte informace o webu a certifikátu.
Ověření konfigurace pomocí OpenSSL
Nebo můžete certifikát ověřit pomocí OpenSSL.
openssl s_client -connect localhost:443 -servername www.fabrikam.com -showcerts
Nahrání kořenového certifikátu do nastavení HTTP služby Application Gateway
Pokud chcete nahrát certifikát ve službě Application Gateway, musíte certifikát .crt exportovat do .cer formátu zakódovaný ve formátu Base-64. Vzhledem k tomu, že soubor .crt již obsahuje veřejný klíč ve formátu kódování base-64, přejmenujte příponu souboru z .crt na .cer.
portál Azure
Pokud chcete nahrát důvěryhodný kořenový certifikát z portálu, vyberte nastavení back-endu a v protokoluback-endu vyberte HTTPS .
Azure PowerShell
Nebo můžete k nahrání kořenového certifikátu použít Azure CLI nebo Azure PowerShell. Následující kód je ukázka Azure PowerShellu.
Poznámka:
Následující ukázka přidá důvěryhodný kořenový certifikát do aplikační brány, vytvoří nové nastavení HTTP a přidá nové pravidlo, za předpokladu, že fond provozních jednotek a poslechový modul už existují.
## 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
Ověření stavu back-endu služby Application Gateway
- Klikněte na stav Back-end zobrazení aplikační brány a zkontrolujte, jestli je sonda v pořádku.
- Měli byste vidět, že stav sondy HTTPS je zdravý.
Další kroky
Další informace o protokolu SSL\TLS ve službě Application Gateway najdete v tématu Přehled ukončení protokolu TLS a koncového šifrování TLS se službou Application Gateway.