はじめに
このドキュメントでは、セキュアファイアウォール上でクライアントレスゼロトラストアクセスリモートアクセス(SSL)導入を設定するプロセスについて説明します。
前提条件
要件
次の項目に関する知識があることを推奨しています。
- セキュアファイアウォール管理センター(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のサーバ名表示(SNI)ヘッダーに基づいてコンテンツを提供する場合、ゼロトラストアプリケーション設定の外部URLは、その特定のアプリケーションのSNIと一致する必要があります
- ルーテッドモードでのみサポート
- スマートライセンスが必要(評価モードでは機能しない)
セキュアファイアウォールのゼロトラストアクセスの詳細については、『Cisco Secure Firewall Management Center Device Configuration Guide, 7.4』を参照してください。
設定
このドキュメントでは、ZTNAのリモートアクセス導入を中心に説明します。
この例のシナリオでは、リモートユーザは、Secure Firewallの背後でホストされているテスト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) セキュリティ制御(オプション):プライベートアプリケーションが検査の対象かどうかを選択します。
この設定例では、次の情報が入力されています。
この場合に使用される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アプリケーショングループ(ステップaで生成)からエンティティIDとアサーションコンシューマサービス(ACS)URLを手動で入力します。
注:また、フェデレーションメタデータXMLをダウンロードするか、証明書(Base 64)を個別にダウンロードして、IdP(ログインおよびログアウトURLとMicrosoftエントリID)から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によって実行されます。
ユーザは、Wfcブラウザを開き、アプリケーション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の順に選択します。
また、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>
トラブルシュート
ZTNA関連の問題をトラブルシューティングするための診断ツールがFMCに追加されました。
- 診断機能は、ゼロトラストアクセス設定のどの時点に問題があるかを示すことにより、ユーザのトラブルシューティングプロセスを簡素化するように設計されています
- 診断では、全体的な分析(正常かどうかにかかわらず)が提供され、問題を解決するために分析できる詳細なログが収集されます
アプリケーション固有の診断を使用して、次の項目を検出します。
- DNS関連の問題
- 設定ミス(ソケットが開いていない、分類ルール、NATルールなど)
- ゼロトラストアクセスポリシーの問題
- インターフェイス関連の問題(インターフェイスが設定されていない、インターフェイスがダウンしているなど)
検出する汎用診断:
- 強力な暗号ライセンスが有効になっていない場合
- アプリケーション証明書が有効でない場合
- 認証方式がデフォルトのトンネルグループでSAMLに初期化されていない場合
- HAとクラスタの一括同期の問題
- トークンや復号化に関連する問題など、Snortカウンタから情報を取得して問題を診断
- ソース変換でのPATプール枯渇の問題。
Diagnosticsを実行するには、次の手順に従います。
1. 各ZTNAアプリケーションに表示される診断アイコンに移動します。
2. デバイスを選択して、Runをクリックします。
3. 結果をレポートに表示します。
トラブルシューティングのためにCisco Technical Assistance Center(TAC)と協力する必要がある場合は、次のdebugコマンドとshowコマンドの出力を収集してください。
- show counters protocol zero-trustコマンド
- debug zero-trust 255
- debug webvpn request 255
- debug webvpn response 255
- debug webvpn saml 255
関連情報