Share via


Ö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.

  1. 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.

  2. 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

  1. 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

  1. 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
    
  2. 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).

    create root certificate

  3. 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

  1. A CSR létrehozásához használja a következő parancsot:

    openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr
    
  2. 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ó.

    Server certificate

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

  1. 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

  1. 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
    

    Certificate verification

  2. 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:

NGINX with TLS

A kiszolgáló elérése a konfiguráció ellenőrzéséhez

  1. 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.

    Trusted root certificates

    Feljegyzés

    Feltételezzük, hogy a DNS úgy lett konfigurálva, www.fabrikam.comhogy 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.

  2. 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

OpenSSL certificate verification

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.

Screenshot of adding a certificate using the portal.

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

  1. Kattintson az Application Gateway Háttérállapot nézetére annak ellenőrzéséhez, hogy a mintavétel kifogástalan-e.
  2. Látnia kell, hogy a HTTPS-mintavétel állapota kifogástalan .

HTTPS probe

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.