Einführung
In diesem Dokument wird beschrieben, wie die automatisierte Bereitstellung von Cisco FirePOWER Threat Defense Virtual (FTDv) in Azure in einer Umgebung mit hoher Vertrauenswürdigkeit möglich ist.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- NGFW und FirePOWER Management Center sollten über Private IP kommunizieren
- Externer Load Balancer sollte keine öffentliche IP-Adresse haben.
- Die App der Funktion sollte mit Private IP kommunizieren können.
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- Azure
- FirePOWER Management Center
- Skalierbare virtuelle Systeme
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Hintergrundinformationen
FTDv stellt die Firepower Next-Generation Firewall-Funktionalität von Cisco für virtualisierte Umgebungen bereit, die konsistente Sicherheitsrichtlinien für Workloads in physischen, virtuellen und Cloud-Umgebungen sowie zwischen Clouds ermöglicht.
Da diese Bereitstellungen in einer virtualisierten Umgebung verfügbar sind, ist derzeit keine Unterstützung für HA für NGFW verfügbar. Um eine hochverfügbare Lösung bereitzustellen, nutzt die Cisco Next-Generation Firewall (NGFW) die nativen Funktionen von Azure wie Availability Sets und Virtual Machine Scale Set (VMSS), um NGFW hochverfügbar zu machen und den wachsenden Datenverkehr nach Bedarf zu bewältigen.
Das vorliegende Dokument behandelt schwerpunktmäßig die Konfiguration der Cisco NGFW für die automatische Skalierung auf Basis verschiedener Parameter, wobei die NGFW ON-DEMAND skaliert bzw. skaliert werden kann. Dies gilt für den Anwendungsfall, in dem der Kunde ein FirePOWER Management Center (FMC) benötigt, das im Rechenzentrum am Standort verfügbar ist und für die zentrale Verwaltung der gesamten NGFW erforderlich ist. Kunden möchten auch keine FMC- und FTD-Kommunikation für Verwaltungsdatenverkehr über öffentliche IP.
Bevor wir uns näher mit der Konfiguration und dem Design befassen, sollten Sie die folgenden Konzepte auf Azure aufmerksam machen:
- Verfügbarkeitszone: Eine Verfügbarkeitszone ist ein Hochverfügbarkeitsangebot, das Ihre Anwendungen und Daten vor Ausfällen im Rechenzentrum schützt. Verfügbarkeitszonen sind einzigartige physische Standorte innerhalb einer Azure-Region. Jede Zone besteht aus einem oder mehreren Rechenzentren, die mit unabhängigem Strom-, Kühlungs- und Netzwerkbetrieb ausgestattet sind.
- VNET: Azure Virtual Network (VNet) ist der grundlegende Baustein für Ihr privates Netzwerk auf Azure. Mit VNet können viele Arten von Azure-Ressourcen, wie Azure Virtual Machines (VMs), sicher miteinander, im Internet und in lokalen Netzwerken kommunizieren. VNet ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben, bietet aber zusätzliche Vorteile der Azure-Infrastruktur wie Skalierbarkeit, Verfügbarkeit und Isolierung. Jedes Subnetz innerhalb eines VNET ist standardmäßig untereinander erreichbar, dies gilt jedoch nicht für Subnetze in verschiedenen VNETs.
- Verfügbarkeitssatz: Verfügbarkeitssätze sind eine weitere Rechenzentrumskonfiguration, um VM-Redundanz und -Verfügbarkeit bereitzustellen. Durch diese Konfiguration in einem Rechenzentrum wird sichergestellt, dass während eines geplanten oder ungeplanten Wartungsereignisses mindestens ein virtuelles System verfügbar ist und das Azure SLA von 99,95 % erfüllt.
- VMSS: Azure VM-Skalierungssets ermöglichen die Erstellung und Verwaltung einer Gruppe von VMs mit Lastausgleich. Die Anzahl der VM-Instanzen kann automatisch nach Bedarf oder einem definierten Zeitplan erhöht oder verringert werden. Skalierungssets bieten eine hohe Verfügbarkeit für Ihre Anwendungen und ermöglichen die zentrale Verwaltung, Konfiguration und Aktualisierung einer großen Anzahl von VMs. Mit virtuellen Systemen können Sie umfangreiche Services für Bereiche wie Computing-, Big Data- und Container-Workloads erstellen.
- Functions App: Azure Functions sind ein bedarfsgesteuerter Cloud-Service, der alle für die Ausführung Ihrer Anwendungen erforderlichen, kontinuierlich aktualisierten Infrastrukturen und Ressourcen bereitstellt. Sie konzentrieren sich auf die Codeelemente, die für Sie am wichtigsten sind, und Azure Functions kümmern sich um den Rest. Azure-Funktionen ermöglichen die Erstellung von Web-APIs, die Reaktion auf Datenbankänderungen, die Verarbeitung von IoT-Streams, das Management von Warteschlangen für Nachrichten und vieles mehr. In dieser automatisierten Lösung sind Azure Function verschiedene API-Anfragen an FMC zum Erstellen von Objekten, Registrieren/Entfernen von FTDv, Überprüfen der Parameter usw.
- Logik-Anwendung: Azure Logic Apps ist ein Cloud-Service, der Sie bei der Planung, Automatisierung und Orchestrierung von Aufgaben, Geschäftsprozessen und Workflows unterstützt, wenn Sie Anwendungen, Daten, Systeme und Services unternehmensübergreifend integrieren möchten. Logic Apps vereinfacht das Design und die Entwicklung skalierbarer Lösungen für die Anwendungsintegration, Datenintegration, Systemintegration, Enterprise Application Integration (EAI) und B2B-Kommunikation (Business-to-Business), egal ob in der Cloud, am Standort oder beidem. Diese Lösung bietet eine logische Sequenzierung der Funktionen, die für die Funktion der automatisch skalierten Lösung ausgeführt werden.
Derzeit bietet die für NGFW verfügbare AutoScale-Lösung keinen Verwaltungsplan für die Kommunikation mit dem lokalen Private IP-VNet und erfordert eine öffentliche IP für den Austausch der Kommunikation zwischen dem FirePOWER Management Center und der NGFW.
Dieser Artikel zielt darauf ab, dieses Problem zu beheben, bis die verifizierte Lösung für FirePOWER Management Center und NGFW-Kommunikation über private IP verfügbar ist.
Konfiguration
Zum Erstellen einer automatisch skalierten NGFW-Lösung wird dieses Konfigurationshandbuch verwendet:
https://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/azure/ftdv-azure-gsg/ftdv-azure-autoscale.html#Cisco_Concept.dita_c0b3cf0d-9690-4342-8cba-e66730e70c47
mit mehreren Änderungen, sodass die folgenden Anwendungsfälle behandelt werden können:
- Die Anwendung der Funktion sollte in der Lage sein, mit dem internen IP-Segment des Kunden zu kommunizieren.
- Load Balancer darf keine öffentliche IP-Adresse haben.
- Der Management-Datenverkehr zwischen NGFW und FMC muss über das Private IP-Segment ausgetauscht werden.
Um eine AutoScaled NGFW-Lösung mit den oben genannten Anwendungsfällen zu erstellen, müssen Sie diese in den Schritten ändern, die im offiziellen Leitfaden von Cisco erwähnt werden:
-
Azure ARM-Vorlage
Die ARM-Vorlage wird für die Automatisierung in Azure verwendet. Cisco hat eine verifizierte ARM-Vorlage bereitgestellt, die zur Erstellung einer Lösung für automatische Skalierung verwendet werden kann. Diese ARM-Vorlage, die unter Public Github https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/azure/NGFWv6.6.0/ARM%20Template verfügbar ist, erstellt eine Funktions-App, die nicht für die Kommunikation mit dem internen Netzwerk des Kunden konfiguriert werden kann, obwohl sie über Express Routes erreichbar sind. Daher müssen wir das ein wenig ändern, sodass Function App jetzt den Premium-Modus anstelle des Verbrauchsmodus verwenden kann. Die erforderliche ARM-Vorlage ist daher unter https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git verfügbar.
-
Funktion APP
Die Funktions-App besteht aus einem Satz Azure-Funktionen. Zu den grundlegenden Funktionen gehören:
- Communicate/Probe Azure-Metriken in regelmäßigen Abständen.
- Überwachen der FTDv-Last und Auslösen von Scale In/Scale-Out-Vorgängen.
- Registrieren Sie eine neue FTDv beim FMC.
- Konfigurieren Sie eine neue FTDv über FMC.
- Registrierung (Entfernung) einer skalierten FTDv aus dem FMC
Wie in der Anforderung erwähnt, werden die verschiedenen Funktionen für die Erstellung oder Löschung einer NGFW bei Bedarf basierend auf der öffentlichen IP-Adresse der NGFW erstellt. Daher müssen wir C#-Code so anpassen, dass private IP anstelle von Public IP abgerufen wird. Nachdem Sie den Code geändert haben, steht die ZIP-Datei zum Erstellen der Function App unter https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git zur Verfügung.
mit dem Namen ASM_Function.zip. Dadurch kann die Functions-App mit internen Ressourcen kommunizieren, ohne über die öffentliche IP zu verfügen.
-
Logik-Anwendung
Die Auto Scale Logic App ist ein Workflow, d. h. eine Sammlung von Schritten in einer Sequenz. Azure-Funktionen sind unabhängige Einheiten und können nicht miteinander kommunizieren. Dieser Orchestrator knüpft die Ausführung dieser Funktionen und tauscht Informationen zwischen ihnen aus.
- Die Logic App dient zur Orchestrierung und Übergabe von Informationen zwischen den Auto Scale Azure-Funktionen.
- Jeder Schritt stellt eine Auto Scale Azure-Funktion oder eine integrierte Standardlogik dar.
- Die Logic App wird als JSON-Datei bereitgestellt.
- Die Logic App kann über die GUI- oder JSON-Datei angepasst werden.
Hinweis: Die unter https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.git verfügbaren Logic-App-Details müssen sorgfältig geändert und durch Bereitstellungsdetails, FUNSTIONAPP-Name, RESOURCE GROUP-Name, ABONNEMENT-ID, ersetzt werden.
Netzwerkdiagramm

Dieses Bild zeigt, wie ein- und ausgehender Datenverkehr innerhalb einer Azure-Umgebung über die NGFW fließt.
Konfigurationen
Erstellen Sie jetzt verschiedene Komponenten, die für eine automatische Skalierung erforderlich sind.
- Erstellen Sie Komponenten von Autoscale Logic.
Verwenden Sie die ARM-Vorlage, und erstellen Sie VMSS, Logic APP, Function APP, App Insight, Network Security Group.
Navigieren Sie zu Startseite > Ressource erstellen > Nach Vorlage suchen, und wählen Sie dann Vorlagenbereitstellung aus. Klicken Sie jetzt auf Erstellen und erstellen Sie Ihre eigene Vorlage im Editor.

- Klicken Sie auf Speichern.

Nehmen Sie die erforderlichen Änderungen an dieser Vorlage vor, und klicken Sie auf Prüfen + Erstellen.
- Dadurch werden alle Komponenten unter der genannten Ressourcengruppe erstellt.

- Anmeldung bei der URL
https://<function_app_name>.scm.azurewebsites.net/DebugConsole
Laden Sie die Datei ASM_Function.zip und ftdssh.exe auf site/wwwroot/folder hoch (Es ist obligatorisch, sie in den angegebenen Speicherort hochzuladen, da Function App verschiedene Funktionen nicht identifiziert.)
Es sollte wie folgt aussehen:

- Aktivieren Sie die Funktionsanwendung > Funktion. Sie sollten alle Funktionen sehen.

- Ändern Sie die Zugriffsberechtigung, sodass VMSS die Funktionen in Function App ausführen kann.
Navigieren Sie zu <prefix>-vmss> Zugriffskontrolle (IAM) > Rollenzuweisung hinzufügen. Stellen Sie diesem VMSS einen beitragenden Zugriff auf <prefix>-function-app bereit

Klicken Sie auf Speichern.
- Navigieren Sie zu Logic App > Logic Code view, und ändern Sie den Logic-Code mit dem unter
https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/azure/NGFWv6.6.0/Logic%20App
Hier müssen Azure Subscription, Resource Group Name und Function App Name vor der Nutzung ausgetauscht werden. Andernfalls können keine Daten erfolgreich gespeichert werden.
- Klicken Sie auf Speichern. Navigieren Sie zu Logik-App-Übersicht und Enable Logic App.
Überprüfung
Sobald die Logik-App aktiviert ist, beginnt sie sofort mit der Ausführung im Intervall von 5 Minuten.
Wenn alles korrekt konfiguriert ist, sehen Sie, dass die Triggeraktionen erfolgreich verlaufen.

Außerdem wird VM unter VMSS erstellt.

Melden Sie sich beim FMC an, und überprüfen Sie, ob FMC und NGFW über FTDv Private IP verbunden sind:

Wenn Sie sich bei der NGFW-CLI anmelden, sehen Sie Folgendes:

Daher kommuniziert FMC über Azure Private VNet-Subnetz mit NGFW.
Fehlerbehebung
Manchmal schlägt Logic App beim Aufbau einer neuen NGFW fehl, um eine solche Situation zu beheben. Gehen Sie wie folgt vor:
- Überprüfen Sie, ob die Logic App erfolgreich ausgeführt wird.

- Bestimmen Sie die Fehlerursache.
Klicken Sie auf den ausgefallenen Trigger.

Versuchen Sie, den Fehlerpunkt aus dem Codefluss zu identifizieren. Aus dem obigen Ausschnitt geht hervor, dass die ASM-Logik fehlschlug, da sie keine Verbindung mit dem FMC herstellen konnte. Als Nächstes müssen Sie ermitteln, warum das FMC laut Azure-Fluss nicht erreichbar war.