簡介
本檔案介紹如何設定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:
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。
另一個常見問題是,當VPN使用者的返回流量使用錯誤的NAT條目被轉換時。要解決此問題,必須按照適當的順序建立身份NAT。
首先,檢查該裝置的NAT規則。導航到Devices > NAT,然後點選Add Rule以建立新規則。
在開啟的視窗中,在Interface Objects頁籤下,選擇Security Zones。在本示例中,NAT條目是從ZONE-INSIDE到ZONE-OUTSIDE建立的。
在Translation頁籤下,選擇原始資料包和已轉換資料包的詳細資訊。因為它是身份NAT,所以源和目標保持不變:
在Advanced索引標籤下,勾選以下圖中所示的覈取方塊: