Azure Firewall Premium certifikat
För att konfigurera Azure Firewall Premium TLS-kontroll måste du ange ett giltigt mellanliggande CA-certifikat och sätta in det i Azure Key Vault.
Certifikat som används av Azure Firewall Premium
Det finns tre typer av certifikat som används i en typisk distribution:
Mellanliggande CA-certifikat (CA-certifikat)
En certifikatutfärdare (CA) är en organisation som är betrodd att signera digitala certifikat. En CA verifierar identiteten och äktheten för ett företag eller en enskild person som begär ett certifikat. Om verifieringen lyckas utfärdar certifikatutfärdaren ett signerat certifikat. När servern presenterar certifikatet för klienten (till exempel webbläsaren) under en SSL/TLS-handskakning försöker klienten verifiera signaturen mot en lista över kända bra tecken. Webbläsare har vanligtvis listor över de CAs som de implicit litar på för att identifiera värdar. Om utfärdaren inte finns med i listan, som med vissa webbplatser som signerar sina egna certifikat, varnar webbläsaren användaren om att certifikatet inte har signerats av en igenkänd auktoritet och frågar användaren om de vill fortsätta kommunikationen med en overifierad webbplats.
Servercertifikat (webbplatscertifikat)
Ett certifikat som är associerat med ett specifikt domännamn. Om en webbplats har ett giltigt certifikat innebär det att en certifikatutfärdare har vidtagit åtgärder för att verifiera att webbadressen faktiskt tillhör den organisationen. När du skriver en URL eller följer en länk till en säker webbplats kontrollerar webbläsaren certifikatet efter följande egenskaper:
- Webbplatsadressen matchar adressen på certifikatet.
- Certifikatet signeras av en certifikatutfärdare som webbläsaren känner igen som en betrodd utfärdare.
Ibland kan användare ansluta till en server med ett ej betroddt certifikat. Azure Firewall att anslutningen bryts som om servern avslutade anslutningen.
Rotcertifikatutfärdarcertifikat (rotcertifikat)
En certifikatutfärdare kan utfärda flera certifikat i form av en trädstruktur. Ett rotcertifikat är det högsta certifikatet i trädet.
Azure Firewall Premium kan fånga upp utgående HTTP/S-trafik och automatiskt generera ett servercertifikat för www.website.com . Det här certifikatet genereras med hjälp av det mellanliggande CA-certifikat som du anger. Slutanvändares webbläsare och klientprogram måste lita på organisationens rotcertifikatutfärdarcertifikat eller mellanliggande CA-certifikat för att den här proceduren ska fungera.
Certifikatkrav för mellanliggande certifikatutfärdare
Kontrollera att certifikatutfärdaren uppfyller följande krav:
När den distribueras som Key Vault en hemlighet måste du använda lösenordslös PFX (Pkcs12) med ett certifikat och en privat nyckel.
Det måste vara ett enda certifikat och får inte innehålla hela certifikatkedjan.
Det måste vara giltigt i ett år framåt.
Det måste vara en privat RSA-nyckel med en minsta storlek på 4 096 byte.
Tillägget måste vara markerat som Kritiskt med
KeyUsageflagganKeyCertSign(RFC 5280; 4.2.1.3 Nyckelanvändning).Tillägget måste vara
BasicContraintsmarkerat som Kritiskt (RFC 5280; 4.2.1.9 Grundläggande begränsningar).Flaggan
CAmåste vara inställd på TRUE.Sökvägslängden måste vara större än eller lika med en.
Azure Key Vault
Azure Key Vault är ett plattforms hanterat hemlighetslager som du kan använda för att skydda hemligheter, nycklar och TLS/SSL-certifikat. Azure Firewall Premium stöder integrering med Key Vault för servercertifikat som är kopplade till en brandväggsprincip.
Så här konfigurerar du ditt nyckelvalv:
- Du måste importera ett befintligt certifikat med dess nyckelpar till ditt nyckelvalv.
- Du kan också använda en nyckelvalvshemlighet som lagras som en lösenordslös, base64-kodad PFX-fil. En PFX-fil är ett digitalt certifikat som innehåller både privat nyckel och offentlig nyckel.
- Vi rekommenderar att du använder en CA-certifikatimport eftersom du kan konfigurera en avisering baserat på certifikatets förfallodatum.
- När du har importerat ett certifikat eller en hemlighet måste du definiera åtkomstprinciper i nyckelvalvet så att identiteten kan beviljas åtkomst till certifikatet/hemligheten.
- Det tillhandahållna CA-certifikatet måste vara betrott av din Azure-arbetsbelastning. Se till att de har distribuerats korrekt.
Du kan antingen skapa eller återanvända en befintlig användar tilldelad hanterad identitet, som Azure Firewall använder för att hämta certifikat från Key Vault åt dig. Mer information finns i Vad är hanterade identiteter för Azure-resurser?
Konfigurera ett certifikat i principen
Om du vill konfigurera ett CA-certifikat i brandväggsprincipen Premium du principen och väljer sedan TLS-kontroll. Välj Aktiverad på TLS-inspektionssidan. Välj sedan certifikatutfärdaren i Azure Key Vault, som du ser i följande bild:
Viktigt
Om du vill se och konfigurera ett certifikat från Azure Portal måste du lägga till ditt Azure-användarkonto i Key Vault Access-principen. Ge ditt användarkonto behörigheterna Hämta och Lista under Hemliga behörigheter.
Skapa ett eget själv signerat CA-certifikat
Om du vill skapa egna certifikat som hjälper dig att testa och verifiera TLS-inspektion kan du använda följande skript för att skapa en egen själv signerad rotcertifikatutfärdare och mellanliggande certifikatutfärdare.
Viktigt
För produktion bör du använda företagets PKI för att skapa ett mellanliggande CA-certifikat. En företags-PKI utnyttjar den befintliga infrastrukturen och hanterar rotcertifikatutfärdardistributionen till alla slutpunktsdatorer. Mer information finns i Distribuera och konfigurera certifikat från företagscertifikatutfärdare för Azure Firewall.
Det finns två versioner av det här skriptet:
- ett bash-skript
cert.sh - ett PowerShell-skript
cert.ps1
Dessutom använder båda skripten openssl.cnf konfigurationsfilen. Om du vill använda skripten kopierar du innehållet i openssl.cnf och eller till den lokala cert.sh cert.ps1 datorn.
Skripten genererar följande filer:
- rootCA.crt/rootCA.key – Offentligt rotcertifikatutfärdarcertifikat och privat nyckel.
- interCA.crt/interCA.key – mellanliggande ca offentligt certifikat och privat nyckel
- interCA.pfx – mellanliggande CA pkcs12-paket som kommer att användas av brandväggen
Viktigt
rootCA.key ska lagras på en säker offlineplats. Skripten genererar ett certifikat med en giltighet på 1 024 dagar. Skripten kräver att openssl-binärfiler är installerade på den lokala datorn. Mer information finns i https://www.openssl.org/
När certifikaten har skapats distribuerar du dem till följande platser:
- rootCA.crt – Distribuera på slutpunktsdatorer (endast offentligt certifikat).
- interCA.pfx – Importera som certifikat på en Key Vault och tilldela till brandväggsprincipen.
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-skript – 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 "================"
Automatisk generering av certifikat (förhandsversion)
För icke-produktionsdistributioner kan du använda Azure Firewall Premium mekanism för automatisk generering av certifiering, som automatiskt skapar följande tre resurser åt dig:
- Hanterad identitet
- Key Vault
- Själv signerat rotcertifikatutfärdarcertifikat
Välj bara den nya hanterade identiteten i förhandsversionen så kopplar den samman de tre resurserna i din Premium-princip och ställer in TLS-inspektion.
Felsökning
Om certifikatutfärdarens certifikat är giltigt, men du inte kan komma åt FQDN eller URL:er under TLS-kontroll, kontrollerar du följande:
Kontrollera att webbservercertifikatet är giltigt.
Kontrollera att rotcertifikatutfärdarcertifikatet är installerat på klientoperativsystemet.
Kontrollera att webbläsaren eller HTTPS-klienten innehåller ett giltigt rotcertifikat. Firefox och vissa andra webbläsare kan ha särskilda certifieringsprinciper.
Se till att URL-måltypen i programregeln täcker rätt sökväg och eventuella andra hyperlänkar som är inbäddade på HTML-målsidan. Du kan använda jokertecken för att enkelt täcka hela den url-sökväg som krävs.