はじめに
このドキュメントでは、セキュアなファイアウォールでクライアントレスゼロトラストアクセスリモートアクセス(SSL)導入を設定するプロセスについて説明します。
前提条件
要件
次の項目に関する知識があることを推奨しています。
- Firepower Management Center(FMC)
- ZTNAの基礎知識
- Security Assertion Markup Language(SAML)に関する基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Secure Firewallバージョン7.4.1
- Firepower Management Center(FMC)バージョン 7.4.1
- アイデンティティプロバイダー(IdP)としてのDuo
- Microsoft Entra ID (以前のAzure AD) (IdP)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
ゼロトラストアクセス機能は、ゼロトラストネットワークアクセス(ZTNA)の原則に基づいています。ZTNAは、暗黙の信頼を排除するゼロトラストセキュリティモデルです。このモデルでは、ユーザと要求のコンテキストを確認し、アクセスが許可された場合にリスクを分析した後に、最小限の特権アクセスを許可します。
ZTNAの現在の要件と制限事項は次のとおりです。
- FMCバージョン7.4.0+(Firepower 4200シリーズ)で管理されるセキュアファイアウォールバージョン7.4.0+でサポート
- FMCバージョン7.4.1+(その他のすべてのプラットフォーム)で管理されるセキュアファイアウォールバージョン7.4.1+でサポート
-
Webアプリケーション(HTTPS)のみがサポートされます。復号化の除外が必要なシナリオはサポートされていません
-
SAML IdPのみをサポート
-
リモートアクセスにはパブリックDNS更新が必要です
-
IPv6はサポートされていません。NAT66、NAT64、およびNAT46のシナリオはサポートされていません
-
この機能は、Snort 3が有効になっている場合にのみ脅威対策で使用できます
-
保護されたWebアプリケーションのすべてのハイパーリンクには、相対パスが必要です
-
仮想ホストまたは内部ロードバランサの背後で実行される保護されたWebアプリケーションは、同じ外部および内部URLを使用する必要があります
-
個々のモードクラスタではサポートされない
-
厳密なHTTPホストヘッダー検証が有効になっているアプリケーションではサポートされません
-
アプリケーションサーバが複数のアプリケーションをホストし、TLS Client HelloのServer Name Indication(SNI)ヘッダーに基づいてコンテンツを提供する場合、ゼロトラストアプリケーション設定の外部URLは、その特定のアプリケーションのSNIと一致する必要があります
- ルーテッドモードでのみサポート
- スマートライセンスが必要(評価モードでは機能しない)
セキュアファイアウォールのゼロトラストアクセスの詳細については、『Cisco Secure Firewall Management Centerデバイスコンフィギュレーションガイド、7.4』を参照してください。
設定
このドキュメントでは、ZTNAのリモートアクセス導入について説明します。
この例のシナリオでは、リモートユーザは、テストFMCのWebユーザインターフェイス(UI)と、セキュアファイアウォールの背後でホストされているCisco Telemetry Broker(CTB)にアクセスする必要があります。これらのアプリケーションへのアクセスは、次の図に示すように、DuoとMicrosoft Entra IDの2つの異なるIdPによってそれぞれ許可されます。
ネットワーク図
トポロジ ダイアグラム
- リモートユーザは、セキュアファイアウォールの背後でホストされているアプリケーションにアクセスする必要があります。
- 各アプリケーションは、パブリックDNSサーバにDNSエントリを持つ必要があります。
- これらのアプリケーション名は、Secure Firewall OutsideインターフェイスのIPアドレスに解決される必要があります。
- セキュアファイアウォールは、アプリケーションの実際のIPアドレスに解決し、SAML認証を使用して各アプリケーションに対して各ユーザを認証します。
前提条件となる設定
アイデンティティプロバイダー(IdP)およびドメインネームサーバ(DNS)
- アプリケーションまたはアプリケーショングループは、Duo、Okta、Azure ADなどのSAML Identity Provider(IdP)で構成する必要があります。この例では、DuoおよびMicrosoft Entra IDがIdPとして使用されます。
- IdPsによって生成された証明書とメタデータは、セキュアファイアウォールでアプリケーションを設定するときに使用されます
内部および外部DNSサーバ
- (リモートユーザによって使用される)外部DNSサーバは、アプリケーションのFQDNエントリを持ち、セキュアファイアウォール外部インターフェイスのIPアドレスに解決される必要があります
- 内部DNSサーバ(セキュアファイアウォールで使用)は、アプリケーションのFQDNエントリを持ち、アプリケーションの実際のIPアドレスに解決される必要があります
証明書
次の証明書は、ZTNAポリシーの設定に必要です。
- ID/プロキシ証明書:アプリケーションをマスカレードするためにセキュアファイアウォールによって使用されます。ここでのセキュアファイアウォールは、SAMLサービスプロバイダー(SP)として機能します。この証明書は、プライベートアプリケーションのFQDN(事前認証段階ですべてのプライベートアプリケーションを表す共通の証明書)に一致するワイルドカードまたはサブジェクトの別名(SAN)証明書である必要があります
- IdP証明書:認証に使用されるIdPは、定義された各アプリケーションまたはアプリケーショングループの証明書を提供します。この証明書は、セキュアファイアウォールが
着信SAMLアサーションのIdPの署名を検証できる(アプリケーショングループに対して定義されている場合は、アプリケーションのグループ全体で同じ証明書が使用されます)
- アプリケーション証明書:リモートユーザからアプリケーションへの暗号化されたトラフィックは、セキュアファイアウォールで復号化する必要があります。したがって、各アプリケーションの証明書チェーンと秘密キーをセキュアファイアウォールに追加する必要があります。
一般的な設定
新しいゼロトラストアプリケーションを設定するには、次の手順を実行します。
- Policies > Access Control > Zero Trust Applicationの順に移動し、Add Policyをクリックします。
- 次の必須フィールドに入力します。
a) General:ポリシーの名前と説明を入力します。
b) ドメイン名:これはDNSに追加される名前で、アプリケーションがアクセスされる場所から脅威対策ゲートウェイインターフェイスに解決される必要があります。
注:ドメイン名は、アプリケーショングループ内のすべてのプライベートアプリケーションのACS URLを生成するために使用されます。
c) ID証明書:これは、事前認証段階ですべてのプライベートアプリケーションを表す一般的な証明書です。
注:この証明書は、プライベートアプリケーションのFQDNと一致するワイルドカードまたはサブジェクトの別名(SAN)証明書である必要があります。
d)セキュリティゾーン:プライベートアプリケーションを規制する外側または内側のゾーンを選択します。
e)グローバルポートプール:このプールからの一意のポートが各プライベートアプリケーションに割り当てられます。
f) Security Controls(オプション):プライベートアプリケーションが検査の対象かどうかを選択します。
この設定例では、次の情報が入力されています。
この場合に使用されるID/プロキシ証明書は、プライベートアプリケーションのFQDNに一致するワイルドカード証明書です。
3.ポリシーを保存します。
4.新しいアプリケーショングループまたは新しいアプリケーションを作成します。
- アプリケーションは、SAML認証、インターフェイスアクセス、侵入ポリシー、マルウェアおよびファイルポリシーを使用するプライベートWebアプリケーションを定義します。
- アプリケーショングループを使用すると、複数のアプリケーションをグループ化し、SAML認証、インターフェイスアクセス、セキュリティ制御設定などの共通の設定を共有できます。
この例では、2つの異なるアプリケーショングループと2つの異なるアプリケーションが設定されています。1つはDuoによって認証されるアプリケーション(test FMC Web UI)用、もう1つはMicrosoft Entra IDによって認証されるアプリケーション(CTB Web UI)用です。
アプリケーショングループの設定
アプリケーショングループ1:DuoをIdPとして使用
a. アプリケーショングループ名を入力し、SAMLサービスプロバイダー(SP)メタデータが表示されるようにNextをクリックします。
b. SAML SPメタデータが表示されたら、IdPに移動し、新しいSAML SSOアプリケーションを設定します。
c. Duoにログインし、Applications > Protect an Applicationの順に選択します。
d. Generic SAML Service Providerを探し、Protectをクリックします。
e. Secure Firewallで設定を続行する必要があるため、IdPから証明書とSAMLメタデータをダウンロードします。
f. ZTNAアプリケーショングループ(ステップaで生成)のエンティティIDとアサーションコンシューマサービス(ACS)URLを入力します。
g.特定の要件に従ってアプリケーションを編集し、目的のユーザのみにアプリケーションへのアクセスを許可して、Saveをクリックします。
h. FMCに戻り、IdPからダウンロードしたファイルを使用して、アプリケーショングループにSAML IdPメタデータを追加します。
i. Nextをクリックし、要件に従ってRe-Authentication IntervalとSecurity Controlsを設定します。サマリ設定を確認し、Finishをクリックします。
アプリケーショングループ2: Microsoft Entra ID (Azure AD)をIdPとして使用する
a. アプリケーショングループ名を入力し、SAMLサービスプロバイダー(SP)メタデータが表示されるようにNextをクリックします。
b. SAML SPメタデータが表示されたら、IdPに移動し、新しいSAML SSOアプリケーションを設定します。
c. Microsoft Azureにログインし、Enterprise applications > New Applicationの順に移動します。
d. Create your own applicationをクリック>アプリケーションの名前を入力> Create
e.アプリケーションを開き、ユーザとグループの割り当てをクリックして、アプリケーションへのアクセスを許可するユーザやグループを定義します。
f. Add user/group > Select the necessary users/groups > Assignの順にクリックします。正しいユーザまたはグループが割り当てられたら、シングルサインオンをクリックします。
g. シングルサインオンセクションが表示されたら、SAMLをクリックします。
h. Upload metadata fileをクリックして、サービスプロバイダー(セキュアファイアウォール)からダウンロードしたXMLファイルを選択するか、ZTNA Application Group(ステップaで生成)からEntity IDとAssertion Consumer Service(ACS)URLを手動で入力します。
注:また、フェデレーションメタデータXMLをダウンロードするか、証明書(Base 64)を個別にダウンロードして、IdP(ログインおよびログアウトURLとMicrosoft Entra Identifier)からSAMLメタデータをコピーしてください。これは、セキュアファイアウォールで設定を続行するために必要です。
i. FMCに戻り、IdPからダウンロードしたメタデータファイルを使用するか、必要なデータを手動で入力して、SAML IdPメタデータをアプリケーショングループ2にインポートします。
j. Nextをクリックし、要件に従ってRe-Authentication IntervalとSecurity Controlsを設定します。サマリ設定を確認し、Finishをクリックします。
アプリケーションの設定
アプリケーショングループが作成されたので、Add Applicationをクリックして、保護してリモートでアクセスするアプリケーションを定義します。
- アプリケーション設定を入力します。
a)アプリケーション名:設定されたアプリケーションの識別子。
b)外部URL:パブリック/外部DNSレコード内のアプリケーションの公開URL。これは、アプリケーションにリモートでアクセスするためにユーザが使用するURLです。
c)アプリケーションURL:アプリケーションの実際のFQDNまたはネットワークIP。これは、アプリケーションに到達するためにセキュアファイアウォールによって使用されるURLです。
注:デフォルトでは、外部URLはアプリケーションURLとして使用されます。別のアプリケーションURLを指定するには、このチェックボックスをオフにします。
d)アプリケーション証明書:アクセスされるアプリケーションの証明書チェーンおよび秘密キー(FMCホームページ>オブジェクト>オブジェクト管理> PKI >内部証明書から追加)
e) IPv4 NAT送信元(オプション):パケットをアプリケーションに転送する前に、リモートユーザからの送信元IPアドレスが選択したアドレスに変換されます(IPv4アドレスを持つホストおよび範囲タイプのネットワークオブジェクト/オブジェクトグループのみがサポートされます)。これは、アプリケーションがセキュアファイアウォールを介してリモートユーザに戻るルートを持つように設定できます
f) アプリケーショングループ(オプション):このアプリケーションを既存のアプリケーショングループに追加して、設定済みの設定を使用するかどうかを選択します。
この例では、ZTNAを使用してアクセスされるアプリケーションは、テスト用のFMC Web UIと、セキュアファイアウォールの背後にあるCTBのWeb UIです。
アプリケーションの証明書は、Objects > Object Management > PKI > Internal certsで追加する必要があります。
注:ZTNAでアクセスする各アプリケーションのすべての証明書を追加してください。
証明書が内部証明書として追加されたら、残りの設定を続行します。
この例で設定するアプリケーション設定は次のとおりです。
アプリケーション1:FMC Web UIのテスト(アプリケーショングループ1のメンバー)
アプリケーションがアプリケーショングループ1に追加されたため、このアプリケーションの残りの設定が継承されます。ただし、セキュリティゾーンとセキュリティ制御は異なる設定で上書きできます。
設定したアプリケーションを確認し、Finishをクリックします。
アプリケーション2:CTB Web UI(アプリケーショングループ2のメンバー)
このアプリケーションの設定の概要は次のとおりです。
注:このアプリケーションでは、ネットワークオブジェクト「ZTNA_NAT_CTB」がIPv4 NATソースとして設定されていることに注意してください。この設定では、パケットをアプリケーションに転送する前に、リモートユーザからの送信元IPアドレスが、設定されたオブジェクト内のIPアドレスに変換されます。
これは、アプリケーション(CTB)のデフォルトルートがセキュアファイアウォール以外のゲートウェイを指しているため、リターントラフィックがリモートユーザに送信されなかったために設定されました。このNAT設定では、セキュアファイアウォールを介してサブネットZTNA_NAT_CTBに到達できるように、アプリケーション上にスタティックルートが設定されています。
アプリケーションが設定されると、対応するアプリケーショングループの下に表示されます。
最後に、変更を保存し、設定を展開します。
確認
設定が完了すると、リモートユーザは外部URLを介してアプリケーションに到達でき、対応するIdPによって許可されている場合は、そのアプリケーションにアクセスできます。
アプリケーション 1
1.ユーザがWebブラウザを開き、アプリケーション1の外部URLに移動します。この場合、外部URLは「https://ao-fmc-ztna.cisco.local/」です
注:外部URL名は、設定されたセキュアファイアウォールインターフェイスのIPアドレスに解決される必要があります。この例では、外部インターフェイスのIPアドレス(192.0.2.254)に解決されます
2.これは新しいアクセスであるため、ユーザはアプリケーション用に設定されたIdPログインポータルにリダイレクトされます。
3.ユーザにMFAのプッシュが送信されます(これは、IdPで設定されているMFA方式によって異なります)。
4.ユーザがIdPによって正常に認証および承認されると、ZTNAポリシー(test FMC Web UI)で定義されているアプリケーションへのリモートアクセスが許可されます。
アプリケーション 2
1.同じ手順で2番目のアプリケーション(CTB Web UI)にアクセスしますが、認証はMicrosoft Entra IDによって行われます。
ユーザは、Webブラウザを開き、アプリケーション2の外部URLに移動する。この場合、外部URLは「https://ao-ctb.cisco.local/ 」です
注:外部URL名は、設定されたセキュアファイアウォールインターフェイスのIPアドレスに解決される必要があります。この例では、外部インターフェイスのIPアドレス(192.0.2.254)に解決されます
2.これは新しいアクセスであるため、ユーザはアプリケーション用に設定されたIdPログインポータルにリダイレクトされます。
3.ユーザにMFAのプッシュが送信されます(これは、IdPで設定されているMFA方式によって異なります)。
4.ユーザがIdPによって正常に認証および承認されると、ZTNAポリシー(CTB Web UI)で定義されているアプリケーションへのリモートアクセスが許可されます。
モニタ
アプリケーションとユーザは、FMCの概要>ダッシュボード>ゼロ信頼から監視できます。
接続イベントを調査するには、Analysis > Connections > Eventsの順に選択します。
トラブルシュート
ZTNA関連の問題をトラブルシューティングするための診断ツールがFMCに追加されました。
- 診断機能は、ゼロトラストアクセス設定のどの時点に問題があるかを示すことにより、ユーザのトラブルシューティングプロセスを容易にするように設計されています
- 診断は全体的な分析を提供し(正常か否か)、問題を解決するために分析できる詳細なログを収集します
Application-Specific Diagnosticsは、次の検出に使用されます。
- DNS関連の問題
- 設定ミス(ソケットが開いていない、分類規則、NAT規則など)
- ゼロトラストアクセスポリシーの問題
- インターフェイス関連の問題(インターフェイスが設定されていない、インターフェイスがダウンしているなど)
検出する汎用診断:
- 強力な暗号ライセンスが有効になっていない場合
- アプリケーション証明書が有効でない場合
- 認証方式がデフォルトのトンネルグループでSAMLに初期化されていない場合
- HAとクラスタの一括同期の問題
- トークンや復号化に関連する問題などを診断するために、Snortカウンタから情報を取得します。
- ソース変換でのPATプール枯渇の問題。
Diagnosticsを実行するには、次の手順に従います。
1.各ZTNAアプリケーションに表示される診断アイコンに移動します。
2.デバイスを選択し、Runをクリックします。
3.レポートの結果を表示します。
FTD CLIでshowコマンドとclearコマンドを使用すると、ゼロ信頼設定を表示し、統計情報とセッション情報を表示できます。
firepower# show running-config zero-trust
application Show application configuration information
application-group Show application group configuration
| Output modifiers
<cr>
firepower# show zero-trust
sessions Show zero-trust sessions
statistics Show zero-trust statistics
firepower# show zero-trust sessions
application show zero-trust sessions for application
application-group show zero-trust sessions for application group
count show zero-trust sessions count
user show zero-trust sessions for user
detail show detailed info for the session
| Output modifiers
<cr>
firepower# clear zero-trust
sessions Clear all zero-trust sessions
statistics Clear all zero-trust statistics
firepower# clear zero-trust sessions
application Clear zero-trust sessions for application
user Clear zero-trust sessions for user
<cr>
ゼロトラストおよびwebvpnモジュールのデバッグを有効にするには、Linaプロンプトで次のコマンドを使用します。
- firepower# debug zero-trust 255
- firepower# debug webvpn request 255
- firepower# debug webvpn response 255
- firepower# debug webvpn saml 255
関連情報
- 詳細については、Technical Assistance Center(TAC)にお問い合わせください。有効なサポート契約(シスコワールドワイドサポートの連絡先)が必要です。
- Cisco VPN コミュニティには、ここからアクセスすることもできます。