簡介
本文檔介紹為Linux和身份服務引擎(ISE)配置和實施檔案狀態策略的過程。
必要條件
需求
思科建議您瞭解以下主題:
- Anyconnect
- 身分識別服務引擎 (ISE)
- Linux
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Anyconnect 4.10.05085
- ISE版本3.1 P1
- Linux Ubuntu 20.04
- Cisco交換器Catalyst 3650。版本03.07.05.E(15.12(3)E5)
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
ISE上的配置
步驟1.更新狀態服務:
導航至Work Centers > Posture > Settings > Software Updates > Posture Updates。選擇「立即更新」並等待進程完成:
思科提供的軟體包是從Cisco.com站點下載的軟體包,例如AnyConnect軟體包。客戶建立的包是您在ISE使用者介面之外建立的配置檔案或配置,並且希望上傳到ISE用於安全評估評估。在本練習中,您可以下載AnyConnect webdeploy軟體包「anyconnect-linux64-4.10.05085-webdeploy-k9.pkg」。
附註:由於存在更新和補丁程式,因此建議的版本可能會更改。使用來自cisco.com站點的最新推薦版本。
步驟2.上傳AnyConnect軟體包:
在Posture Work center中,導航至Client Provisioning > Resources
步驟3.選擇Add > Agent Resources from Local Disk
步驟4.從「Category」下拉式清單中選擇Cisco Provided Packages。
步驟5.按一下Browse。
步驟6.選擇您在上一步中下載的其中一個AnyConnect軟體包。處理AnyConnect影象,並顯示有關軟體包的資訊
步驟7.按一下Submit。現在,AnyConnect上傳到ISE,您可以與ISE聯絡並從Cisco.com獲取其他客戶端資源。
附註:代理資源包括AnyConnect客戶端使用的模組,該模組能夠評估終端對各種狀況檢查的合規性,例如防病毒、防間諜軟體、防惡意軟體、防火牆、磁碟加密、檔案等。
步驟8.按一下Add > Agent Resources from Cisco Site。當ISE訪問Cisco.com並檢索所有已發佈的客戶端調配資源的清單時,該視窗需要花費一分鐘時間進行填充。
步驟9.選擇適用於Linux的最新AnyConnect合規性模組。此外,您還可以選擇Windows和Mac的合規性模組。
步驟10.選擇Windows和Mac的最新臨時代理。
步驟11.按一下Save。
附註:MAC和Windows終端安全評估配置不屬於本配置指南的範圍。
此時,您已經上載並更新了所有必需的部件。現在應該構建使用這些元件所需的配置和配置檔案。
步驟12.按一下Add > NAC Agent或AnyConnect Posture Profile。
需要修改的引數包括:
- VLAN檢測間隔:通過此設定,可以設定模組在探測VLAN更改之間等待的秒數。建議時間為5秒。
- Ping或ARP:這是實際的VLAN更改檢測方法。代理可以ping預設網關,或監控ARP快取,使預設網關條目超時或同時超時。推薦設定為ARP。
- 補救計時器:當終端的狀態未知時,終端將進入狀態評估流程。修復失敗的狀況檢查需要時間;預設時間是4分鐘,之後將終端標籤為不合規,但值的範圍可以是1到300分鐘(5小時)。 建議時間為15分鐘;但是,如果預計補救需要更長時間,則需要進行調整。
附註:Linux檔案狀態不支援自動補救。
有關所有引數的全面說明,請參閱ISE或AnyConnect終端安全評估文檔。
步驟13.代理行為選擇狀態探測備份清單,然後選擇選擇,選擇PSN/獨立FQDN並選擇儲存
步驟14.在Posture Protocols > Discovery Host下定義PSN/獨立節點IP地址。
步驟15.從Discovery backup server list和Select中選擇您的PSN或獨立FQDN,然後選擇Select。
步驟16.在Server name rules下,鍵入*聯絡所有伺服器,並在call home list下定義PSN/獨立IP地址。或者,可以使用萬用字元匹配網路中的所有潛在PSN(即*.acme.com)。
步驟17.單擊Add > AnyConnect Configuration
向下滾動並選擇提交
步驟18.完成選擇後,按一下提交。
步驟19.選擇Work Centers > Posture > Client Provisioning > Client Provisioning Portals。
步驟20. 在Portal Settings部分下,可以選擇介面和埠以及授權到選擇員工、SISE_Users和域使用者頁面的組。
步驟21.在Log in Page Settings下,確保啟用Enable auto Log In選項
步驟22.在右上角選擇Save
步驟23.選擇Work Centers > Posture > Client Provisioning > Client Provisioning Policy。
步驟24.在CPP中按一下IOS規則旁邊的下箭頭,然後選擇「Duplicate Above」
步驟25.將規則命名為LinuxPosture
步驟26.對於Results,選擇AnyConnect Configuration作為代理。
附註:在這種情況下,您看不到合規性模組下拉選單,因為它被配置為AnyConnect配置的一部分。
步驟27.按一下「Done」。
步驟28.按一下Save。
狀態策略元素
步驟29.選擇Work Centers > Posture > Policy Elements > Conditions > File。選擇新增。
步驟30.將TESTFile定義為檔案條件名稱並定義下一個值
附註:路徑取決於檔案位置。
步驟31.選擇Save
FileExistence.此檔案型別的條件檢視檔案是否存在於其應該存在的系統中,僅此而已。選擇此選項後,完全不需要驗證檔案日期、雜湊等
步驟32.選擇要求並按如下所示建立新策略:
附註:Linux不支援僅作為補救操作的消息文本
需求元件
- 作業系統:Linux全部
- 合規性模組:4.x
- 狀態型別:AnyConnect
- 狀況:合規性模組和代理(在您選擇作業系統後可用)
- 補救操作:選擇所有其他條件後可供選擇的補救。
步驟33.選擇Work Centers > Posture > Posture Policy
步驟34.選擇Edit on any policy,然後選擇Insert New policy Define LinuxPosturePolicy Policy作為名稱,並確保新增您在步驟32中建立的需求。
步驟35.選擇完成並保存
其他重要狀態設定(「狀態常規設定」部分)
安全評估常規設定部分中的重要設定如下:
- 修正計時器:此設定定義客戶端更正故障狀態條件所需的時間。AnyConnect配置中還有補救計時器;此計時器用於ISE,而不是AnyConnect。
- 預設狀態狀態:此設定為沒有狀態代理的裝置或無法運行臨時代理的作業系統(例如基於Linux的作業系統)提供狀態狀態。
- 連續監視間隔:此設定適用於清點端點的應用程式和硬體條件。該設定指定AnyConnect必須傳送監控資料的頻率。
- 隱藏模式中的可接受使用策略:此設定僅有的兩個選項是阻止或繼續。如果未確認AUP,則阻止隱藏模式AnyConnect客戶端繼續。繼續操作允許隱身模式客戶端在不確認AUP的情況下繼續操作(使用AnyConnect的隱身模式設定時,AUP通常是其意圖)。
重新評估配置
狀況重新評估是狀況工作流程的重要組成部分。您在「終端安全評估協定」一節中看到了如何配置AnyConnect代理進行終端安全評估的功能。代理定期檢查基於該配置中的計時器定義的PSN。
當請求到達PSN時,PSN會根據該終端角色的ISE配置確定是否需要狀態重新評估。如果客戶端通過重新評估,則PSN會保持終端的狀態符合狀態,並且狀態租用會被重置。如果終端未通過重新評估,狀態狀態將更改為不合規狀態,並且已經存在的任何狀態租賃都會被刪除。
步驟36.選擇Policy > Policy Elements > Results > Authorization > Authorization Profile。選擇新增
步驟37.將Wired_Redirect定義為授權配置檔案,並配置下一個引數
步驟38.選擇保存
步驟39.配置授權策略
安全狀態有三種預配置的授權規則:
- 第一個配置為在身份驗證成功時匹配,並且裝置的合規性未知。
- 第二個規則將成功的身份驗證與不符合的終端相匹配。
附註:前兩個規則具有相同的結果,即使用預配置的授權配置檔案,該配置檔案將終端重定向到客戶端調配門戶。
- 最終規則匹配成功的身份驗證和狀態相容終端,並使用預構建的PermitAccess授權配置檔案。
選擇Policy > Policy Set,然後為前一實驗中的Wired 802.1x - MAB Created選擇右箭頭。
步驟40.選擇Authorization Policy並建立下一個規則
交換器上的組態
附註:以下配置是指IBNS 1.0。支援IBNS 2.0的交換機可能有差異。它包括低影響模式部署。
username <admin> privilege 15 secret <password>
aaa new-model
!
aaa group server radius RAD_ISE_GRP
server name <isepsnnode_1>
server name
!
aaa authentication dot1x default group RAD_ISE_GRP
aaa authorization network default group RAD_ISE_GRP
aaa accounting update periodic 5
aaa accounting dot1x default start-stop group RAD_ISE_GRP
aaa accounting dot1x default start-stop group RAD_ISE_GRP
!
aaa server radius dynamic-author
client server-key
client server-key
!
aaa session-id common
!
authentication critical recovery delay 1000
access-session template monitor
epm logging
!
dot1x system-auth-control
dot1x critical eapol
!
# For Access Interfaces:
interface range GigabitEthernetx/y/z - zz
description VOICE-and-Data
switchport access vlan
switchport mode access
switchport voice vlan
ip access-group ACL_DEFAULT in
authentication control-direction in # If supported
authentication event fail action next-method
authentication host-mode multi-auth
authentication open
authentication order dot1x mab
authentication priority dot1x mab
authentication port-control auto
# Enables preiodic re-auth, default = 3,600secs
authentication periodic
# Configures re-auth and inactive timers to be sent by the server
authentication timer reauthenticate server
authentication timer inactivity server
authentication violation restrict
mab
snmp trap mac-notification change added
snmp trap mac-notification change removed
dot1x pae authenticator
dot1x timeout tx-period 10
dot1x timeout server-timeout 10
dot1x max-req 3
dot1x max-reauth-req 3
auto qos trust
# BEGIN - Dead Server Actions -
authentication event server dead action authorize vlan
authentication event server dead action authorize voice
authentication event server alive action reinitialize
# END - Dead Server Actions -
spanning-tree portfast
!
# ACL_DEFAULT #
! This ACL can be customized to your needs, this is the very basic access allowed prior
! to authentication/authorization. Normally ICMP, Domain Controller, DHCP and ISE
! http/https/8443 is included. Can be tailored to your needs.
!
ip access-list extended ACL_DEFAULT
permit udp any eq bootpc any eq bootps
permit udp any any eq domain
permit icmp any any
permit udp any any eq tftp
permit ip any host
permit ip any host
permit tcp any host eq www
permit tcp any host eq 443
permit tcp any host eq 8443
permit tcp any host eq www
permit tcp any host eq 443
permit tcp any host eq 8443
!
# END-OF ACL_DEFAULT #
!
# ACL_REDIRECT #
! This ACL can be customized to your needs, this ACL defines what is not redirected
! (with deny statement) to the ISE. This ACL is used for captive web portal,
! client provisioning, posture remediation, and so on.
!
ip access-list extended ACL_REDIRECT_AV
remark Configure deny ip any host to allow access to
deny udp any any eq domain
deny tcp any any eq domain
deny udp any eq bootps any
deny udp any any eq bootpc
deny udp any eq bootpc any
remark deny redirection for ISE CPP/Agent Discovery
deny tcp any host eq 8443
deny tcp any host eq 8905
deny udp any host eq 8905
deny tcp any host eq 8909
deny udp any host eq 8909
deny tcp any host eq 8443
deny tcp any host eq 8905
deny udp any host eq 8905
deny tcp any host eq 8909
deny udp any host eq 8909
remark deny redirection for remediation AV servers
deny ip any host
deny ip any host
remark deny redireciton for remediation Patching servers
deny ip any host
remark redirect any http/https
permit tcp any any eq www
permit tcp any any eq 443
!
# END-OF ACL-REDIRECT #
!
ip radius source-interface
!
radius-server attribute 6 on-for-login-auth
radius-server attribute 6 support-multiple
radius-server attribute 8 include-in-access-req
radius-server attribute 55 include-in-acct-req
radius-server attribute 55 access-request include
radius-server attribute 25 access-request include
radius-server attribute 31 mac format ietf upper-case
radius-server attribute 31 send nas-port-detail
radius-server vsa send accounting
radius-server vsa send authentication
radius-server dead-criteria time 30 tries 3
!
ip http server
ip http secure-server
ip http active-session-modules none
ip http secure-active-session-modules none
!
radius server
address ipv4 auth-port 1812 acct-port 1813
timeout 10
retransmit 3
key
!
radius server
address ipv4 auth-port 1812 acct-port 1813
timeout 10
retransmit 3
key
!
aaa group server radius RAD_ISE_GRP
server name
server name
!
mac address-table notification change
mac address-table notification mac-move
驗證
ISE驗證:
本節假設之前已在Linux系統上安裝了帶有ISE狀態模組的AnyConnect。
使用dot1x驗證PC
步驟1.導覽至Network Settings
步驟2.選擇Security頁籤並提供802.1x配置和使用者憑據
步驟3.按一下「Apply」。
步驟4.將Linux系統連線到802.1x有線網路並在ISE即時日誌中驗證:
在ISE中,使用水準捲軸檢視其他資訊,例如提供流量的PSN或狀態狀態:
步驟5.在Linux使用者端上,必須發生重新導向,且會提供使用者端布建入口網站,指示進行狀態檢查並單擊「開始」:
聯結器嘗試檢測AnyConnect時,請等待幾秒鐘:
由於存在已知警告,即使安裝了AnyConnect,它也不會檢測到它。使用Alt-Tab或活動選單切換到AnyConnect客戶端。
AnyConnect嘗試訪問PSN獲取終端安全評估策略,並根據該策略評估終端。
AnyConnect將其安全評估策略的確定報告回ISE。在這種情況下,符合
另一方面,如果檔案不存在,AnyConnect終端安全評估模組會將確定結果報告給ISE
附註:ISE FQDN需要通過DNS或本地主機檔案在Linux系統上可解析。
疑難排解
show authentication sessions int fa1/0/35
重定向到位:
授權成功:
不符合要求,已移至隔離VLAN和ACL: