目錄

簡介

必要條件

需求

採用元件

設定

網路圖表和流量傳輸

組態

FTD/FMC

ISE

驗證

疑難排解

簡介

本檔案介紹如何設定Firepower威脅防禦(FTD)版本6.4.0以針對身分識別服務引擎(ISE)對VPN使用者進行安全評估。

必要條件

需求

思科建議您瞭解以下主題：

- AnyConnect遠端存取VPN

- FTD上的遠端存取VPN組態

- 身份服務引擎和狀態服務

採用元件

本檔案中的資訊是根據以下軟體版本：

- Cisco Firepower威脅防禦(FTD)軟體版本6.4.0

- Cisco Firepower管理控制檯(FMC)軟體版本6.5.0

- 搭載Cisco AnyConnect安全行動化使用者端版本4.7的Microsoft Windows 10

- 思科身分識別服務引擎(ISE)版本2.6，帶補丁3

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

設定

網路圖表和流量傳輸

1.遠端使用者使用Cisco Anyconnect進行FTD的VPN訪問。

2. FTD向ISE傳送該使用者的RADIUS存取要求。

3.該請求在ISE上到達名為FTD-VPN-Posture-Unknown 的策略。ISE傳送帶有三個屬性的RADIUS Access-Accept:

- cisco-av-pair = url-redirect-acl=fyusifovredirect — 這是在FTD本機上定義的存取控制清單(ACL)名稱，決定重新導向的流量。

- cisco-av-pair = url-redirect=https://ip:port/portal/gateway?sessionId=SessionIdValue&portal=27b1bc30-2e58-11e9-98fb-0050568775a3&action=cpp — 這是遠端使用者重定向到的URL。

- DACL = PERMIT_ALL_IPV4_TRAFFIC — 可下載ACL此屬性是可選的。在此案例中，所有流量都允許在DACL中)

4.如果傳送了DACL，則會交換RADIUS Access-Request/Access-Accept，以便下載DACL的內容

5.當來自VPN使用者的流量與本地定義的ACL匹配時，流量將重定向到ISE客戶端調配門戶。ISE調配AnyConnect狀態模組和合規性模組。

6.在客戶端電腦上安裝代理後，它會使用探測功能自動搜尋ISE。當成功檢測到ISE時，終端上檢查終端安全評估要求。在本示例中，代理會檢查任何已安裝的防惡意軟體軟體。然後向ISE傳送狀態報告。

7.當ISE收到來自代理的狀態報告時，ISE更改此會話的狀態並觸發具有新屬性的RADIUS CoA型別Push。這一次，狀態為已知，另一個規則被命中。

- 如果使用者符合要求，則會傳送允許完全訪問的DACL名稱。

- 如果使用者不相容，則會傳送允許有限訪問的DACL名稱。

8. FTD會移除重新導向。FTD會傳送存取要求，以便從ISE下載DACL。特定DACL會附加到VPN會話。

組態

FTD/FMC

步驟1.為ISE和修正伺服器（如果有）建立網路對象組。導航到對象>對象管理>網路。

步驟2.建立重新導向ACL。導航到對象>對象管理>訪問清單>擴展。按一下「Add Extended Access List」，並提供重新導向ACL的名稱。此名稱必須與ISE授權結果中的名稱相同。

步驟3.新增重定向ACL條目。按一下Add按鈕。阻止發往DNS、ISE和補救伺服器的流量，以排除這些流量進行重定向。允許其餘的流量，這將觸發重新導向（如果需要，ACL條目可能更加具體）。

步驟4.新增ISE PSN節點。導航到對象>對象管理> RADIUS伺服器組。按一下Add RADIUS Server Group，然後提供名稱，啟用選中所有覈取方塊並點選plus圖示。

步驟5.在開啟的視窗中，提供ISE PSN IP地址、RADIUS金鑰，選擇Specific Interface並選擇可訪問ISE的介面（此介面用作RADIUS流量的源），然後選擇Redirect ACL（之前配置的）。

步驟6.為VPN使用者建立地址池。導航到對象>對象管理>地址池> IPv4池。按一下Add IPv4 Pools，並填寫詳細資訊。

步驟7.建立AnyConnect軟體包。導航到Objects > Object Management > VPN > AnyConnect File。按一下Add AnyConnect File，提供軟體包名稱，從Cisco Software Download下載軟體包，然後選擇Anyconnect Client Image File Type。

步驟8.導航到Certificate Objects > Object Management > PKI > Cert Enrollment。按一下Add Cert Enrollment，提供名稱，在Enrollment Type中選擇Self Signed Certificate。點選Certificate Parameters頁籤並提供CN。

步驟9.啟動遠端訪問VPN嚮導。導覽至Devices > VPN > Remote Access，然後按一下Add。

步驟10.提供名稱，檢查SSL作為VPN協定，選擇用作VPN集中器的FTD，然後點選下一步。

步驟11.提供連線配置檔案名稱，選擇身份驗證/記帳伺服器，選擇以前配置的地址池，然後按一下下一步。

注意：請勿選擇授權伺服器。它觸發單個使用者的兩次訪問請求(一次使用使用者密碼，第二次使用密碼cisco)。

步驟12.選擇以前配置的AnyConnect軟體包，然後按一下Next。

步驟13.選擇希望從中接收VPN流量的介面，選擇Certificate Enrollment（以前配置的證書註冊），然後按一下Next。

步驟14.檢查摘要頁面，然後按一下完成。

步驟15.將組態部署到FTD。按一下「Deploy」，然後選擇用作VPN集中器的FTD。

ISE

步驟1.運行狀態更新。導航到Administration > System > Settings > Posture > Updates。

步驟2.上傳合規性模組。導航到Policy > Policy Elements > Results > Client Provisioning > Resources。按一下Add，然後選擇Agent resources from Cisco site

步驟3.從Cisco Software Download下載AnyConnect，然後將其上傳到ISE。導航到Policy > Policy Elements > Results > Client Provisioning > Resources。

按一下Add，然後選擇Agent Resources From Local Disk。在Category下選擇Cisco Provided Packages，從本地磁碟中選擇AnyConnect package，然後按一下Submit。

步驟4.建立AnyConnect終端安全評估配置檔案。導航到Policy > Policy Elements > Results > Client Provisioning > Resources。

按一下Add並選擇AnyConnect Posture Profile。填寫名稱和狀態協定。

在*Server name rules put*下，將任何虛構IP地址放在Discovery host下。

步驟5.導航到Policy > Policy Elements > Results > Client Provisioning > Resources並建立AnyConnect Configuration。按一下Add並選擇AnyConnect Configuration。選擇AnyConnect Package，提供配置名稱，選擇Compliance Module，選中Diagnostic and Reporting Tool，選擇Posture Profile，然後按一下Save。

步驟6.導航到Policy > Client Provisioning並建立Client Provisioning Policy。按一下Edit，然後選擇Insert Rule Above，提供名稱，選擇OS，然後選擇在上一步中建立的AnyConnect Configuration。

步驟7.在Policy > Policy Elements > Conditions > Posture > Anti-Malware Condition下建立狀態條件。在本示例中，使用預定義的「ANY_am_win_inst」。

.

步驟8.導航到Policy > Policy Elements > Results > Posture > Remediation Actions並建立Posture Remediation。在此範例中，會跳過它。補救操作可以是文本消息。

步驟9. 導航到Policy > Policy Elements > Results > Posture > Requirements並建立Posture Requirements。使用預定義要求Any_AM_Installation_Win。

步驟10.在Policies > Posture下建立狀態策略。使用針對Windows作業系統的任何防惡意軟體檢查的預設安全評估策略。

步驟11.導航到Policy > Policy Elements > Results > Authorization > Downloadable ACL，然後為不同的狀態建立DACL。

在此範例中：

- 狀態未知DACL — 允許流量到達DNS、PSN以及HTTP和HTTPS流量。

- 安全狀態不符合DACL — 拒絕訪問專用子網並僅允許網際網路流量。

- Permit All DACL — 允許所有流量進入安全狀態合規狀態。

步驟12.為Posture Unknown、Posture NonCompliant和Posture Compliant狀態建立三個授權配置檔案。為此，請導航至Policy > Policy Elements > Results > Authorization > Authorization Profiles。在Posture Unknown設定檔中，選擇Posture Unknown DACL，檢查Web Redirection，選擇Client Provisioning，提供重新導向ACL名稱（在FTD上設定）並選擇入口網站。

在Posture NonCompliant配置檔案中，選擇DACL以限制對網路的訪問。

在Posture Compliant配置檔案中，選擇DACL以允許對網路的完全訪問。

步驟13.在Policy > Policy Sets > Default > Authorization Policy下建立授權策略。As條件使用狀態狀態和VNP隧道組名稱。

驗證

使用本節內容，確認您的組態是否正常運作。

在ISE上，第一個驗證步驟是RADIUS即時日誌。導覽至Operations > RADIUS Live Log。在這裡，使用者Alice已連線，並且已選擇預期的授權策略。

授權策略FTD-VPN-Posture-Unknown已匹配，因此會將FTD-VPN-Profile傳送到FTD。

狀態狀態待定。

「結果」部分顯示將哪些屬性傳送到FTD。

在FTD上，為了驗證VPN連線，請將SSH連線到該盒，執行system support diagnostic-cli，然後執行show vpn-sessiondb detail anyconnect。從此輸出中，驗證從ISE傳送的屬性是否應用於此VPN會話。

fyusifov-ftd-64# show vpn-sessiondb detail anyconnect

Session Type: AnyConnect Detailed

Username     : alice@training.example.com

Index        : 12

Assigned IP  : 172.16.1.10            Public IP    : 10.229.16.169

Protocol     : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel

License      : AnyConnect Premium

Encryption   : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)AES-GCM-256  DTLS-Tunnel: (1)AES256

Hashing      : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)SHA384  DTLS-Tunnel: (1)SHA1

Bytes Tx     : 15326                  Bytes Rx     : 13362

Pkts Tx      : 10                     Pkts Rx      : 49

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Group Policy : DfltGrpPolicy          Tunnel Group : EmployeeVPN

Login Time   : 07:13:30 UTC Mon Feb 3 2020

Duration     : 0h:06m:43s

Inactivity   : 0h:00m:00s

VLAN Mapping : N/A                    VLAN         : none

Audt Sess ID : 000000000000c0005e37c81a

Security Grp : none                   Tunnel Zone  : 0

AnyConnect-Parent Tunnels: 1

SSL-Tunnel Tunnels: 1

DTLS-Tunnel Tunnels: 1

AnyConnect-Parent:

Tunnel ID    : 12.1

Public IP    : 10.229.16.169

Encryption   : none                   Hashing      : none

TCP Src Port : 56491                  TCP Dst Port : 443

Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 23 Minutes

Client OS    : win

Client OS Ver: 10.0.18363

Client Type  : AnyConnect

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 7663                   Bytes Rx     : 0

Pkts Tx      : 5                      Pkts Rx      : 0

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

SSL-Tunnel:

Tunnel ID    : 12.2

Assigned IP  : 172.16.1.10            Public IP    : 10.229.16.169

Encryption   : AES-GCM-256            Hashing      : SHA384

Ciphersuite  : ECDHE-RSA-AES256-GCM-SHA384

Encapsulation: TLSv1.2                TCP Src Port : 56495

TCP Dst Port : 443                    Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 23 Minutes

Client OS    : Windows

Client Type  : SSL VPN Client

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 7663                   Bytes Rx     : 592

Pkts Tx      : 5                      Pkts Rx      : 7

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Filter Name  : #ACSACL#-IP-PostureUnknown-5e37414d

DTLS-Tunnel:

Tunnel ID    : 12.3

Assigned IP  : 172.16.1.10            Public IP    : 10.229.16.169

Encryption   : AES256                 Hashing      : SHA1

Ciphersuite  : DHE-RSA-AES256-SHA

Encapsulation: DTLSv1.0               UDP Src Port : 59396

UDP Dst Port : 443                    Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 29 Minutes

Client OS    : Windows

Client Type  : DTLS VPN Client

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 0                      Bytes Rx     : 12770

Pkts Tx      : 0                      Pkts Rx      : 42

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Filter Name  : #ACSACL#-IP-PostureUnknown-5e37414d

ISE Posture:

Redirect URL : https://fyusifov-26-3.example.com:8443/portal/gateway?sessionId=000000000000c0005e37c81a&portal=27b1bc...

Redirect ACL : fyusifovredirect

fyusifov-ftd-64#

可以驗證客戶端調配策略。導航到操作>報告>端點和使用者>客戶端調配。

可以檢查從AnyConnect傳送的狀況報告。導航到操作>報告>端點和使用者>按端點進行狀態評估。

要檢視狀態報告的更多詳細資訊，請按一下Details。

在ISE上收到報告後，終端安全評估狀態將更新。在此示例中，安全評估狀態是相容的，並使用一組新的屬性觸發CoA Push。

在FTD上驗證是否已為VPN作業階段移除新的重新導向ACL和重新導向URL，且已套用PermitAll DACL。

fyusifov-ftd-64# show vpn-sessiondb detail anyconnect

Session Type: AnyConnect Detailed

Username     : alice@training.example.com

Index        : 14

Assigned IP  : 172.16.1.10            Public IP    : 10.55.218.19

Protocol     : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel

License      : AnyConnect Premium

Encryption   : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)AES-GCM-256  DTLS-Tunnel: (1)AES256

Hashing      : AnyConnect-Parent: (1)none  SSL-Tunnel: (1)SHA384  DTLS-Tunnel: (1)SHA1

Bytes Tx     : 53990                  Bytes Rx     : 23808

Pkts Tx      : 73                     Pkts Rx      : 120

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Group Policy : DfltGrpPolicy          Tunnel Group : EmployeeVPN

Login Time   : 16:58:26 UTC Mon Feb 3 2020

Duration     : 0h:02m:24s

Inactivity   : 0h:00m:00s

VLAN Mapping : N/A                    VLAN         : none

Audt Sess ID : 000000000000e0005e385132

Security Grp : none                   Tunnel Zone  : 0

AnyConnect-Parent Tunnels: 1

SSL-Tunnel Tunnels: 1

DTLS-Tunnel Tunnels: 1

AnyConnect-Parent:

Tunnel ID    : 14.1

Public IP    : 10.55.218.19

Encryption   : none                   Hashing      : none

TCP Src Port : 51965                  TCP Dst Port : 443

Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 27 Minutes

Client OS    : win

Client OS Ver: 10.0.18363

Client Type  : AnyConnect

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 7663                   Bytes Rx     : 0

Pkts Tx      : 5                      Pkts Rx      : 0

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

SSL-Tunnel:

Tunnel ID    : 14.2

Assigned IP  : 172.16.1.10            Public IP    : 10.55.218.19

Encryption   : AES-GCM-256            Hashing      : SHA384

Ciphersuite  : ECDHE-RSA-AES256-GCM-SHA384

Encapsulation: TLSv1.2                TCP Src Port : 51970

TCP Dst Port : 443                    Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 27 Minutes

Client OS    : Windows

Client Type  : SSL VPN Client

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 7715                   Bytes Rx     : 10157

Pkts Tx      : 6                      Pkts Rx      : 33

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Filter Name  : #ACSACL#-IP-PermitAll-5e384dc0

DTLS-Tunnel:

Tunnel ID    : 14.3

Assigned IP  : 172.16.1.10            Public IP    : 10.55.218.19

Encryption   : AES256                 Hashing      : SHA1

Ciphersuite  : DHE-RSA-AES256-SHA

Encapsulation: DTLSv1.0               UDP Src Port : 51536

UDP Dst Port : 443                    Auth Mode    : userPassword

Idle Time Out: 30 Minutes             Idle TO Left : 28 Minutes

Client OS    : Windows

Client Type  : DTLS VPN Client

Client Ver   : Cisco AnyConnect VPN Agent for Windows 4.7.01076

Bytes Tx     : 38612                  Bytes Rx     : 13651

Pkts Tx      : 62                     Pkts Rx      : 87

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Filter Name  : #ACSACL#-IP-PermitAll-5e384dc0

fyusifov-ftd-64#

疑難排解

本節提供的資訊可用於對組態進行疑難排解。

有關詳細的終端安全評估流程以及對AnyConnect和ISE進行故障排除，請檢查以下連結： ISE終端安全評估樣式比較，用於前期和後期2.2。

- 溢位隧道

一個常見問題，當配置了備用隧道時。在此示例中，使用預設組策略，該策略對所有流量進行隧道傳輸。如果只有特定流量通過隧道傳輸，則AnyConnect探測(enroll.cisco.com和發現主機)除了到ISE和其他內部資源的流量外，還必須通過隧道。

為了檢查FMC上的隧道策略，首先檢查哪個組策略用於VPN連線。導覽至Devices > VPN Remote Access。

然後，導航到Objects > Object Management > VPN > Group Policy，然後點選為VPN配置的Group Policy。

- 身份NAT

另一個常見問題是，當VPN使用者的返回流量使用錯誤的NAT條目被轉換時。要解決此問題，必須按照適當的順序建立身份NAT。

首先，檢查該裝置的NAT規則。導航到Devices > NAT，然後點選Add Rule以建立新規則。

在開啟的視窗中，在Interface Objects頁籤下，選擇Security Zones。在本示例中，NAT條目是從ZONE-INSIDE到ZONE-OUTSIDE建立的。

在Translation頁籤下，選擇原始資料包和已轉換資料包的詳細資訊。因為它是身份NAT，所以源和目標保持不變：

在Advanced索引標籤下，勾選以下圖中所示的覈取方塊：