内容

概要

前提条件

要件

使用するコンポーネント

背景説明

設定

Azure ARMテンプレート

機能APP

ロジックアプリ

ネットワーク図

設定

確認

トラブルシュート

概要

このドキュメントでは、Azureの自動拡張Cisco Firepower Threat Defense Virtual(FTDv)を高い信頼環境に導入する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- NGFWとFirepower Management CenterはプライベートIP経由で通信する必要があります

- 外部ロードバランサにはパブリックIPを設定しないでください。

- 機能のアプリはプライベートIPと通信できる必要があります

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Azure

- Firepower Management Center

- 仮想マシンスケールセット

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

FTDvは、シスコのFirepower Next-Generation Firewall機能を仮想化環境に提供し、一貫したセキュリティポリシーを使用して、物理環境、仮想環境、クラウド環境、クラウド環境のワークロードに対応します。

これらの導入は仮想化環境で利用できるため、現在NGFWではHAをサポートしていません。したがって、可用性の高いソリューションを提供するために、Cisco Next-Generation Firewall(NGFW)は、可用性セットや仮想マシンスケールセット(VMSS)などのAzureのネイティブ機能を使用して、NGFWの可用性を高め、オンデマンドでトラフィックを増加させます。

このドキュメントでは、NGFWがオンデマンドで拡張または拡張するさまざまなパラメータに基づいて、Cisco NGFWをAutoScaleに設定する方法について説明します。これは、コロケーションデータセンターで使用可能で、すべてのNGFWを一元管理するために必要なFirepower Management Center(FMC)を使用する必要がある場合の使用例をカバーします。また、FMCとFTDが管理トラフィック用にパブリックIPで通信することを希望しません。

構成と設計の考慮事項について詳しく説明する前に、Azureに関する十分な理解が必要な概念を次に示します。

- 可用性ゾーン: アベイラビリティゾーンは、データセンターの障害からアプリケーションとデータを保護するハイアベイラビリティサービスです。可用性ゾーンは、Azureリージョン内の一意の物理的な場所です。各ゾーンは、独立した電力、冷却、およびネットワーキングを備えた1つ以上のデータセンターで構成されます。

- VNET:  Azure Virtual Network (VNet)は、Azureのプライベートネットワークの基本的な構成要素です。VNetを使用すると、Azure Virtual Machines(VM)など、さまざまな種類のAzureリソースが、相互、インターネット、およびオンプレミスネットワークと安全に通信できるようになります。VNetは、独自のデータセンターで運用する従来のネットワークに似ていますが、スケール、アベイラビリティ、分離など、Azureのインフラストラクチャの利点が追加されています。VNET内のすべてのサブネットは、デフォルトで相互に到達可能ですが、異なるVNET内のサブネットに対しても同じではありません。

- 可用性セット:  可用性セットは、VMの冗長性と可用性を提供するためのもう1つのデータセンター構成です。データセンター内のこの構成により、計画されたメンテナンスイベントまたは予期しないメンテナンスイベントの間に、少なくとも1つの仮想マシンが利用可能になり、99.95% Azure SLAを満たすことができます。

- VMSS: Azure仮想マシンのスケールセットを使用すると、負荷分散されたVMのグループを作成および管理できます。VMインスタンスの数は、需要または定義されたスケジュールに応じて自動的に増減します。スケールセットは、アプリケーションに高可用性を提供し、多数のVMを一元的に管理、構成、更新できます。仮想マシンのスケールセットを使用すると、コンピューティング、ビッグデータ、コンテナワークロードなどの領域に大規模なサービスを構築できます。

- 機能アプリ：Azure Functionsは、アプリケーションの実行に必要な継続的に更新されるすべてのインフラストラクチャとリソースをオンデマンドで提供するクラウドサービスです。最も重要なコードの部分に焦点を当て、Azure Functionsが残りを処理します。Azure Functionsを使用すると、Web APIの構築、データベースの変更への応答、IoTストリームの処理、メッセージキューの管理などを行うことができます。この自動スケールソリューションでは、Azure Functionは、オブジェクトの作成、FTDvの登録/登録解除、パラメータの確認などのさまざまなAPI要求です。

- Logic App:Azure Logic Appsは、企業または組織間でアプリケーション、データ、システム、およびサービスを統合する必要がある場合に、タスク、ビジネスプロセス、ワークフローのスケジュール、自動化、オーケストレーションを支援するクラウドサービスです。Logic Appsは、クラウド、オンプレミス、または両方で、アプリ統合、データ統合、システム統合、エンタープライズアプリケーション統合(EAI)、およびBusiness-to-Business(B2B)通信のためのスケーラブルなソリューションの設計と構築を簡素化します。このソリューションは、自動スケールソリューションの機能に対して実行される機能の論理的なシーケンスを提供します。

現在、NGFWで使用可能なAutoScaleソリューションは、VNetにローカルなプライベートIPと通信するための管理計画を提供しておらず、Firepower Management CenterとNGFW間で通信を交換するためにパブリックIPが必要です。

この記事では、検証済みのソリューションがプライベートIP経由のFirepower Management Center(FMC)およびNGFW通信で使用できるようになるまで、この問題を解決することを目的としています。

設定

自動スケールNGFWソリューションを作成するには、次のコンフィギュレーションガイドを使用します。

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

次の使用例に対処できるように、いくつかの修正を加えます。

- 機能のアプリは、お客様の内部IPセグメントと通信できる必要があります

- ロードバランサにパブリックIPを設定しないでください

- NGFWとFMC間の管理トラフィックは、プライベートIPセグメントを介して交換する必要があります。

上記の使用例を使用してAutoScaled NGFWソリューションを作成するには、シスコの公式ガイドに記載されている手順で次の項目を変更する必要があります。

1. Azure ARMテンプレート

ARMテンプレートは、Azureで自動化を有効にするために使用されます。シスコは、自動スケールソリューションの作成に利用できる検証済みのARMテンプレートを提供しています。ただし、このARMテンプレートはPublic Github https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/azure/NGFWv6.6.0/ARM%20Templateで利用できるため、Expressルートを介して到達可能であるにもかかわらず、お客様の内部ネットワークと通信できない機能アプリケーションを作成します。したがって、Function AppがConsumption Modeの代わりにPremiumモードを使用できるように、これを少し変更する必要があります。したがって、必要なARMテンプレートは、https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.gitから入手できます

2. 機能APP

関数アプリは、Azure関数のセットです。基本機能には次のものがあります。

- Azureメトリックを定期的に通信/プローブします。

- FTDvの負荷を監視し、スケールイン/スケールアウト操作をトリガーします。

- 新しいFTDvをFMCに登録します。

- FMC経由で新しいFTDvを設定します。

- スケールインFTDvをFMCから登録解除（削除）します。

要件で述べたように、オンデマンドNGFWの作成または削除のために作成されるさまざまな機能は、NGFWのパブリックIPに基づいて実行されます。したがって、パブリックIPではなくプライベートIPを取得するためにC#コードを調整する必要があります。コードを微調整した後、関数アプリケーションを作成するためのzipファイルはhttps://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.gitで入手できます

ASM_Function.zipという名前のASM_Function.zipこれにより、FunctionsアプリはパブリックIPを持たずに内部リソースと通信できます。

3. ロジックアプリ

Auto Scale Logic Appはワークフロー、つまり一連のステップの集合です。Azure関数は独立したエンティティであり、互いに通信できません。このオーケストレータは、これらの関数の実行をシーケンスし、それらの間で情報を交換します。

- Logic Appは、Auto Scale Azure機能間で情報をオーケストレーションおよび渡すために使用されます。

- 各ステップは、自動スケールAzure機能または組み込みの標準ロジックを表します。

- ロジックアプリケーションはJSONファイルとして提供されます。

- ロジックアプリケーションは、GUIまたはJSONファイルを使用してカスタマイズできます。

注：https://github.com/Madhuri150791/FunctionApp_with_Premiium_Plan.gitで入手できるロジックアプリの詳細は慎重に変更する必要があります。次の項目は、展開の詳細、FUNSTIONAPP名、リソースグループ名、サブスクリプションIDに置き換える必要があります。

ネットワーク図

この図は、NGFWを介してAzure環境内でインバウンドおよびアウトバウンドトラフィックがどのように流れるかを示しています。

設定

次に、自動スケールソリューションに必要なさまざまなコンポーネントを作成します。

1. Autoscale Logicのコンポーネントを作成します。

ARMテンプレートを使用して、VMSS、Logic APP、Function APP、App Insight、Network Security Groupを作成します。

[ホーム] > [リソースの作成] > [テンプレートの検索]に移動し、[テンプレート配置]を選択します。次に、エディタで[Create and build your own template]をクリックします。

2. [Save] をクリックします。

このテンプレートに必要な変更を加え、[Review +Create]をクリックします。

3. これにより、前述のリソースグループの下にすべてのコンポーネントが作成されます。

4. URLにログインします

https://<function_app_name>.scm.azurewebsites.net/DebugConsole

ファイルASM_Function.zipおよびftdssh.exeをsite/wwwroot/folderにアップロードします(指定した場所にアップロードする必要があります。指定しない場所では、Function Appが各種機能を識別できません)。

次の図のようになります。

5. [Function app] > [Function]をオンにします。すべての機能が表示されます。

6. VMSSが機能アプリケーション内の機能を実行できるように、アクセス権限を変更します。

<prefix>-vmss> [Access Control (IAM)] > [Add role assignment]に移動します。このVMSSに<prefix>-function-appへのコントリビュータアクセスを提供します

[Save] をクリックします。

7. 「ロジックアプリ」>「ロジックコード」ビューに移動し、次の場所で使用可能なコードを使用してロジックコードを変更します。

https://github.com/CiscoDevNet/cisco-ftdv/tree/master/autoscale/azure/NGFWv6.6.0/Logic%20App

ここでは、使用する前にAzureサブスクリプション、リソースグループ名、および機能アプリ名を置き換える必要があります。そうしないと、は正常に保存できません。

8. [Save] をクリックします。「論理アプリケーションの概要」および「論理アプリケーションの有効化」に移動します。

確認

ロジックアプリが有効になると、直ちに5分の間隔で実行が開始されます。

すべてが正しく設定されている場合は、トリガーアクションが成功します。

また、VMはVMSSの下に作成されます。

FMCにログインし、FMCとNGFWがFTDvプライベートIP経由で接続されていることを確認します。

NGFW CLIにログインすると、次のように表示されます。

したがって、FMCはAzure Private VNet Subnet経由でNGFWと通信します。

トラブルシュート

新しいNGFWの構築中にLogic Appが失敗する場合があります。このような状況をトラブルシューティングするには、次の手順を実行します。

1. ロジックアプリが正常に実行されているかどうかを確認します。

2. 障害の原因を特定します。

失敗したトリガーをクリックします。

コードフローからエラーポイントを特定してみます。上記のスニペットから、ASMロジックがFMCに接続できなかったため失敗していることは明らかです。次に、Azure内のフローごとにFMCに到達できなかった理由を特定する必要があります。