Önaláírt Azure Application Gateway-tanúsítvány létrehozása egyéni legfelső szintű hitelesítésszolgáltatóval
Az Application Gateway v2 termékváltozata bevezeti a megbízható főtanúsítványok használatát a háttérkiszolgálókkal való TLS-kapcsolatok engedélyezéséhez. Ez a rendelkezés eltávolítja a v1 termékváltozatban megkövetelt hitelesítési tanúsítványokat (egyedi Levéltanúsítványokat). A főtanúsítvány egy Base-64 kódolású X.509(. CER) a háttértanúsítvány-kiszolgáló főtanúsítványának formázása. Azonosítja a kiszolgálótanúsítványt kiállító főtanúsítványt (CA), majd a kiszolgálótanúsítványt használja a TLS/SSL kommunikációhoz.
Az Application Gateway alapértelmezés szerint megbízik a webhely tanúsítványában, ha egy jól ismert hitelesítésszolgáltató (például GoDaddy vagy DigiCert) írta alá. Ebben az esetben nem kell explicit módon feltöltenie a főtanúsítványt. További információ: A TLS megszüntetésének és végpontok közötti TLS-nek az Application Gateway használatával történő áttekintése. Ha azonban fejlesztői/tesztelési környezettel rendelkezik, és nem szeretne hitelesített hitelesítésszolgáltató által aláírt tanúsítványt vásárolni, létrehozhatja saját egyéni legfelső szintű hitelesítésszolgáltatóját és a legfelső szintű hitelesítésszolgáltató által aláírt levéltanúsítványt.
Feljegyzés
Az ön által létrehozott tanúsítványok alapértelmezés szerint nem megbízhatók, és nehezen karbantarthatók. Emellett elavult kivonatokat és titkosítási csomagokat is használhatnak, amelyek nem feltétlenül erősek. A nagyobb biztonság érdekében vásároljon egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt.
A következő beállításokkal létrehozhatja a titkos tanúsítványt a háttérbeli TLS-kapcsolatokhoz.
Használja az egykattintásos magántanúsítvány-generátor eszközt. Az ön által megadott tartománynév (köznapi név) használatával ez az eszköz ugyanazokat a lépéseket hajtja végre, mint amelyet ebben a cikkben dokumentált a gyökér- és kiszolgálótanúsítványok létrehozásához. A létrehozott tanúsítványfájlokkal azonnal feltöltheti a főtanúsítványt (. CER) fájl az átjáró háttérbeállításának és a megfelelő tanúsítványláncnak (. PFX) a háttérkiszolgálóra. A PFX-fájl jelszavát a letöltött ZIP-fájl is tartalmazza.
Az OpenSSL-parancsokkal igény szerint testre szabhatja és létrehozhat tanúsítványokat. Ha ezt teljes egészében önállóan szeretné elvégezni, kövesse a cikkben szereplő utasításokat.
Ebből a cikkből megtudhatja, hogyan:
- Saját egyéni hitelesítésszolgáltató létrehozása
- Saját hitelesítésszolgáltató által aláírt önaláírt tanúsítvány létrehozása
- Önaláírt főtanúsítvány feltöltése az Application Gatewayre a háttérkiszolgáló hitelesítéséhez
Előfeltételek
OpenSSL Windows vagy Linux rendszerű számítógépen
Bár más eszközök is elérhetők a tanúsítványkezeléshez, ez az oktatóanyag az OpenSSL-t használja. Az OpenSSL számos Linux-disztribúcióval, például Ubuntu-nal van csomagban.
Webkiszolgáló
Például Apache, IIS vagy NGINX a tanúsítványok teszteléséhez.
Application Gateway v2 termékváltozat
Ha nem rendelkezik meglévő alkalmazásátjáróval, olvassa el a rövid útmutatót: Webes forgalom irányítása Azure-alkalmazás Átjáróval – Azure Portal.
Legfelső szintű hitelesítésszolgáltatói tanúsítvány létrehozása
Hozza létre a legfelső szintű hitelesítésszolgáltatói tanúsítványt az OpenSSL használatával.
A gyökérkulcs létrehozása
Jelentkezzen be arra a számítógépre, amelyen telepítve van az OpenSSL, és futtassa a következő parancsot. Ez egy titkosított kulcsot hoz létre.
openssl ecparam -out contoso.key -name prime256v1 -genkey
Főtanúsítvány létrehozása és önaláírása
A tanúsítvány-aláírási kérelem (CSR) létrehozásához használja az alábbi parancsot.
openssl req -new -sha256 -key contoso.key -out contoso.csr
Amikor a rendszer kéri, írja be a gyökérkulcs jelszavát, valamint az egyéni hitelesítésszolgáltató szervezeti adatait, például ország/régió, állam, szervezet, szervezeti egység és a teljes tartománynevet (ez a kiállító tartománya).
A főtanúsítvány létrehozásához használja az alábbi parancsot.
openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey contoso.key -out contoso.crt
Az előző parancsok létrehozzák a főtanúsítványt. Ezzel fogja aláírni a kiszolgálótanúsítványt.
Kiszolgálótanúsítvány létrehozása
Ezután létrehoz egy kiszolgálótanúsítványt az OpenSSL használatával.
A tanúsítvány kulcsának létrehozása
A kiszolgálótanúsítvány kulcsának létrehozásához használja az alábbi parancsot.
openssl ecparam -out fabrikam.key -name prime256v1 -genkey
A CSR létrehozása (tanúsítvány-aláírási kérelem)
A CSR egy nyilvános kulcs, amelyet a hitelesítésszolgáltató kap tanúsítványigényléskor. A hitelesítésszolgáltató kiadja az adott kérelem tanúsítványát.
Feljegyzés
A kiszolgálótanúsítvány CN-jének (köznapi neve) különböznie kell a kiállító tartományától. Ebben az esetben például a kiállító CN-je és www.contoso.com
a kiszolgálói tanúsítvány CN-je.www.fabrikam.com
A CSR létrehozásához használja a következő parancsot:
openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr
Amikor a rendszer kéri, írja be a főkulcs jelszavát, valamint az egyéni hitelesítésszolgáltató szervezeti adatait: Ország/régió, Állam, Szervezeti egység, Szervezeti egység és a teljes tartománynév. Ez a webhely tartománya, és másnak kell lennie, mint a kiállító.
Hozza létre a tanúsítványt a CSR-vel és a kulccsal, és írja alá a hitelesítésszolgáltató gyökérkulccsal
A tanúsítvány létrehozásához használja a következő parancsot:
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key -CAcreateserial -out fabrikam.crt -days 365 -sha256
Az újonnan létrehozott tanúsítvány ellenőrzése
A CRT-fájl kimenetének nyomtatásához és tartalmának ellenőrzéséhez használja az alábbi parancsot:
openssl x509 -in fabrikam.crt -text -noout
Ellenőrizze a címtárban lévő fájlokat, és győződjön meg arról, hogy a következő fájlokkal rendelkezik:
- contoso.crt
- contoso.key
- fabrikam.crt
- fabrikam.key
A tanúsítvány konfigurálása a webkiszolgáló TLS-beállításaiban
A webkiszolgálón konfigurálja a TLS-t a fabrikam.crt és a fabrikam.key fájlokkal. Ha a webkiszolgáló nem tud két fájlt felvenni, openSSL-parancsokkal egyetlen .pem vagy .pfx fájlba kombinálhatja őket.
IIS
A tanúsítvány importálásával és kiszolgálótanúsítványként való feltöltésével kapcsolatos utasításokért tekintse meg a HOW TO: Install imported certificates on a Web Server in Windows Server 2003 (Importált tanúsítványok telepítése webkiszolgálón a Windows Server 2003-ban) című témakört.
A TLS kötési utasításait az SSL beállítása az IIS 7-ben című témakörben találja.
Apache
Az alábbi konfiguráció egy példaként szolgáló, SSL-hez konfigurált virtuális gazdagép az Apache-ban:
<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
Az alábbi konfiguráció egy TLS-konfigurációval rendelkező NGINX-kiszolgálóblokk:
A kiszolgáló elérése a konfiguráció ellenőrzéséhez
Adja hozzá a főtanúsítványt a számítógép megbízható legfelső szintű tárolójához. A webhely elérésekor győződjön meg arról, hogy a teljes tanúsítványlánc megjelenik a böngészőben.
Feljegyzés
Feltételezzük, hogy a DNS úgy lett konfigurálva,
www.fabrikam.com
hogy a webkiszolgáló nevét (ebben a példában) a webkiszolgáló IP-címére mutassa. Ha nem, szerkesztheti a gazdagépfájlt a név feloldásához.Keresse meg a webhelyet, és kattintson a böngésző címmezőjének zárolási ikonra a webhely és a tanúsítvány adatainak ellenőrzéséhez.
A konfiguráció ellenőrzése az OpenSSL használatával
Vagy az OpenSSL használatával ellenőrizheti a tanúsítványt.
openssl s_client -connect localhost:443 -servername www.fabrikam.com -showcerts
Töltse fel a főtanúsítványt az Application Gateway HTTP-Gépház
A tanúsítvány Application Gatewaybe való feltöltéséhez a .crt tanúsítványt base-64 kódolású .cer formátumban kell exportálnia. Mivel a .crt már tartalmazza a nyilvános kulcsot a base-64 kódolású formátumban, nevezze át a fájlkiterjesztést .crt-ről .cer-re.
Azure Portalra
Ha fel szeretné tölteni a megbízható főtanúsítványt a portálról, válassza a Háttérrendszer Gépház, és válassza a HTTPS lehetőséget a Háttérprotokollban.
Azure PowerShell
Vagy az Azure CLI vagy az Azure PowerShell használatával feltöltheti a főtanúsítványt. Az alábbi kód egy Azure PowerShell-minta.
Feljegyzés
Az alábbi minta egy megbízható főtanúsítványt ad hozzá az Application Gatewayhez, létrehoz egy új HTTP-beállítást, és hozzáad egy új szabályt, feltéve, hogy a háttérkészlet és a figyelő már létezik.
## 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
Az Application Gateway háttérrendszer állapotának ellenőrzése
- Kattintson az Application Gateway Háttérállapot nézetére annak ellenőrzéséhez, hogy a mintavétel kifogástalan-e.
- Látnia kell, hogy a HTTPS-mintavétel állapota kifogástalan .
Következő lépések
Az SSL\TLS az Application Gatewayben való használatával kapcsolatos további információkért tekintse meg a TLS megszüntetésének és végpontok közötti TLS-nek az Application Gateway használatával történő áttekintését.