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

Egy tipikus üzemelő példányban 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 implicit módon megbíznak a gazdagépek azonosításában. 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 a tanúsítványt nem egy elismert szolgáltató írta alá, és megkérdezi a felhasználót, hogy folytatja-e a kommunikációt a nem ellenőrzött webhelyekkel.

  • 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 tanúsítványt egy hitelesítésszolgáltató írja alá, amelyet a böngésző megbízható szolgáltatóként ismer fel.

    Előfordulhat, hogy a felhasználók nem megbízható tanúsítvánnyal csatlakoznak egy kiszolgálóhoz. Az Azure Firewall úgy fogja elvetni 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 főtanú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 számítási feladatok) megbízhatónak kell lenniük 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 az eljárás működéséhez.

Certificate process

Köztes hitelesítésszolgáltató 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:

  • Key Vault-titkos kulcsként való üzembe helyezéskor jelszó nélküli PFX -t (PKCS12) kell használnia egy tanúsítvánnyal és egy titkos 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 bővítménynek KeyUsage kritikusként kell megjelölnie 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:

  • Importálnia kell egy meglévő tanúsítványt a kulcspárjával a kulcstartóba.
  • Másik lehetőségként használhat egy key vault-titkos kulcsot is, amely jelszó nélküli, base-64 kódolású PFX-fájlként van tárolva. A PFX-fájlok olyan digitális tanúsítványok, amelyek titkos kulcsot és nyilvános kulcsot is tartalmaznak.
  • Ajánlott hitelesítésszolgáltatói tanúsítványimportálást használni, mert lehetővé teszi, hogy a tanúsítvány lejárati dátuma alapján konfiguráljon egy riasztást.
  • Miután importált egy tanúsítványt vagy titkos kulcsot, meg kell határoznia a hozzáférési szabályzatokat a kulcstartóban, hogy az identitás hozzáférést kapjon a tanúsítványhoz/titkos kulcshoz.
  • Az Azure-számítási feladatnak megbízhatónak kell lennie 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:

Azure Firewall Premium overview diagram

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 területen a Get and List (Beolvasás és lista)lehetőséget. Azure Key Vault Access policy

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

Éles környezetben a vállalati PKI használatával kell létrehoznia egy köztes hitelesítésszolgáltatói tanúsítványt. A vállalati PKI kihasználja a meglévő infrastruktúrát, é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 hitelesítésszolgáltató nyilvános tanúsítványa és titkos kulcsa
  • interCA.pfx – Köztes ca pkcs12 csomag, amelyet tűzfal fog használni

Fontos

A rootCA.key-t 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ó: 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 – Importálás tanúsítványként egy Key Vaulton, és hozzárendelve 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

Nem éles üzemelő példányok esetén használhatja az Azure Firewall prémium szintű minősítési automatikus létrehozási mechanizmusát, amely automatikusan létrehozza a következő három erőforrást:

  • Managed Identity
  • Key Vault
  • Önaláírt legfelső szintű hitelesítésszolgáltatói 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.

Screenshot showing auto-generated certificates.

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.

További lépések