Verschlüsselter Datenverkehr muss geprüft werden? Konfiguriere TLS-Inspektion mit Azure Firewall Premium
Die CloudTrips-Firewall kann ein HTTPS-Ziel anhand seines Domainnamens zulassen oder verweigern. Die Anwendungsdaten innerhalb der Verbindung sind jedoch verschlüsselt. Standard-Firewallfilterung kann diesen verschlüsselten Inhalt nicht auf Bedrohungen prüfen.
Verwende Transport Layer Security (TLS) Inspection in Azure Firewall Premium. Die Firewall baut eine verschlüsselte Verbindung zum Workload und eine zweite verschlüsselte Verbindung zur Zielwebsite auf. Dazwischen kann sie den entschlüsselten Datenverkehr prüfen und danach erneut verschlüsseln.
VM -> verschlüsseltes TLS -> Azure Firewall
Prüfung
Azure Firewall -> verschlüsseltes TLS -> Website
In diesem Lab sendet die VM eine HTTPS-Anfrage an www.microsoft.com. Ohne TLS
Inspection sendet Microsoft sein Website-Zertifikat direkt an die VM. Die VM
prüft dieses Zertifikat, um sicherzustellen, dass sie verschlüsselt mit der
echten Microsoft-Website kommuniziert. Bei der TLS Inspection befindet sich
die Firewall dazwischen. Deshalb erhält die VM stattdessen ein temporäres
Zertifikat für www.microsoft.com, das von der Firewall erstellt und signiert
wurde.
Die VM lehnt dieses Zertifikat ab, solange sie der Certificate Authority (CA), die es signiert hat, nicht vertraut. Eine CA ist eine vertrauenswürdige Ausstellerin von Zertifikaten. In diesem Lab verwendet die Firewall ihre eigene CA. Deren öffentliches Zertifikat wird auf der VM installiert. Dadurch weiß die VM, dass sie den während der Inspektion von der CloudTrips-Firewall erstellten Zertifikaten vertrauen darf.
Dieser Trip baut auf Eingehende Firewall-Veröffentlichung erforderlich? Konfiguriere Firewall-DNAT auf. Behalte Firewall, Policy, Route, private VM und öffentliche IP. Die DNAT-Regel wird für diesen ausgehenden Test nicht verwendet, bleibt aber für den folgenden IDPS-Trip erhalten.
Azure Firewall Premium kostet mehr als Standard. Führe diesen und den folgenden IDPS-Trip nach Möglichkeit in derselben Lab-Sitzung aus.
Das Lab-Zertifikat verstehen
In der Produktion verwendet ein Unternehmen normalerweise ein eigenes verwaltetes Zertifikatssystem. Dieses heißt Public Key Infrastructure (PKI). Es stellt zwei unterschiedliche Dinge bereit:
- Die Firewall erhält ein Intermediate-CA-Zertifikat und dessen privaten Schlüssel. Damit darf sie temporäre Website-Zertifikate signieren.
- Die Unternehmensgeräte erhalten nur das öffentliche Root-CA-Zertifikat, normalerweise über eine zentrale Geräteverwaltung. Damit prüfen sie, ob die temporären Zertifikate der Firewall von einer vertrauenswürdigen Unternehmens-CA signiert wurden.
Die Geräte erhalten niemals den privaten CA-Schlüssel. Sie erhalten nur das öffentliche Zertifikat, das sie für die Überprüfung benötigen.
Dieses TEST-Lab verwendet die automatische Zertifikaterstellung von Azure Firewall Premium. Die Premium Firewall Policy ist die Konfiguration, die der Premium-Firewall zugeordnet ist. Sie enthält die Firewallregeln und Premium-Einstellungen einschließlich TLS Inspection. Sie ist eine Azure Firewall Policy und nicht der Azure-Policy-Dienst für Governance.
Azure erstellt drei unterstützende Ressourcen und verbindet sie mit dieser Firewall Policy:
User-assigned managed identity
Key Vault
Self-signed CA certificate
Die Managed Identity erlaubt der Policy, das CA-Zertifikat aus Key Vault zu lesen. Auf der VM wird nur das öffentliche Zertifikat installiert. Exportiere oder verteile den privaten CA-Schlüssel nicht. Automatisch erzeugte Zertifikate eignen sich für dieses Lab und nicht für die Produktion.
Firewall und Policy auf Premium aktualisieren
Öffne afw-cloudtrips-test-weu. Wähle auf Overview die Option Change
SKU.
Konfiguriere:
Target SKU: Premium
Policy option: Upgrade or duplicate the current Standard policy to Premium
Verwende die vorhandene Standard-Policy als Quelle, damit Azure
Allow-Approved-Web und Publish-CloudTrips-HTTP übernimmt. Ordne keine leere
Premium-Policy zu.
Wähle Save und warte, bis der Bereitstellungsstatus der Firewall Succeeded lautet. Die Änderung dauert normalerweise einige Minuten. Notiere den Namen der Premium-Policy, die jetzt der Firewall zugeordnet ist.
Öffne diese Policy und bestätige:
Policy tier: Premium
Allow-Approved-Web: Present
Publish-CloudTrips-HTTP: Present

Die SKU aktiviert Premium-Verarbeitungsfunktionen. TLS wird erst geprüft, wenn die Policy ein CA-Zertifikat besitzt und eine passende Regel die Inspektion aktiviert.
Lab-CA automatisch erzeugen
Öffne die Premium Firewall Policy und wähle Settings > TLS inspection. Wähle Enabled.
Wähle im Bereich für die automatische Erstellung die mit (New) markierten Einträge für:
Managed identity: Erzeuge die Ressource fw-cert-id
Key vault: Erzeuge die Ressource fw-cert-kv
Certificate: Erzeuge die Ressource fw-cert
Das Portal ergänzt diese Namen um eindeutige Suffixe. Notiere die exakten Namen von Key Vault und Zertifikat; der nächste Schritt benötigt sie. Wähle Save und warte, bis die Policyaktualisierung abgeschlossen ist.

Wenn das Zertifikat nicht auswählbar ist, öffne den erzeugten Key Vault und füge für dein eigenes Benutzerkonto eine Access Policy mit Get und List unter Certificate permissions und Secret permissions hinzu. Die Managed Identity der Firewall benötigt ebenfalls Get und List unter Secret permissions; der automatische Workflow erstellt diese Policy normalerweise selbst.
Der erzeugten CA auf der VM vertrauen
Die Firewall kann jetzt Ersatzzertifikate erstellen, aber die VM vertraut deren Aussteller noch nicht. Die folgenden Befehle laden das öffentliche CA-Zertifikat mit Azure CLI herunter und fügen es aus der Ferne zur Liste der vertrauenswürdigen Zertifizierungsstellen von Ubuntu hinzu. Du musst die Datei nicht manuell auf die VM kopieren.
Öffne auf deinem Mac ein Terminal, in dem Azure CLI bei CloudTrips TEST
angemeldet ist. Ersetze beide Platzhalter durch die Namen von der
TLS-Inspection-Seite:
az keyvault certificate download \
--vault-name <generated-key-vault-name> \
--name <generated-certificate-name> \
--file /tmp/cloudtrips-firewall-root.pem \
--encoding PEM
Die heruntergeladene Datei enthält das öffentliche Zertifikat und nicht den privaten Schlüssel. Prüfe sie:
openssl x509 \
-in /tmp/cloudtrips-firewall-root.pem \
-noout \
-subject \
-issuer
Codiere das öffentliche Zertifikat, damit Azure VM Run Command es sicher als Text übertragen kann:
CLOUDTRIPS_CA_BASE64=$(base64 < /tmp/cloudtrips-firewall-root.pem | tr -d '\n')
Installiere es auf der Test-VM:
az vm run-command invoke \
--resource-group rg-cloudtrips-network-test-weu \
--name vm-cloudtrips-bastion-test-weu \
--command-id RunShellScript \
--scripts "echo '$CLOUDTRIPS_CA_BASE64' | base64 --decode | sudo tee /usr/local/share/ca-certificates/cloudtrips-firewall-root.crt >/dev/null; sudo update-ca-certificates"
Die Ausgabe sollte melden, dass ein Zertifikat hinzugefügt wurde. Die Installation einer Root CA bedeutet, dass die Maschine den von ihr ausgestellten Zertifikaten vertraut. Verteile dieses Vertrauen deshalb nur an kontrollierte Lab-Systeme.
Inspektion für die HTTPS-Regel aktivieren
Kehre zur Premium Firewall Policy zurück. Öffne unter Settings > Rules
die Application-Rule-Collection Allow-Approved-Web und bearbeite
Allow-Microsoft-Web.
Behalte Quelle, Protokolle und Ziel bei und aktiviere:
TLS inspection: Enabled
Die Regel sollte weiterhin enthalten:
Source: 10.20.1.0/24
Protocol: HTTPS:443
Destination type: FQDN
Destination: www.microsoft.com
Wähle Save oder Add und warte, bis der Bereitstellungsstatus der Policy Succeeded lautet.

TLS Inspection wird nicht automatisch auf jede verschlüsselte Verbindung angewendet. Nur Datenverkehr, der einer Application Rule mit aktivierter TLS Inspection entspricht, wird entschlüsselt und geprüft.
TLS-Interception überprüfen
Starte vm-cloudtrips-bastion-test-weu, falls sie freigegeben ist, und verbinde
dich über Connect > Bastion. Führe aus:
curl -vI https://www.microsoft.com 2>&1 | grep -E 'issuer:|SSL certificate verify ok|HTTP/'
Die Ausgabe sollte zeigen:
issuer: Die erzeugte CloudTrips-Firewall-CA
SSL certificate verify ok
HTTP/2 200, 301 oder 302
Der exakte Ausstellertext und HTTP-Status können abweichen. Entscheidend ist, dass die Zertifikatsprüfung erfolgreich ist und der Aussteller die erzeugte Firewall-CA statt der normalen öffentlichen CA der Website ist.

Damit ist bewiesen, dass die VM eine Verbindung zum erzeugten Zertifikat von
Azure Firewall aufbaute, die Firewall die entschlüsselte Sitzung prüfte und
eine separate TLS-Verbindung zu www.microsoft.com herstellte.
Wenn curl Fehler 60 meldet, verwende nicht -k als Lösung. Bestätige, dass
das heruntergeladene Zertifikat die in der Policy gewählte CA ist, und führe
update-ca-certificates auf der VM erneut aus.
Fortfahren oder bereinigen
Der nächste Trip aktiviert Firewall IDPS. Behalte Premium-Firewall, Premium-Policy, erzeugte Managed Identity, Key Vault, CA-Zertifikat, Application- und DNAT-Regeln, Route und VM. Gib zwischen den Tests nur die VM frei.
Wenn du die Premium-Labs beendest, deaktiviere TLS Inspection zuerst auf
Allow-Microsoft-Web und danach in der Policy. Führe ein Downgrade durch oder
lösche die Premium-Firewall, bevor du den erzeugten Key Vault, das Zertifikat
und die Managed Identity entfernst. Entferne die Lab-CA von der VM mit:
sudo rm /usr/local/share/ca-certificates/cloudtrips-firewall-root.crt
sudo update-ca-certificates --fresh
Folge der früheren Firewall-Policy-Bereinigung, wenn das gesamte Firewall-Lab abgeschlossen ist.