TLS-visszafejtés Key Vault-tanúsítványokkal

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. Azure-alkalmazás Átjáró támogatja a Key Vaulttal való integrációt a HTTPS-kompatibilis figyelőkhöz csatolt kiszolgálói tanúsítványokhoz. Ez a támogatás az Application Gateway v2 termékváltozatára korlátozódik.

Az Application Gateway két modellt kínál a TLS leállításához:

  • Adja meg a figyelőhöz csatolt TLS-/SSL-tanúsítványokat. Ez a modell a TLS/SSL-tanúsítványok átvitelének hagyományos módja az Application Gatewaynek a TLS-leállításhoz.
  • Https-kompatibilis figyelő létrehozásakor adjon meg egy hivatkozást egy meglévő Key Vault-tanúsítványra vagy titkos kódra.

Az Application Gateway és a Key Vault integrálása számos előnnyel jár, például:

  • Nagyobb biztonság, mert a TLS/SSL-tanúsítványokat nem kezeli közvetlenül az alkalmazásfejlesztési csapat. Az integráció lehetővé teszi, hogy egy külön biztonsági csapat:
    • Alkalmazásátjárók beállítása.
    • Az Application Gateway életciklusának szabályozása.
    • Adjon engedélyeket a kiválasztott alkalmazásátjáróknak a Key Vaultban tárolt tanúsítványok eléréséhez.
  • Meglévő tanúsítványok Key Vaultba való importálásának támogatása. Vagy a Key Vault API-kkal új tanúsítványokat hozhat létre és kezelhet bármely megbízható Key Vault-partnerrel.
  • A Key Vaultban tárolt tanúsítványok automatikus megújításának támogatása.

Támogatott tanúsítványok

Az Application Gateway jelenleg csak a szoftveralapú tanúsítványokat támogatja. A hardveres biztonsági modul (HSM) által ellenőrzött tanúsítványok nem támogatottak.

Miután az Application Gateway a Key Vault-tanúsítványok használatára van konfigurálva, a példányok lekérik a tanúsítványt a Key Vaultból, és helyileg telepítik őket a TLS-lezáráshoz. A példányok négy órás időközönként lekérdezik a Key Vaultot a tanúsítvány megújított verziójának lekéréséhez, ha létezik. Ha frissített tanúsítványt talál, a HTTPS-figyelőhöz társított TLS/SSL-tanúsítvány automatikusan el lesz forgatva.

Tipp.

Az Application Gateway bármilyen módosításakor ellenőrizni kell a Key Vaultot, hogy elérhetők-e a tanúsítványok új verziói. Ez magában foglalja többek között az előtérbeli IP-konfigurációk, a figyelők, a szabályok, a háttérkészletek, az erőforráscímkék stb. módosításait. Ha frissített tanúsítványt talál, az új tanúsítvány azonnal megjelenik.

Az Application Gateway titkos azonosítót használ a Key Vaultban a tanúsítványokra való hivatkozáshoz. Az Azure PowerShell, az Azure CLI vagy az Azure Resource Manager esetében erősen javasoljuk, hogy olyan titkos azonosítót használjon, amely nem ad meg verziót. Így az Application Gateway automatikusan elforgatja a tanúsítványt, ha egy újabb verzió érhető el a Key Vaultban. Példa a titkos URI verzió https://myvault.vault.azure.net/secrets/mysecret/nélküli használatára. Az alábbi szakaszban található PowerShell-lépésekre is hivatkozhat.

Az Azure Portal csak a Key Vault-tanúsítványokat támogatja, a titkos kulcsokat nem. Az Application Gateway továbbra is támogatja a Key Vault titkos kulcsainak hivatkozását, de csak nem portálos erőforrásokon keresztül, például a PowerShellen, az Azure CLI-n, AZ API-kon és az Azure Resource Manager-sablonokon (ARM-sablonokon) keresztül.

Más Azure-előfizetésekben a Key Vaultokra mutató hivatkozások támogatottak, de ARM-sablon, Azure PowerShell, CLI, Bicep stb. Az Application Gateway jelenleg nem támogatja az előfizetések közötti kulcstartó konfigurációját az Azure Portalon keresztül.

Tanúsítványbeállítások a Key Vaultban

A TLS leállítása esetén az Application Gateway csak a személyes adatcsere (PFX) formátumú tanúsítványokat támogatja. Importálhat egy meglévő tanúsítványt, vagy létrehozhat egy újat a Key Vaultban. A hibák elkerülése érdekében győződjön meg arról, hogy a tanúsítvány állapota engedélyezve van a Key Vaultban.

Az integráció működése

Az Application Gateway és a Key Vault integrációja egy háromlépéses konfigurációs folyamat:

Diagram that shows three steps for integrating Application Gateway with Key Vault.

Feljegyzés

Azure-alkalmazás Key Vault átjáróintegrációja támogatja a Tároló hozzáférési szabályzatát és az Azure szerepköralapú hozzáférés-vezérlési engedélymodelljeit is.

Felhasználó által hozzárendelt felügyelt identitás beszerzése

Az Application Gateway egy felügyelt identitással kéri le a tanúsítványokat a Key Vaultból az Ön nevében.

Létrehozhat egy új, felhasználó által hozzárendelt felügyelt identitást, vagy újra felhasználhat egy meglévőt az integrációval. Új, felhasználó által hozzárendelt felügyelt identitás létrehozásához lásd : Felhasználó által hozzárendelt felügyelt identitás létrehozása az Azure Portalon.

Felhasználó által hozzárendelt felügyelt identitás delegálása a Key Vaultba

Hozzáférési szabályzatok definiálása a felhasználó által hozzárendelt felügyelt identitás kulcstartóval való használatához:

  1. Az Azure Portalon nyissa meg a Key Vaultot.

  2. Válassza ki a tanúsítványt tartalmazó Key Vaultot.

  3. Ha az engedélymodell tárolóelérési szabályzatát használja: Hozzáférési szabályzatok kiválasztása, + Hozzáférési szabályzat hozzáadása, Titkos engedélyek beolvasása, valamint a felhasználó által hozzárendelt felügyelt identitás kiválasztása az egyszerűség kiválasztásához. Ezután válassza a Mentés lehetőséget.

    Ha azure-beli szerepköralapú hozzáférés-vezérlést használ, kövesse a Felügyelt identitás hozzáférésének hozzárendelése egy erőforráshoz című cikket, és rendelje hozzá a felhasználó által hozzárendelt felügyelt identitást a Key Vault titkos kulcsfelhasználói szerepköréhez az Azure Key Vaulthoz.

A Key Vault tűzfalengedélyeinek ellenőrzése

2021. március 15-étől a Key Vault megbízható szolgáltatásként ismeri fel az Application Gatewayt azáltal, hogy felhasználói felügyelt identitásokat használ az Azure Key Vaultba való hitelesítéshez. A szolgáltatásvégpontok használatával és a Key Vault tűzfalához tartozó megbízható szolgáltatások engedélyezésével biztonságos hálózati határt hozhat létre az Azure-ban. A Key Vaultba irányuló összes hálózatból (beleértve az internetes forgalmat is) érkező forgalomhoz való hozzáférést megtagadhatja, de továbbra is akadálymentessé teheti a Key Vaultot egy Application Gateway-erőforrás számára az előfizetése alatt.

Korlátozott Key Vault használata esetén az alábbi lépésekkel konfigurálhatja az Application Gatewayt tűzfalak és virtuális hálózatok használatára:

Tipp.

Az 1–3. lépés nem szükséges, ha a Key Vaultban engedélyezve van a privát végpont. Az application gateway a titkos IP-címmel érheti el a Key Vaultot.

Fontos

Ha privát végpontokat használ a Key Vault eléréséhez, a privatelink.vaultcore.azure.net privát DNS-zónát kell összekapcsolnia, amely a megfelelő rekordot a hivatkozott Key Vaulthoz csatolja az Application Gatewayt tartalmazó virtuális hálózathoz. Az egyéni DNS-kiszolgálók továbbra is használhatók a virtuális hálózaton az Azure DNS által biztosított feloldók helyett, a privát DNS-zónának azonban a virtuális hálózathoz is kapcsolódnia kell.

  1. Az Azure PortalOn, a Key Vaultban válassza a Hálózatkezelés lehetőséget.

  2. A Tűzfalak és virtuális hálózatok lapon válassza a Kijelölt hálózatok lehetőséget.

  3. Virtuális hálózatok esetén válassza a + Meglévő virtuális hálózatok hozzáadása lehetőséget, majd adja hozzá az Application Gateway-példányhoz tartozó virtuális hálózatot és alhálózatot. Ha a rendszer kéri, győződjön meg arról, hogy a Do not configure "Microsoft.KeyVault" szolgáltatásvégpont(ok) jelenleg nincs bejelölve, hogy a Microsoft.KeyVault szolgáltatásvégpont engedélyezve legyen az alhálózaton.

  4. Válassza az Igen lehetőséget , ha lehetővé szeretné tenni, hogy a megbízható szolgáltatások megkerüljék a Key Vault tűzfalát.

    Screenshot that shows selections for configuring Application Gateway to use firewalls and virtual networks.

Feljegyzés

Ha az Application Gateway-példányt ARM-sablonon keresztül telepíti az Azure CLI vagy a PowerShell használatával, vagy az Azure Portalról üzembe helyezett Azure-alkalmazáson keresztül, az SSL-tanúsítványt a Key Vault base64 kódolású PFX-fájlként tárolja. Az Üzembe helyezés során a biztonságos paraméterérték átadásához az Azure Key Vault használatával kapcsolatos lépéseket kell elvégeznie.

Különösen fontos a beállításenabledForTemplateDeployment.true Lehet, hogy a tanúsítványnak van jelszava. Jelszóval rendelkező tanúsítvány esetén az alábbi példa egy lehetséges konfigurációt mutat be az sslCertificates Application Gateway ARM-sablonkonfigurációjának properties bejegyzéséhez.

"sslCertificates": [
     {
         "name": "appGwSslCertificate",
         "properties": {
             "data": "[parameters('appGatewaySSLCertificateData')]",
            "password": "[parameters('appGatewaySSLCertificatePassword')]"
        }
    }
]

A Key Vault értékeit appGatewaySSLCertificateDataappGatewaySSLCertificatePassword a dinamikus azonosítóval rendelkező referenciatitkokban leírtak szerint tekintjük át. Kövesse a visszafelé parameters('secretName') mutató hivatkozásokat a keresés menetének megtekintéséhez. Ha a tanúsítvány jelszó nélküli, hagyja ki a bejegyzést password .

Az Application Gateway figyelőjének konfigurálása

Key Vault-engedélytartó hozzáférési szabályzatmodellje

Lépjen az Application Gatewayre az Azure Portalon, és válassza a Figyelők lapot. Válassza a Figyelő hozzáadása lehetőséget (vagy válasszon ki egy meglévő figyelőt), és adja meg a HTTPS protokollt.

A Tanúsítvány kiválasztása csoportban válassza az Új létrehozása, majd a Tanúsítvány kiválasztása a Key Vaultból lehetőséget a Https-beállítások területen.

A Tanúsítványnév mezőbe írja be a Key Vaultban hivatkozni kívánt tanúsítvány rövid nevét. Válassza ki a felügyelt identitást, a Key Vaultot és a tanúsítványt.

A kijelölést követően válassza a Hozzáadás (létrehozás esetén) vagy a Mentés (szerkesztés esetén) lehetőséget a hivatkozott Key Vault-tanúsítvány figyelőre való alkalmazásához.

Key Vault Azure szerepköralapú hozzáférés-vezérlési engedélymodell

Az Application Gateway támogatja a Key Vaultban a szerepköralapú hozzáférés-vezérlési engedélymodellen keresztül hivatkozott tanúsítványokat. A Key Vaultra való hivatkozás első néhány lépését ARM-sablon, Bicep, CLI vagy PowerShell használatával kell elvégezni.

Feljegyzés

A portál nem támogatja a szerepköralapú hozzáférés-vezérlési engedélymodellhez tartozó Azure Key Vault-tanúsítványok megadását.

Ebben a példában a PowerShell használatával hivatkozunk egy új Key Vault-titkos kódra.

# Get the Application Gateway we want to modify
$appgw = Get-AzApplicationGateway -Name MyApplicationGateway -ResourceGroupName MyResourceGroup
# Specify the resource id to the user assigned managed identity - This can be found by going to the properties of the managed identity
Set-AzApplicationGatewayIdentity -ApplicationGateway $appgw -UserAssignedIdentityId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyManagedIdentity"
# Get the secret ID from Key Vault
$secret = Get-AzKeyVaultSecret -VaultName "MyKeyVault" -Name "CertificateName"
$secretId = $secret.Id.Replace($secret.Version, "") # Remove the secret version so Application Gateway uses the latest version in future syncs
# Specify the secret ID from Key Vault 
Add-AzApplicationGatewaySslCertificate -KeyVaultSecretId $secretId -ApplicationGateway $appgw -Name $secret.Name
# Commit the changes to the Application Gateway
Set-AzApplicationGateway -ApplicationGateway $appgw

A parancsok végrehajtása után az Azure Portalon navigálhat az Application Gatewayre, és kiválaszthatja a Figyelők lapot. Kattintson a Figyelő hozzáadása (vagy egy meglévő kijelölése) elemre, és adja meg a HTTPS protokollt.

A Tanúsítvány kiválasztása csoportban válassza ki az előző lépésekben elnevezett tanúsítványt. A kijelölést követően válassza a Hozzáadás (létrehozás esetén) vagy a Mentés (szerkesztés esetén) lehetőséget a hivatkozott Key Vault-tanúsítvány figyelőre való alkalmazásához.

Key Vault-hibák kivizsgálása és megoldása

Feljegyzés

Fontos figyelembe venni az Application Gateway-erőforrásra gyakorolt bármilyen hatást a Key Vault-erőforrás módosításakor vagy a hozzáférés visszavonásakor. Ha az application gateway nem tudja elérni a társított kulcstartót, vagy nem találja a tanúsítványobjektumot benne, az application gateway automatikusan letiltott állapotba állítja a figyelőt.

Ezt a felhasználó általvezérelt eseményt az application gateway Resource Health szolgáltatásának megtekintésével azonosíthatja. További információ.

Azure-alkalmazás Átjáró nem csak a megújított tanúsítványverziót kérdezi le a Key Vaultban négyóránként. Emellett naplózza az esetleges hibákat, és integrálva van az Azure Advisornal a hibás konfigurációk megoldására vonatkozó javaslattal való felszínre hozása érdekében.

  1. Bejelentkezés az Azure Portalra
  2. Az Advisor kiválasztása
  3. Válassza az Operational Excellence kategóriát a bal oldali menüből.
  4. Ha az átjáró tapasztalja ezt a problémát, az Azure Key Vault-probléma megoldása című javaslatot talál az Application Gatewayhez. Győződjön meg arról, hogy a megfelelő előfizetés van kiválasztva a fenti legördülő lehetőségek közül.
  5. Válassza ki a hiba részleteinek, a kulcstartóhoz társított erőforrásnak és a hibaelhárítási útmutatónak a pontos hiba elhárításához való megtekintéséhez.

Ha egy ilyen eseményt az Azure Advisoron vagy a Resource Healthen keresztül azonosít, gyorsan meg tudja oldani a Key Vault konfigurációs problémáit. Határozottan javasoljuk, hogy használja ki az Azure Advisor és a Resource Health riasztásait, hogy értesüljön a probléma észlelésekor.

Az Advisor-riasztáshoz használja az "Azure Key Vault-probléma megoldása az Application Gatewayhez" című témakört az alábbi javaslattípusban:
Diagram that shows steps for Advisor alert.

Az erőforrásállapot-riasztást az alábbi módon konfigurálhatja:
Diagram that shows steps for Resource health alert.

Következő lépések

TLS-megszakítás konfigurálása Key Vault-tanúsítványokkal az Azure PowerShell használatával