概要
このドキュメントでは、RAVPNクライアントに基づいてセキュアファイアウォールデバイスでダイナミックアクセスポリシー(DAP)を実行および設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- セキュアファイアウォールをFMCに登録し、最新バージョンのコンフィギュレーションファイルと同期して最新の状態にします。
- 登録済みのセキュアファイアウォールでリモートアクセス仮想プライベートネットワーク(RAVPN)ポリシーを事前設定します。
- Anyconnectセキュリティモビリティクライアントの同等バージョンを含むホストスキャンパッケージ(.pkg)をダウンロードします。
- RAVPNソリューションに関する基本的な知識
- DAP機能に関する一般的な概念
- Secure Firewall Management Center(FMC)の管理と設定に関する知識。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- FMC 7.0.0バージョン以降
- Secure Firewall 7.0.0バージョン以降
- Cisco Secure Client Anyconnectソフトウェア4.10以降がインストールされたMAC/Windowsマシン
- Hostscanパッケージ4.10以降
- AAA認証用のActive Directory。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
このドキュメントでは、RAVPNクライアントマシンの属性に基づいて、セキュアファイアウォールデバイスでダイナミックアクセスポリシーを実行および設定する方法のステップバイステップガイドについて説明します。HostScanはクライアント情報の収集に使用され、DAPはMac OSとWindowsユーザにそれぞれ異なるポリシーを適用します。
RAVPN設計は、ネットワーク管理者が制御できない異なる動的シナリオで実行されます。通常、複数の変数(ユーザ名、組織、ハードウェアデバイス、運用システムなど)に基づいて各接続の脅威の程度を決定できる同じVPNゲートウェイに到達する複数の接続があります。それらの一部は、特権ユーザロール、プログラムとアプリケーションへのアクセス、異なるIPアドレスの割り当て、またはサブネットフィルタルールを必要とします。
ダイナミックアクセスポリシー(DAP)は、Cisco Secure Firewall Threat Defenseのソフトウェアリリース7.0.0で導入された新機能です。これにより、ネットワーク管理者は、1つまたは複数の基準(DAP基準)に相当するCisco Secure Client(Anyconnect)からのRAVPNクライアントの属性の集合に基づいて、上記のダイナミック環境で実行される異なるユーザに異なるポリシーを適用できます。
Anyconnectソフトウェアは、RAVPNクライアント機能とポスチャモジュールに、ホストにインストールされたOS、アンチウイルス、アンチスパイウェア、ファイアウォールソフトウェアなどの属性を識別する機能を提供し、 HostScanアプリケーションは、この情報を収集します。
設定
ネットワーク図
コンフィギュレーション
1.管理者クレデンシャルを使用してFMC GUIにログインし、ホームダッシュボードビューでDevicesをクリックして、拡張メニューからDynamic Access Policyを選択します。
2. Dynamic Access Policyビューで、Create Dynamic Access Policyをクリックします。
3. DAPポリシーの名前を指定し、HostScan packageドロップダウンメニューの横にあるCreate newを選択します(この操作により、Object managerセクションで新しいブラウザタブを開くことができます)。
注:HostScanイメージがすでにアップロードされている場合は、ドロップダウンメニューからそのイメージを選択し、Saveをクリックしてステップ6に進みます。
4. [Object] タブ・ビューで、[Add Secure Client File] に移動して、HostScanパッケージをアップロードします。
5.ファイルの名前を指定し、BrowseをクリックしてローカルファイルからHostScanパッケージ(.pkg)をアップロードし、File typeドロップダウンメニューからHostScanパッケージを選択して、Saveをクリックします。
6.ステップ3のCreate Dynamic Access Policyタブに戻ります。
ダイナミックアクセスポリシーの名前を指定すると、今度はドロップダウンメニューに新しいHostScanパッケージが表示されるので、Saveをクリックします。
7.新しいDAPエディタウィンドウにリダイレクトできます。DAPレコードの作成をクリックして新しいエントリを生成します。
注:この例では、RAVPN AnyconnectクライアントからOS情報を収集し、ホストマシンがMac OSを実行している場合は接続を許可するようにDAPレコードを設定できます。
8. DAPレコードの名前を指定し、「Display User Message on Criterion Match」にチェックマークを入れてプロンプトメッセージを入力すると、接続がOSに基づいてDAPに到達したことをユーザに通知できます。Continueを選択して、Actionフィールドの下で接続を許可します。
注:ケースに基づいて、適用するアクションとしてTerminateまたはQuarantineを選択できます。
注:ネットワーク要件に応じて、ネットワークACLまたはセキュアクライアント属性を適用することもできます。
9. Endpoint Criteriaタブに移動し、OS systemを選択してequals Mac OS Xを指定します。この例では、バージョンに関係なくMac OSを検出するため、Versionドロップダウンは空のままにして、Saveをクリックします。
注:この記事では、Endpoint Criteria属性が使用されていますが、LDAP属性またはRADIUS属性の一致に対してAAA Criteriaを使用できます。
10. Endpoint Criteriaタブで、新しいOSシステム基準と、それに続くMatch criteriaオプションを確認できます。
Anyを選択します。
注:複数の基準エントリを作成し、要件に応じてMatch AllまたはMatch anyを選択できます。
11.ページの右下に移動し、Saveをクリックします。
11.新しいMac OS DAPレコードをその設定パラメータで表示し、それらが正しいことを確認して、Create DAP RecordをクリックしてWindows OS検出用の新しいレコードを作成できます。
注:この例では、Windowsクライアントをブロックし、RAVPN接続にMac OSのみを許可することを目的としています。
12. DAPレコードの名前を指定し、Actionフィールドの下でTerminateを選択し、ユーザに送信される警告メッセージのプロンプトを入力します。
13. Endpoint Criteriaタブに移動し、Operative Systemセクションで同等の新しい基準を作成し、同等のOSとしてWindows 10を選択し、SaveをクリックしてからMatch Anyを選択します。
14.右下に移動して、Saveをクリックします。
15. DAPメニューで、新しい設定を持つ2つの新しいエントリがあることを確認します。
16. Dynamic Access Policy has been created, to apply it to the RAVPN set up, go to Devices tab from FMC GUIで、Remote Accessをクリックします。
17.事前設定したRAVPNポリシーを選択し、編集ボタン(鉛筆アイコン)をクリックします。
18.右上隅のDynamic Access Policyテキストラベルの横にあるNoneをクリックします。
19. Dynamic Access Policyウィンドウで、作成したばかりのDAPポリシーを選択し、OKをクリックします。
20.右上隅で、ダイナミックアクセスポリシー(DAP)テキストラベルの横にDAPが適用されていることを確認し、Saveをクリックします。
変更を展開し、FMC GUIからDeployタブをクリックし、FTDデバイスを選択してDeployボタンをクリックします。
確認
1.セキュアファイアウォールからコマンドラインインターフェイス(CLI)に移動し、ホストスキャン設定が適用されていることを確認します。
firepower# sh run webvpn
webvpn
enable OUTSIDE
enable
hostscan image disk0:/csm/hostscan_4.10.06083-k9.pkg
hostscan enable
anyconnect image disk0:/csm/anyconnect-macos-4.10.04071-webdeploy-k9.pkg 1 regex "Mac OS"
anyconnect enable
.
.
firepower# sh run all dynamic-access-policy-record
dynamic-access-policy-record DfltAccessPolicy
user-message "nDID NOT MEET THE CRITERIA! TERMINATING"
action terminate
dynamic-access-policy-record "MAC USER"
user-message "DAP-TEST MATCH!!!!MAC USER DETECTED"
action continue
priority 0
dynamic-access-policy-record "WINDOWS USER"
user-message "WINDOWS DEVICE DETECTED!!TERMINATING CONNECTION!"
action terminate
priority 1
2. dap.xmlファイルが生成され、フラッシュに保存されていることを確認します。
firepower# sh flash:
--#-- --length-- -----date/time------ path
76 4096 Feb 03 2023 19:01:10 log
222 1293 Feb 09 2023 17:32:16 dap.xml
3. dap.xmlコンテンツの表示
firepower# more flash:dap.xml
MAC USER
and
match-any
match-all
endpoint.os.version
EQ
Mac OS X
WINDOWS USER
and
match-any
match-all
endpoint.os.version
EQ
Windows 10
トラブルシュート
このセクションでは、DAPプロセスがどのように実行され、期待どおりに動作するかをトラブルシューティングおよび確認するために使用できる情報を提供します。
注:セキュアファイアウォールでは、さまざまなデバッグレベルを設定できます。デフォルトでは、レベル1が使用されます。デバッグレベルを変更すると、デバッグの冗長性が増す可能性があります。特に実稼働環境では、注意して実行してください。
Mac OSでテストします。
ユーザが1台のMac OSデバイスから接続を試行する間、DAPデバッグを有効にします。
firepower# debug dap trace 127
debug dap trace enabled at level 127
firepower# debug dap errors
debug dap errors enabled at level 1
Mac OSデバイスを開始し、Anyconnectアプリケーションを実行して、IPアドレス/ホスト名/FQDNに接続し、要求された認証方式でConnectログインをクリックします。
Secure Firewall CLIのデバッグ出力
firepower#
firepower# DAP_TRACE: DAP_open: New DAP Request: 9
DAP_TRACE[5]: Username: ad1, DAP_add_AC:
endpoint.anyconnect.clientversion = "4.10.06079";
endpoint.anyconnect.platform = "mac-intel";
endpoint.anyconnect.devicetype = "MacBookPro17,1";
endpoint.anyconnect.platformversion = "13.1.0";
.
.
.
DAP_TRACE: aaa["ldap"]["displayName"] = "ad1"
DAP_TRACE: aaa["ldap"]["memberOf"] = "AD-USERS-ONLY"
DAP_TRACE: aaa["ldap"]["name"] = "ad1"
.
.
.
DAP_TRACE: aaa["cisco"]["tunnelgroup"] = "RA-VPN"
DAP_TRACE: endpoint["application"]["clienttype"] = "AnyConnect"
DAP_TRACE: endpoint.os.version = "Mac OS X"
DAP_TRACE: endpoint.os.servicepack = "13.1"
.
.
.
DAP_TRACE: Username: ad1, Selected DAPs: ,MAC USER
DAP_TRACE: dap_process_selected_daps: selected 1 records
DAP_TRACE: Username: ad1, dap_concat_fcn: [DAP-TEST MATCH!!!!MAC USER DETECTED] 35 490
DAP_TRACE: Username: ad1, DAP_close: 9
Mac OSクライアントプロンプト。
Windows 10デバイスでテストします。
DAPデバッグを実行し、1台のWindows 10デバイスからの接続を試行します。
firepower# debug dap trace 127
debug dap trace enabled at level 127
firepower# debug dap errors
debug dap errors enabled at level 1
Windows 10デバイスを開始し、Anyconnectアプリケーションを実行して、IPアドレス、ホスト名、またはFQDNに接続し、要求された認証方式でConnectログインをクリックします。
firepower#
firepower# DAP_TRACE: DAP_open: New DAP Request: A
DAP_TRACE[5]: Username: ad1, DAP_add_AC:
endpoint.anyconnect.clientversion = "4.10.05111";
endpoint.anyconnect.platform = "win";
endpoint.anyconnect.devicetype = "LENOVO";
endpoint.anyconnect.useragent = "AnyConnect Windows 4.10.05111";
.
.
.
AP_TRACE: aaa["cisco"]["grouppolicy"] = "agarciam"
DAP_TRACE: aaa["cisco"]["username"] = "ad1"
DAP_TRACE: aaa["cisco"]["tunnelgroup"] = "RA-VPN"
DAP_TRACE: endpoint["application"]["clienttype"] = "AnyConnect"
DAP_TRACE: endpoint.os.version = "Windows 10"
.
.
.
DAP_TRACE: Username: ad1, Selected DAPs: ,WINDOWS USER
DAP_TRACE: dap_process_selected_daps: selected 1 records
DAP_TRACE: Username: ad1, dap_concat_fcn: [WINDOWS DEVICE DETECTED!!TERMINATING CONNECTION!] 48 490
DAP_TRACE: Username: ad1, DAP_close: A
Windows 10ユーザプロンプト。