Prémium szintű Azure Firewall-tanúsítványok

Az Azure Firewall Premium TLS-vizsgálat megfelelő konfigurálásához érvényes köztes hitelesítésszolgáltatói tanúsítványt kell megadnia, és azt az Azure Key Vaultban kell elhelyeznie.

Az Azure Firewall Premium által használt tanúsítványok

Telepítés során háromféle tanúsítványt használnak:

  • Köztes hitelesítésszolgáltatói tanúsítvány (CA-tanúsítvány)

    A hitelesítésszolgáltató (CA) olyan szervezet, amely megbízhatóan ír alá digitális tanúsítványokat. A hitelesítésszolgáltató ellenőrzi a tanúsítványt kérő vállalat vagy magánszemély identitását és legitimitását. Ha az ellenőrzés sikeres, a hitelesítésszolgáltató aláírt tanúsítványt állít ki. Amikor a kiszolgáló egy SSL/TLS-kézfogás során bemutatja a tanúsítványt az ügyfélnek (például a webböngészőnek), az ügyfél megpróbálja ellenőrizni az aláírást az ismert jó aláírók listájában. A webböngészők általában olyan hitelesítésszolgáltatói listákkal rendelkeznek, amelyekben bizalommal megbíznak az internetes hosztok azonosítására. Ha a szolgáltató nem szerepel a listában, mint egyes webhelyeknél, amelyek saját tanúsítványokat írnak alá, a böngésző figyelmezteti a felhasználót, hogy egyetlen elismert szolgáltató sem írta alá a tanúsítványt. A böngésző megkérdezi a felhasználót, hogy folytatja-e a kommunikációt a nem ellenőrzött webhelytel.

  • Kiszolgálótanúsítvány (webhelytanúsítvány)

    Egy adott tartománynévhez társított tanúsítvány. Ha egy webhely rendelkezik érvényes tanúsítvánnyal, az azt jelenti, hogy egy hitelesítésszolgáltató lépéseket tett annak ellenőrzésére, hogy a webcím valóban az adott szervezethez tartozik-e. Ha beír egy URL-címet, vagy egy biztonságos webhelyre mutató hivatkozást követ, a böngésző ellenőrzi a tanúsítványt a következő jellemzőkkel:

    • A webhely címe megegyezik a tanúsítvány címével.
    • A böngésző által megbízhatóként felismert hitelesítésszolgáltató aláírta a tanúsítványt.

    Előfordulhat, hogy a felhasználók nem megbízható tanúsítvánnyal csatlakoznak egy kiszolgálóhoz. Az Azure Firewall úgy szünteti meg a kapcsolatot, mintha a kiszolgáló megszakította volna a kapcsolatot.

  • Legfelső szintű hitelesítésszolgáltatói tanúsítvány (főtanúsítvány)

    A hitelesítésszolgáltatók több tanúsítványt is kibocsáthatnak faszerkezet formájában. A gyökértanúsítvány a fa legfelső szintű tanúsítványa.

Az Azure Firewall Premium képes elfogni a kimenő HTTP/S forgalmat, és automatikusan létrehoz egy kiszolgálótanúsítványt.www.website.com Ez a tanúsítvány a megadott köztes hitelesítésszolgáltatói tanúsítvány használatával jön létre. A végfelhasználói böngésző- és ügyfélalkalmazásoknak (IaaS, PaaS és egyéb szolgáltatások) meg kell bízniuk a szervezet legfelső szintű hitelesítésszolgáltatói tanúsítványában vagy köztes hitelesítésszolgáltatói tanúsítványában, hogy az eljárás működjön.

Tanúsítványfolyamat

Köztes CA tanúsítványkövetelményei

Győződjön meg arról, hogy a hitelesítésszolgáltatói tanúsítvány megfelel a következő követelményeknek:

  • A Key Vault titokként való üzembe helyezéskor jelszó nélküli PFX-et (PKCS12) kell használnia egy tanúsítvánnyal és egy privát kulccsal. A PEM-tanúsítványok nem támogatottak.

  • Egyetlen tanúsítványnak kell lennie, és nem tartalmazhatja a teljes tanúsítványláncot.

  • Egy évig érvényesnek kell lennie.

  • A kulcsnak egy 4096 bájtos minimális méretű RSA titkos kulcsnak kell lennie.

  • A KeyUsage kiterjesztésnek kritikusként kell lennie megjelölve a KeyCertSign jelzővel (RFC 5280; 4.2.1.3 Kulcshasználat).

  • A bővítménynek kritikusként kell megjelölnie BasicConstraints (RFC 5280; 4.2.1.9 Alapvető korlátozások).

  • A CA jelölőnek IGAZ értékre kell állítania.

  • Az elérési út hosszának egynél nagyobbnak vagy egyenlőnek kell lennie.

  • Exportálhatónak kell lennie.

Azure Key Vault

Az Azure Key Vault egy platform által felügyelt titkos kódtár, amellyel titkos kulcsokat, kulcsokat és TLS/SSL-tanúsítványokat védhet. Az Azure Firewall Premium támogatja a Key Vaulttal való integrációt a tűzfalszabályzathoz csatolt kiszolgálói tanúsítványokhoz.

A kulcstartó konfigurálása:

  • A köztes hitelesítésszolgáltatói tanúsítványt Key Vault-titkos kulcsként tárolja egy jelszó nélküli, base-64 kódolású PFX-fájl használatával. A PFX-fájlok olyan digitális tanúsítványok, amelyek titkos kulcsot és nyilvános kulcsot is tartalmaznak. Az Azure Firewall kizárólag a Key Vault Titkos kulcsok felületén keresztül fér hozzá a tanúsítványhoz.
  • Másik lehetőségként importálhatja a tanúsítványt a Key Vault tanúsítványai funkcióval. Ha ezt teszi, a Key Vault automatikusan létrehoz egy azonos nevű titkos kulcsot, amelyet az Azure Firewall használ a tanúsítvány eléréséhez. A Tanúsítványok funkció használata ajánlott, mert lehetővé teszi a lejárati riasztások konfigurálását.
  • A tanúsítvány tárolása után definiáljon hozzáférési szabályzatokat a kulcstárban, hogy a felügyelt identitás számára biztosítsa a lekérése éslistázása engedélyeket a titkos engedélyek alatt.

Megjegyzés

Az Azure Firewall nem támogatja a kizárólag Key Vault-tanúsítványobjektumokként tárolt tanúsítványok elérését a megfelelő titkos kód nélkül. A tanúsítvány importálásától függetlenül a felügyelt identitásnak titkos engedélyekkel (nem tanúsítványengedélyekkel) kell rendelkeznie a kulcstartóban.

  • Az Azure számítási feladatnak meg kell bíznia a megadott hitelesítésszolgáltatói tanúsítványban. Győződjön meg arról, hogy megfelelően vannak üzembe helyezve.
  • Mivel az Azure Firewall Premium Key Vault megbízható szolgáltatásként szerepel a listán, lehetővé teszi a Key Vault belső tűzfalának megkerülését és a Key Vault internetes kitettségének megszüntetését.

Megjegyzés

Amikor új tűzfal-hitelesítésszolgáltatói tanúsítványt importál az Azure Key Vaultba (akár első alkalommal, akár egy lejárt hitelesítésszolgáltatói tanúsítvány lecserélésével), explicit módon frissítenie kell az Azure Firewall Policy TLS-beállítását az új tanúsítvánnyal.

Létrehozhat vagy újra felhasználhat egy meglévő, felhasználó által hozzárendelt felügyelt identitást, amelyet az Azure Firewall a Key Vault tanúsítványainak lekérésére használ az Ön nevében. További információ: Mi az Azure-erőforrások felügyelt identitása?

Megjegyzés

Az Azure szerepköralapú hozzáférés-vezérlése (Azure RBAC) jelenleg nem támogatott az engedélyezéshez. Használja inkább a hozzáférési szabályzat modelljét. További információ: Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) és hozzáférési szabályzatok.

Tanúsítvány konfigurálása a szabályzatban

Ha ca-tanúsítványt szeretne konfigurálni a Premium tűzfalszabályzatban, válassza ki a szabályzatot, majd válassza a TLS-ellenőrzést. Válassza az Engedélyezve lehetőséget a TLS ellenőrzési oldalán. Ezután válassza ki a hitelesítésszolgáltatói tanúsítványt az Azure Key Vaultban az alábbi ábrán látható módon:

Az Azure Firewall Premium áttekintési diagramja

Fontos

Az Azure Portalról származó tanúsítvány megtekintéséhez és konfigurálásához hozzá kell adnia az Azure-felhasználói fiókját a Key Vault hozzáférési szabályzatához. Adja meg a felhasználói fiókjának a Titkos engedélyek alatt a Get és List jogosultságokat. Azure Key Vault hozzáférési szabályzat

Saját önaláírt hitelesítésszolgáltatói tanúsítvány létrehozása

Ha saját tanúsítványokat szeretne létrehozni a TLS-ellenőrzés teszteléséhez és ellenőrzéséhez, az alábbi szkriptekkel létrehozhatja saját önaláírt legfelső szintű hitelesítésszolgáltatóját és köztes hitelesítésszolgáltatóját.

Fontos

A gyakorlatban a vállalati PKI használatával kell létrehoznia egy köztes CA-tanúsítványt. A vállalati PKI a meglévő infrastruktúrát használja, és kezeli a legfelső szintű hitelesítésszolgáltatói disztribúciót az összes végponti gépen. További információ: Vállalati hitelesítésszolgáltatói tanúsítványok üzembe helyezése és konfigurálása az Azure Firewallhoz.

A szkriptnek két verziója van:

  • bash-szkript cert.sh
  • PowerShell-szkript cert.ps1

Emellett mindkét szkript a openssl.cnf konfigurációs fájlt használja. A szkriptek használatához másolja ki a parancsprogram tartalmát openssl.cnf, illetve cert.shcert.ps1 a helyi számítógépre.

A szkriptek a következő fájlokat generálják:

  • rootCA.crt/rootCA.key – Legfelső szintű hitelesítésszolgáltató nyilvános tanúsítványa és titkos kulcsa.
  • interCA.crt/interCA.key – Köztes CA nyilvános tanúsítványa és titkos kulcsa
  • interCA.pfx – Köztes ca pkcs12 csomag, amelyet a tűzfal használ

Fontos

rootCA.key biztonságos offline helyen kell tárolni. A szkriptek 1024 napos érvényességű tanúsítványt hoznak létre. A szkriptekhez a helyi gépen telepített nyitható bináris fájlok szükségesek. További információért, lásd: https://www.openssl.org/

A tanúsítványok létrehozása után helyezze üzembe őket a következő helyeken:

  • rootCA.crt – Üzembe helyezés végpontgépeken (csak nyilvános tanúsítvány esetén).
  • interCA.pfx – Titkos kulcsként tárolja az Azure Key Vaultban, és rendelje hozzá a tűzfalszabályzathoz.

openssl.cnf

[ req ]
default_bits        = 4096
distinguished_name  = req_distinguished_name
string_mask         = utf8only
default_md          = sha512

[ req_distinguished_name ]
countryName                     = Country Name (2 letter code)
stateOrProvinceName             = State or Province Name
localityName                    = Locality Name
0.organizationName              = Organization Name
organizationalUnitName          = Organizational Unit Name
commonName                      = Common Name
emailAddress                    = Email Address

[ rootCA_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign

[ interCA_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true, pathlen:1
keyUsage = critical, digitalSignature, cRLSign, keyCertSign

[ server_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:false
keyUsage = critical, digitalSignature
extendedKeyUsage = serverAuth

Bash-szkript – cert.sh

#!/bin/bash

# Create root CA
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout rootCA.key -sha256 -days 1024 -out rootCA.crt -subj "/C=US/ST=US/O=Self Signed/CN=Self Signed Root CA" -config openssl.cnf -extensions rootCA_ext

# Create intermediate CA request
openssl req -new -nodes -newkey rsa:4096 -keyout interCA.key -sha256 -out interCA.csr -subj "/C=US/ST=US/O=Self Signed/CN=Self Signed Intermediate CA"

# Sign on the intermediate CA
openssl x509 -req -in interCA.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out interCA.crt -days 1024 -sha256 -extfile openssl.cnf -extensions interCA_ext

# Export the intermediate CA into PFX
openssl pkcs12 -export -out interCA.pfx -inkey interCA.key -in interCA.crt -password "pass:"

echo ""
echo "================"
echo "Successfully generated root and intermediate CA certificates"
echo "   - rootCA.crt/rootCA.key - Root CA public certificate and private key"
echo "   - interCA.crt/interCA.key - Intermediate CA public certificate and private key"
echo "   - interCA.pfx - Intermediate CA pkcs12 package which could be uploaded to Key Vault"
echo "================"

PowerShell – cert.ps1

# Create root CA
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout rootCA.key -sha256 -days 3650 -out rootCA.crt -subj '/C=US/ST=US/O=Self Signed/CN=Self Signed Root CA' -config openssl.cnf -extensions rootCA_ext

# Create intermediate CA request
openssl req -new -nodes -newkey rsa:4096 -keyout interCA.key -sha256 -out interCA.csr -subj '/C=US/ST=US/O=Self Signed/CN=Self Signed Intermediate CA'

# Sign on the intermediate CA
openssl x509 -req -in interCA.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out interCA.crt -days 3650 -sha256 -extfile openssl.cnf -extensions interCA_ext

# Export the intermediate CA into PFX
openssl pkcs12 -export -out interCA.pfx -inkey interCA.key -in interCA.crt -password 'pass:'

Write-Host ""
Write-Host "================"
Write-Host "Successfully generated root and intermediate CA certificates"
Write-Host "   - rootCA.crt/rootCA.key - Root CA public certificate and private key"
Write-Host "   - interCA.crt/interCA.key - Intermediate CA public certificate and private key"
Write-Host "   - interCA.pfx - Intermediate CA pkcs12 package which could be uploaded to Key Vault"
Write-Host "================"

Tanúsítvány automatikus létrehozása

Teszt vagy fejlesztési telepítések esetén használhatja az Azure Firewall prémium tanúsítvány automatikus generálási mechanizmusát, amely automatikusan létrehozza a következő három erőforrást:

  • Felügyelt identitás
  • Key Vault
  • Önaláírt gyökér CA tanúsítvány

Egyszerűen válassza ki az új felügyelt identitást, és összekapcsolja a három erőforrást a Prémium szabályzatban, és beállítja a TLS-ellenőrzést.

Képernyőkép az automatikusan létrehozott tanúsítványokról.

Hibaelhárítás

Ha a hitelesítésszolgáltatói tanúsítvány érvényes, de nem fér hozzá teljes tartománynevekhez vagy URL-címekhez a TLS-ellenőrzés során, ellenőrizze a következő elemeket:

  • Győződjön meg arról, hogy a webkiszolgáló tanúsítványa érvényes.

  • Győződjön meg arról, hogy a legfelső szintű hitelesítésszolgáltatói tanúsítvány telepítve van az ügyfél operációs rendszerére.

  • Győződjön meg arról, hogy a böngésző vagy a HTTPS-ügyfél érvényes főtanúsítványt tartalmaz. A Firefox és néhány más böngésző speciális minősítési szabályzatokkal rendelkezhet.

  • Győződjön meg arról, hogy az alkalmazásszabály URL-cím céltípusa tartalmazza a megfelelő elérési utat és a cél HTML-lapba ágyazott egyéb hivatkozásokat. Helyettesítő karaktereket használhat a teljes szükséges URL-elérési út egyszerű lefedése érdekében.

Következő lépések