本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹常見的身份服務引擎(ISE)安全評估服務問題:「AnyConnect ISE安全評估模組顯示相容……」
本文檔介紹常見的身份服務引擎(ISE)安全評估服務問題- AnyConnect ISE安全評估模組在ISE上的會話狀態為掛起時顯示合規性。
儘管症狀始終相同,但此問題有多種根本原因。
通常,此類問題的故障排除會非常耗時,從而造成嚴重影響。
本檔案將說明:
如需稍後所述概念的更清楚說明,請參閱:
此問題通常會在瀏覽器中缺少網路訪問或持續重定向到ISE客戶端調配門戶時出現,同時AnyConect ISE終端安全評估模組將終端安全評估狀態顯示為相容。
典型的終端使用者體驗:
通常,在此問題的初始分類中,ISE管理員會執行Radius Live日誌調查,以確保在ISE中有一個實際身份驗證。
在此階段發現的第一個症狀指示終端和ISE之間的狀態不匹配,如在即時日誌或RADIUS身份驗證報告針對終端的最後一次成功身份驗證顯示Pending狀態一樣。
典型的ISE管理員體驗:
註:當上述問題出現時,c.和d.並不總是顯示在即時日誌中。狀態狀態為Compliant的會話事件更常見於由陳舊或幻像會話造成的情況(本文檔後面部分進行了說明)。
此問題通常出現在兩個有問題的場景中,並且每個場景都有多個根本原因。場景:
在這種情況下,我們通常處理PSN會話快取中的過時或幻像會話。
AnyConnect中的ISE終端安全評估模組具有觸發發現過程的有限數量的事件。在身份驗證或重新身份驗證期間,可能未檢測到任何事件。
為了更好地瞭解問題,請調查所需的ISE會話管理邏輯和AnyConnect發現過程。
在ISE部署中,有兩個人員負責會話管理過程:PSN和監控節點(MNT)。
要正確排查並辨識此問題,請務必瞭解兩個角色上的會話管理理論。
如本圖所述,MNT節點根據來自PSN的透過身份驗證系統日誌消息建立季節。
會話狀態可以稍後由系統日誌更新以進行記帳。
在MNT上刪除會話有3種情況:
1. 沒有記賬開始的會話在建立後約60分鐘就被刪除:每5分鐘執行一個cron作業以檢查會話狀態和清除會話。
2. 終止的階段作業會在同一個cron工作處理會計停止後約15分鐘內移除。
3. 每次執行時相同的cron也會移除處於「已啟動」狀態超過5天(120小時)的階段作業。已啟動狀態表示MNT節點同時處理身份驗證和記帳以啟動會話的系統日誌。
來自PSN的系統日誌消息示例:
當runtime-aaa元件啟用到DEBUG中時,這些消息將記錄到prrt-server.log中。 粗體部分可用來建構搜尋規則運算式。
透過驗證:
AcsLogs,2020-04-07 10:07:29,202,DEBUG,0x7fa0ada91700,cntx=0000629480,sesn=skuchere-ise26-1/375283310/10872,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 22:53:24.288 +02:00 0000423024 5200 NOTICE Passed-Authentication: Authentication succeeded, ConfigVersionId=87, Device IP Address=10.62.148.108, DestinationIPAddress=192.168.43.26, DestinationPort=1812, UserName=bob@example.com, Protocol=Radius, RequestLatency=45, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Service-Type=Framed, Framed-IP-Address=192.168.255.205, Framed-MTU=1472, State=37CPMSessionID=0A3E946C00000073559C0123\;42SessionID=skuchere-ise26-1/375283310/10872\;, Calling-Station-ID=00-50-56-B6-0B-C6, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, EAP-Key-Name=, cisco-av-pair=service-type=Framed, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, cisco-av-pair=client-iif-id=526638260, NetworkDeviceProfileName=Cisco, NetworkDeviceProfileId=b0699505-3150-4215-a80e-6753d45bf56c, IsThirdPartyDeviceFlow=false, RadiusFlowType=Wired802_1x, AcsSessionID=skuchere-ise26-1/375283310/10872, AuthenticationIdentityStore=EXAMPLE, AuthenticationMethod=MSCHAPV2, SelectedAccessService=Default Network Access, SelectedAuthorizationProfiles=PermitAccess, IsMachineAuthentication=false, IdentityGroup=Endpoint Identity Groups:Profiled:Workstation, Step=11001, Step=11017, Step=15049, Step=15008, Step=15048, Step=15048, Step=15048, Step=11507, Step=12500, Step=12625, Step=11006, Step=11001, Step=11018, Step=12301, Step=12300, Step=12625, Step=11006, Step=11001, Step=11018, Step=12302, Step=12318, Step=12800, Step=12805, Step=12806, Step=12807, Step=12808, Step=12810, Step=12811, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12318, Step=12812, Step=12813, Step=12804, Step=12801, Step=12802, Step=12816, Step=12310, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=12313, Step=11521, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11522, Step=11806, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11808, Step=15041, Step=22072, Step=15013, Step=24210, Step=24216, Step=15013, Step=24430, Step=24325, Step=24313, Step=24319, Step=24323, Step=24343, Step=24402, Step=22037, Step=11824, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=11810, Step=11814, Step=11519, Step=12314, Step=12305, Step=11006, Step=11001, Step=11018, Step=12304, Step=24715, Step=15036, Step=24209, Step=24211, Step=24432, Step=24325, Step=24313, Step=24319, Step=24323, Step=24355, Step=24416, Step=15048, Step=15016, Step=22081, Step=22080, Step=12306, Step=11503, Step=11002, SelectedAuthenticationIdentityStores=Internal Users, SelectedAuthenticationIdentityStores=All_AD_Join_Points, SelectedAuthenticationIdentityStores=Guest Users, AuthenticationStatus=AuthenticationPassed, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, IdentityPolicyMatchedRule=Dot1X, AuthorizationPolicyMatchedRule=Compliant-Wired, EapTunnel=PEAP, EapAuthentication=EAP-MSCHAPv2, CPMSessionID=0A3E946C00000073559C0123, EndPointMACAddress=00-50-56-B6-0B-C6, PostureAssessmentStatus=NotApplicable, EndPointMatchedProfile=Microsoft-Workstation, ISEPolicySetName=Default, IdentitySelectionMatchedRule=Dot1X, AD-User-Resolved-Identities=bob@example.com, AD-User-Candidate-Identities=bob@example.com, AD-User-Join-Point=EXAMPLE.COM, StepData=4= Radius.NAS-IP-Address, StepData=5= Cisco-VPN3000.CVPN3000/ASA/PIX7x-Tunnel-Group-Name, StepData=6= DEVICE.Device Type, StepData=77=All_User_ID_Stores, StepData=78=Internal Users, StepData=81=All_AD_Join_Points, StepData=82=All_AD_Join_Points, StepData=83=bob@example.com, StepData=84=example.com, StepData=85=example.com, StepData=87=bob@example.com, StepData=88=All_AD_Join_Points, StepData=109=EXAMPLE, StepData=110=bob@example.com, StepData=111=example.com, StepData=112=example.com, StepData=114=example.com, StepData=115=EXAMPLE, StepData=116= EXAMPLE.ExternalGroups, AD-User-Resolved-DNs=CN=bob\,CN=Users\,DC=example\,DC=com, AD-User-DNS-Domain=example.com, AD-Groups-Names=example.com/Users/Domain Users, AD-User-NetBios-Name=EXAMPLE, IsMachineIdentity=false, UserAccountControl=66048, AD-User-SamAccount-Name=bob, AD-User-Qualified-Name=bob@example.com, allowEasyWiredSession=false, TLSCipher=ECDHE-RSA-AES256-GCM-SHA384, TLSVersion=TLSv1.2, DTLSSupport=Unknown, HostIdentityGroup=Endpoint Identity Groups:Profiled:Workstation, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ExternalGroups=S-1-5-21-875452798-754861120-3039794717-513, IdentityAccessRestricted=false, PostureStatus=Compliant, Response={Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10872; EAP-Key-Name=19:5e:8c:e9:13:0c:89:23:78:49:ad:2b:d4:31:63:51:27:81:db:e2:61:b1:51:36:6d:11:10:41:ce:3b:aa:cc:c6:66:4e:7c:92:f8:83:c5:06:84:ac:95:4c:5b:f1:b2:37:a2:f5:04:4e:9e:4d:08:79:55:b7:4d:9a:41:f5:b2:0a; MS-MPPE-Send-Key=****; MS-MPPE-Recv-Key=****; LicenseTypes=65541; },],MessageFormatter.cpp:107
會計開始:
AcsLogs,2020-04-07 10:07:30,202,DEBUG,0x7fa0ad68d700,cntx=0000561096,sesn=skuchere-ise26-1/375283310/10211,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 10:07:30.857 +02:00 0000382874 3000 NOTICE Radius-Accounting: RADIUS Accounting start request, ConfigVersionId=87, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=7, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10210, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Start, Acct-Delay-Time=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Event-Timestamp=1586279242, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/10211, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=15048, Step=22083, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
中期會計更新:
AcsLogs,2020-04-07 22:57:48,642,DEBUG,0x7fa0adb92700,cntx=0000629843,sesn=skuchere-ise26-1/375283310/10877,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-07 22:57:48.650 +02:00 0000423268 3002 NOTICE Radius-Accounting: RADIUS Accounting watchdog update, ConfigVersionId=87, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=8, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/10872, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Interim-Update, Acct-Delay-Time=0, Acct-Input-Octets=2293926, Acct-Output-Octets=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Acct-Input-Packets=15785, Acct-Output-Packets=0, Event-Timestamp=1586325462, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/10877, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=22085, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
記帳停止:
AcsLogs,2020-04-08 11:43:22,356,DEBUG,0x7fa0ad68d700,cntx=0000696242,sesn=skuchere-ise26-1/375283310/11515,CPMSessionID=0A3E946C00000073559C0123,user=bob@example.com,CallingStationID=00-50-56-B6-0B-C6,FramedIPAddress=192.168.255.205,Log_Message=[2020-04-08 11:43:22.368 +02:00 0000463071 3001 NOTICE Radius-Accounting: RADIUS Accounting stop request, ConfigVersionId=88, Device IP Address=10.62.148.108, UserName=bob@example.com, RequestLatency=12, NetworkDeviceName=3850-1-BB, User-Name=bob@example.com, NAS-IP-Address=10.62.148.108, NAS-Port=50105, Framed-IP-Address=192.168.255.205, Class=CACS:0A3E946C00000073559C0123:skuchere-ise26-1/375283310/11503, Called-Station-ID=00-E1-6D-D1-4F-05, Calling-Station-ID=00-50-56-B6-0B-C6, Acct-Status-Type=Stop, Acct-Delay-Time=0, Acct-Input-Octets=4147916, Acct-Output-Octets=0, Acct-Session-Id=00000041, Acct-Authentic=Remote, Acct-Session-Time=92157, Acct-Input-Packets=29120, Acct-Output-Packets=0, Acct-Terminate-Cause=Lost Carrier, Event-Timestamp=1586371399, NAS-Port-Type=Ethernet, NAS-Port-Id=GigabitEthernet1/0/5, Framed-IPv6-Address=2001:10::100, Framed-IPv6-Address=2001:10::101, cisco-av-pair=audit-session-id=0A3E946C00000073559C0123, cisco-av-pair=method=dot1x, AcsSessionID=skuchere-ise26-1/375283310/11515, SelectedAccessService=Default Network Access, Step=11004, Step=11017, Step=15049, Step=15008, Step=22084, Step=11005, NetworkDeviceGroups=IPSEC#Is IPSEC Device#No, NetworkDeviceGroups=Location#All Locations, NetworkDeviceGroups=Device Type#All Device Types, CPMSessionID=0A3E946C00000073559C0123, Network Device Profile=Cisco, Location=Location#All Locations, Device Type=Device Type#All Device Types, IPSEC=IPSEC#Is IPSEC Device#No, ],MessageFormatter.cpp:107
PSN會話快取是一個記憶體中資料庫,用於儲存特定PSN的所有活動會話。會話快取始終是節點的本地快取。
ISE中沒有一種機制可以執行從一個節點到另一個節點的完全會話狀態複製。
對於每個活動會話ID,PSN儲存身份驗證/授權階段收集的所有屬性(例如,內部/外部使用者組、網路訪問裝置(NAD)屬性、證書屬性等)。這些屬性由PSN用於選擇不同的策略型別(如身份驗證、授權、客戶端調配和狀態)。
重新啟動節點(或節點上的服務)時,會完全移除階段作業快取。
目前的階段作業處理邏輯會在兩個案例中的階段作業快取中建立新專案。現有會話的後續詳細資訊可以從來自需要方的記帳消息進行更新。
談到會話刪除,PSN會實現以下邏輯:
在ISE部署中,現有會話的記帳停止已由PSN處理,PSN未執行實際身份驗證:
過時的會話示例:
1. 會話ABC的PSN上身份驗證成功。
2. PSN會在階段作業快取中建立專案。
3. 進行狀態評估。
4. 會話標籤為相容。
5. 授權更改(COA)(由狀態更改觸發)導致終端重新驗證以應用下一個訪問級別。
6. 會話ABC的記帳停止到達PSN2。
之後,ABC在PSN1上處於失效狀態,因為此PSN上未處理任何記帳停止消息以將其刪除。
如果部署沒有經歷過大量的身份驗證嘗試,會話將被長時間刪除。
在下列情況下,過時的會話將顯示在PSN會話快取中:
負載平衡器(LB)環境中過時的會話示例:
1. 會話ABC的初始身份驗證由PSN 1執行。
2. 此驗證會在負載平衡器上啟動粘性計時器。
3. PSN 1會在本機快取中建立階段作業ABC的專案。
4. 已傳遞身份驗證的系統日誌消息已傳輸到MNT節點。
5. 會話ABC的條目被建立到MNT會話目錄中,其狀態為Authenticated。
6. 會話ABC的記帳開始消息位於PSN 1。
7. 階段作業ABC的階段作業快取專案會以「會計開始」中的資訊更新。
8. Accounting-Start的系統日誌消息被傳輸到MNT節點。
9. 會話狀態更新為已啟動。
10. 負載均衡器上的粘性計時器超時。
11. 會話ABC的Accounting-Stop由負載均衡器轉發到PSN 2。
12. Accounting-Stop的系統日誌消息由PSN 2轉發到MNT。
13. 會話ABC在MNT上標籤為terminated。
虛擬會話是指當記帳臨時更新到未對此特定會話執行身份驗證的PSN時的場景。在此案例中,會在PSN階段作業快取中建立新專案。
如果PSN沒有收到此會話的記帳停止消息,則不會刪除該條目,除非PSN達到活動會話的限制。
虛擬會話的示例:
1. 在會話ABC的PSN1上執行與過時會話示例中所述的步驟相同的步驟。
2. 會話ABC在PSN1會話快取中的狀態為Compliant。
3. 會話ABC的會計臨時更新到達PSN2。
4. 在PSN2上建立會話ABC的會話條目。由於會話條目是根據記帳消息建立的,因此其屬性數量有限。例如,會話ABC的狀態不可用。使用者組和其他授權特定屬性等內容也不存在。
在以下情況下,虛擬會話顯示在PSN會話快取中:
以下是在通向PSN1的網路路徑上出現臨時問題的場景中的虛擬會話示例:
1. 會話ABC的初始身份驗證由PSN執行。
2. PSN1會在本機快取中建立階段作業ABC的專案。
3. 透過身份驗證的系統日誌消息被傳輸到MNT節點。
4. 會話ABC的條目在TimesTen DB中以Authenticated狀態建立。
5. 會話ABC的記帳開始消息位於PSN 1。
6. 階段作業ABC的階段作業快取專案會以「會計開始」中的資訊更新。
7. Accounting-Start的Syslog消息被傳輸到MNT節點。
8. 會話狀態會更新為已啟動。
9. 將會話ABC的臨時會計更新轉發到PSN2。
10. PSN2在本地快取中為會話ABC建立條目。
11. 將會話ABC的Accounting-Stop轉發到PSN1。
12. 會話ABC的條目將從PSN1上的會話快取中刪除。
13. 用於Accounting-Stop的系統日誌消息由PSN 1轉發到MNT。
14. 會話ABC在MNT上標籤為已終止。
此圖描述的是為長存VPN連線建立的虛擬會話場景:
1. PSN1上的初始身份驗證。
2. 階段作業ABC是在階段作業快取中建立的。
3. 會計開始PSN處理的消息。
4. 新IP位址會指派給「虛擬私人網路(VPN)」配接卡。
5. 帶有IP地址資訊的臨時會計更新位於PSN上。
6. 將IP地址資訊增加到會話快取中。
7. 對PSN1進行狀態評估。
8. 會話中更新狀態狀態。
9. ISE執行COA推送;這將觸發要分配的新訪問級別。
10. 網路路徑出現中斷,使PSN1無法訪問。
11. 在臨時更新間隔到期後,ASA/FTD檢測到PSN1不可訪問。
12. 中期會計更新適用於PSN2。
13. 虛擬在製品階段作業是在PSN2階段作業快取中建立的。
如果PSN1稍後變為可訪問(14),則所有後續的記帳消息都在該處轉發(15,16),這將在PSN2會話快取中保留會話ABC一段未定義的時間。
要瞭解過時會話和虛擬會話如何中斷安全評估,您可以檢視AnyConnect ISE安全評估模組發現流程:
階段1發現:
在此階段,ISE終端安全評估模組同時執行4個問題,以查詢對終端進行身份驗證的PSN。
首先,圖中的3個探測基於重定向(預設GW IP)。發現主機IP(如果已定義)和enroll.cisco.com IP;這些探測功能始終將代理指向正確的PSN,因為重定向URL是從NAD本身獲取的。
探查編號4將傳送到ConnectionData.xml檔案中顯示的所有主伺服器。 此檔案是在第一次成功姿勢嘗試之後建立的。如果客戶端在PSN之間遷移,以後可以更新檔案內容。
在Windows系統上,檔案位置是C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\ISE Posture\。
由於所有階段1探測同時執行,因此只有當所有其他3個探測都失敗或ISE終端安全評估模組無法在5秒內與重定向URL中返回的PSN建立適當通訊時,才會使用探測4的結果。
當探查4到達PSN時,它包含在終端上發現的活動IP和MAC地址的清單。PSN使用此資料在本地快取中查詢此終端的會話。
如果PSN的終端有一個過時的或虛擬會話,這可能導致客戶端上稍後顯示的錯誤狀態狀態。
當代理獲得探測4的多個應答時(ConnectionData.xml可以包含多個主PSN),將始終使用最快的應答。
階段2發現:
所有階段2發現探測都無重定向,這意味著每個探測都會觸發目標PSN上的會話查詢。
如果PSN在本地會話快取中找不到會話,則必須執行MNT查詢(僅基於MAC地址)以查詢會話所有者並向代理返回所有者名稱。
由於所有探測都會觸發會話查詢,因此由於會話過時或虛擬會話,階段2的發現會受到更大影響。
如果PSN進入第2階段,會話快取中存在的發現探測將為同一終端建立過時或虛擬條目。這會導致終端使用者返回錯誤的終端安全評估狀態。
該示例顯示了當PSN保留過時的會話或幻像會話時安全評估是如何發生的:
注意:僅當所有基於重定向的發現探測失敗或實施非重定向安全評估時,才會顯示此問題。
1.ISE終端安全評估模組發出的任何Find my session probe。
2. PSN在會話快取中執行會話查詢。如果要找到該會話,則會出現失效或幻像會話問題。
3. PSN運行客戶端調配策略選擇。如果虛擬會話缺少身份驗證/授權屬性且客戶配置的所有策略都非常具體(例如,為特定Active Directory組建立策略),則PSN無法分配正確的客戶端調配策略。這可能顯示在錯誤消息「Bypassing AnyConnect scan your network is configured to use Cisco NAC Agent」中。
4. 對於虛擬會話場景,ISE終端安全評估模組繼續初始終端安全評估請求。此請求包含有關終端上檢測到的所有安全和修補程式管理產品的資訊。
5. PSN使用來自請求和會話屬性的資訊來匹配正確的狀態策略。由於虛擬會話此時缺少屬性,因此沒有要匹配的策略。在這種情況下,PSN會應答其相容的終端。這是安全評估策略不匹配情況下的預設ISE行為。
註:如果可從虛擬在製品會話屬性中選擇某個常規策略,則繼續步驟6。
6. PSN將選定的狀態策略返回給代理。
注意:當無法選擇任何策略時,PSN將返回相容狀態。
7. 代理程式會將每個政策/需求的狀態傳回「透過」或「失敗」。
8. 對ISE進行報告評估,會話狀態更改為相容。
注意:如果出現由虛擬會話引起的終端安全評估問題,ISE管理員可能會注意到某些失敗的終端安全評估COA。在這種情況下,會從錯誤的PSN和錯誤的會話ID執行COA請求。
ISE終端安全評估模組旨在監控終端上有限數量的事件以觸發發現流程。
觸發發現的事件:
ISE終端安全評估模組未檢測到新的dot1x身份驗證、PC解鎖和IP地址更改。
在以下情況下,ISE終端安全評估模組無法檢測新的身份驗證或重新身份驗證嘗試:
此圖說明由原始PSN中斷引起的不同PSN上的重新身份驗證示例。具有負載平衡器的方案看起來非常相似。
在負載均衡器的情況下,作為粘滯計時器過期的結果,將重新認證定向到不同的PSN。
1. PSN1上的初始身份驗證
2. 階段作業ABC建立於PSN1階段作業快取中。
3. 使用PSN1執行狀態評估。
4. 作業階段ABS安全評估狀態會移至「合規」。
5. COA由狀態更改觸發,導致終端重新身份驗證以應用下一個訪問級別。
6. PSN1變為不可用。
7. 會話ABC的重新身份驗證訪問PSN2。
8. 由於這是PSN2的新會話,因此會話的狀態狀態變為掛起。
初始狀態狀態由PSN分配給會話:
註:State-machine僅描述初始狀態選擇。最初標籤為Unknown的每個會話稍後會根據ISE終端安全評估模組收到的報告評估變為合規或不合規。
這種情況可能發生在兩種最常見的情景中:
新的作業階段ID可以在某些其他角落案例中產生。例如,在某些情況下,無線漫遊可能是其原因。
這裡的主要問題是,除非配置了狀態租用,否則ISE PSN總是將新會話置於狀態掛起狀態。安全評估租期將在本文檔後面部分進行介紹。
確定AnyConnect在重定向狀態時是否顯示合規是由過時/幻像會話導致的。當終端處於有問題的狀態時,我們需要獲取對終端的訪問許可權。
1. 按一下AnyConnect使用者介面中的齒輪圖示
2. 在新視窗中,切換作業選項至系統掃描>統計資料
在此,請注意以下兩個要素:
此演示顯示問題辨識所需步驟的記錄:
上一個範例可區分過時或虛擬工作階段的問題與未啟動的探索程式問題。
同時,我們需要確定觸發問題的實際會話,以便更好地瞭解它到底如何變成陳舊或幻像會話問題。
雖然在某些情況下,無法避免過時的和虛擬會話,但我們需要確保實施最佳實踐,以便不會在環境中建立過時的和虛擬會話。
分析從重現問題的終端獲取的DART捆綁包。
為此,需要以管理員身份啟動DART捆綁包實用程式並執行日誌清除。
收集DART捆綁包後,將其取消存檔並重點關注位於Cisco AnyConnect ISE終端安全評估模組資料夾中的AnyConnect_ISEPosture.txt檔案。此檔案包含所有探索相關的事件。
1. 開始故障排除,並確定發現重啟的所有時刻。要搜尋的關鍵字是重新啟動發現或HTTP發現。 在這裡,導航到發生問題的時刻發生發現重啟的行:
2. 在發現重新啟動後的幾行中,有一行包含-探測沒有MNT階段目標。這是階段1探索開始的指標:
建議以不同顏色突出顯示所有具有相同顏色和以前從ConnectionData.xml(身份驗證狀態目標)連線的基於重定向的探測。
通常PSN FQDN非常相似,很難發現差異。
3. 讀取記錄檔,檢視每一次探測的結果。下面是失敗的探測的示例:
4. 針對階段1或階段2,在發現重新啟動後的檔案中,您會看到一或多個PSN成功回覆:
5. 在若干行之後,會出現一個關鍵字為MSG_NS_SWISS_NEW_SESSION的行。
此行包含PSN作為會話查詢的結果而選擇的實際會話ID。
使用此會話ID對ISE進行進一步調查,以確定此會話如何變成陳舊/虛線:
在clientwebapp元件啟用到DEBUG的guest.log中,可以看到使用過時/幻像會話應答的PSN。
PSN從ISE終端安全評估代理獲取請求。這是來自AnyConnect的請求,因為User-Agent值為:
cisco.cpm.client.posture.PostureStatusServlet -::- Got http request from 192.168.255.228 user agent is: Mozilla/4.0 (compatible; WINDOWS; 1.2.1.6.1.48; AnyConnect Posture Agent v.4.6.03049)
cisco.cpm.client.posture.PostureStatusServlet -::- mac_list from http request ==> C0:4A:00:1F:6B:39
cisco.cpm.client.posture.PostureStatusServlet -::- iplist from http request ==> 192.168.255.228
cisco.cpm.client.posture.PostureStatusServlet -::- Session id from http request - req.getParameter(sessionId) ==> null
請求包含IP地址和MAC地址的陣列。在此特定範例中,每個陣列只保留一個值。
日誌顯示來自請求的會話ID為空,表明這是來自非基於重定向的探測的請求。
稍後您可以看到陣列中的值如何用來尋找階段作業ID:
cpm.client.provisioning.utils.ProvisioningUtil -::- the input ipAddress from the list currently processed in the for loop ==> 192.168.255.228
cpm.client.provisioning.utils.ProvisioningUtil -::- the ipAddress that matched the http request remote address ==> 192.168.255.228
cpm.client.provisioning.utils.ProvisioningUtil -::- the clientMac from the macarray list for the for loop index matching the ipAddress list index ==> C0-4A-00-1F-6B-39
cisco.cpm.client.posture.PostureStatusServlet -::- Found Client IP matching the remote IP 192.168.255.228, corresponding mac address C0-4A-00-1F-6B-39
cpm.client.provisioning.utils.ProvisioningUtil -::- Session = 0a3e949c000000495c216240
在包含關鍵字Sent http response的行之後,您可以看到實際回覆的內容:
cisco.cpm.client.posture.PostureStatusServlet -::- Sent an http response to 192.168.255.228 with X-ISE-PDP=clemea19-ise1.demo.local.
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-PDP value is clemea19-ise1.demo.local
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE value is /auth/perfigo_validate.jsp
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE_PORT value is 8443
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_PORT value is 8443
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-GUESTFLOW value is false
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_CONFIG_URL value is https://clemea19-ise1.demo.local:8443/auth/anyconnect?uuid=f62337c2-7f2e-4b7f-a89a-3508d761173c
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_CONFIG_URI value is /auth/anyconnect?uuid=f62337c2-7f2e-4b7f-a89a-3508d761173c
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_URL value is https://clemea19-ise1.demo.local:8443/auth/provisioning/download/066ac0d6-2df9-4a2c-a129-fabf1ace36aa
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_URI value is /auth/provisioning/download/066ac0d6-2df9-4a2c-a129-fabf1ace36aa
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-AC_PKG_VER value is 4.6.3049.0
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-STATUS_PATH value is /auth/status
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-BACKUP_SERVERS value is clemea19-ise2.demo.local
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-SessionId value is 0a3e949c000000495c216240
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-PostureDomain value is posture_domain
cpm.client.provisioning.utils.ProvisioningUtil -::- header X-ISE-POSTURE_STATUS value is Unknown
瞭解過時/幻像會話的ID後,可以檢查Radius記帳報告,以便更好地瞭解導致此會話成為過時/幻像的原因:
以下是一個報告示例,其中顯示ciscolive-ise2上如何遺留過時的會話:
此處適用的邏輯與上一期相同。唯一的區別是您需要將焦點放在「Latest Scan Start Time(最新掃描開始時間)」上。對於此類問題,上次掃描的時間戳位於過去某處。
通常,當終端使用者發現問題時,會看到某個時間之前發生的掃描。在ISE Radius Live日誌中,發現最近有問題的終端進行的身份驗證嘗試。
此演示顯示問題辨識所需步驟的記錄:
此方法與高級故障排除Stale/Phantom會話部分非常相似。 主要故障排除要素是DART捆綁調查。
在DART捆綁包中,您可以搜尋發現重新啟動(如前一個問題所示),並確認在報告問題的那一刻沒有發現重新啟動。
在ISE方面,請重點檢視Radius Live Logs/ Radius身份驗證報告,以確認PSN之間存在故障切換或NAD已生成新的會話ID。
過去,ISE沒有可以解決本文檔中描述的問題的功能,因此唯一的方法是依靠在網路和ISE端實施的一組最佳實踐,將風險降至最低。
儘可能始終實施基於重定向的終端安全評估
對此建議的一個常見反擊是使用者體驗不佳;在作業系統或瀏覽器中可看到彈出窗口。這表示在後台的AnyConnect ISE終端安全評估模組執行評估流程時進行重定向。
作為此問題的解決方案,可以僅重定向ISE終端安全評估模組發現探測並選擇性地允許所有其他流量。
此範例顯示重新導向ACL,其設計為僅將HTTP要求重新導向到探索主機(此範例中為10.1.1.1)和enroll.cisco.com (172.16.1.80):
ip access-list extended REDIRECT-DH-ENROLL
permit tcp any host 10.1.1.1 eq www
permit tcp any host 172.16.1.80
deny ip any any
為了保持可接受的安全級別,此類重定向ACL可以與ISE分配的DACL結合使用。
掛起狀態只允許連線到終端經過身份驗證的PSN
此方法適用於不支援URL重定向的環境(例如,使用第三方NAD實施)。
作為解決方案,實施多個PosturePending授權策略(每個PSN一個)。每個策略都需要包含進行身份驗證的PSN名稱作為條件之一。
在分配給每個策略的授權配置檔案中,必須阻止對所有PSN的訪問,但進行身份驗證的節點除外。
為2個節點部署建立授權策略:
1. PSN1的狀態掛起策略
2. 用作策略條件的PSN1名稱。
3. 具有ACL的授權配置檔案,阻止對除PSN1外的所有PSN的訪問。
4. PSN2的狀態掛起策略。
5. 用作策略中條件的PSN2名稱。
6. 具有ACL的授權配置檔案,阻止對除PSN2外的所有PSN的訪問。
7. 狀態「相容」授權策略。
下圖說明了此方法的運作方式:
1. 身份驗證命中PSN1。
2. 由於配置了授權策略,PSN1會分配授權配置檔案,阻止對PSN1以外的所有其他節點的訪問。
3. AnyConnect ISE終端安全評估模組重新啟動發現過程。
4. 由於先前分配的ACL,NAD阻止了對PSN2的探測。
5. NAD上分配的ACL允許探測到PSN1。
負載平衡器最佳實務
Posture Over VPN使用案例
此範例顯示設定為20小時的臨時記帳更新間隔。這不會阻止初始臨時更新,該更新攜帶分配給終端的IP地址。
aaa-server ISE protocol radius
interim-accounting-update periodic 20
group-policy SSL-VPN attributes
vpn-idle-timeout 1200
vpn-session-timeout 1200
啟用狀態租用
這是ISE上的一個功能,它會在定義的時間(1-365天)內將終端標籤為相容。狀態租用值是終端屬性,這意味著它是儲存的ISE DB。
所有終端屬性(包括安全評估租用)在ISE部署中的所有節點之間複製。
當PSN收到新的終端安全評估會話時,可以利用租用立即將會話標籤為相容。
為了做出此決定,PSN使用3個值。這些值包括:
1. 在ISE設定中為狀態租賃定義的天數:導航到Administration > System > Posture > General Settings:
2. PostureExpiry屬性的值是包含Epoch時間戳的實際終端屬性。 在ISE管理員啟用終端安全評估租約後,終端首次成功進行終端安全評估嘗試時,會首先填充PostureExpiry值。
稍後,此值在租期到期後進行的下一次成功狀態嘗試時更新。
當某個姿勢終端被打開時,您可以在情景可視性>終端中看到終端安全評估到期:
此值可轉換為人類可讀的時間戳,例如,此處- https://www.epochconverter.com/
3. 進行新身份驗證時的PSN系統時間
當終端安全評估租約的身份驗證到達PSN時,它使用PostureExpiry和系統日期獲取上次成功安全評估檢查所經過的天數。
如果結果值在設定中定義的狀態租用間隔內,會話將獲得相容狀態。
如果結果值高於租用值,會話將獲得未知狀態。
這將觸發再次執行安全評估,並且可儲存新的PostureExpiry值。
此圖說明發生故障轉移時的過程:
1. PSN1發生初始身份驗證。
2. 階段作業ABC是在階段作業快取中建立的。
3. 進行狀態評估。
4. 會話狀態更改為相容
5. COA由狀態更改觸發,導致終端重新身份驗證以應用下一個訪問級別。
6. PostureExpiry值儲存在終端中。
7. 在部署中複製終端資料。
8. 下一個身份驗證命中PSN2。
9. PSN2檢查終端是否處於有效的狀態租期。
11. 會話會以相容的形式增加到會話快取中。
12. 由於有效租期,會話建立時的狀態是相容。
重新驗證實作
請始終使用RADIUS-Request從ISE推送重新身份驗證計時器,該選項在Maintain Connectivity During Reauthentication中。 此設定確保NAD在重新身份驗證時保持相同的會話ID。
.
具有負載平衡器的環境
可以實施相同的一組最佳實踐(在過時/幻像會話部分中介紹)。
不同的子網可用於掛起和相容狀態
當網路設計提供使用不同子網Pending和Compliant狀態時,此方法可確保每次狀態更改都會導致預設網關更改。
在重新身份驗證計時器的相同間隔內使用的狀態評估
可以使用等於重新身份驗證計時器的時間間隔啟用狀態評估。在這種情況下,當原始PSN變得不可用時,PRA故障將重新啟動發現過程。
ISE 2.6修補程式6包含一項新功能,可實現在ISE部署的所有節點間共用會話安全評估狀態,作為已實施的增強功能的一部分(如Cisco bug ID CSCvi35647中所述)。
此增強功能已整合到未來版本中:ISE 2.7修補2和ISE 3.0。
此新功能基於ISE 2.6中引入的輕量級會話目錄(LSD)機制。在較新的版本中,此功能已重新命名為Light Data Distribution (LDD) Radius Session Directory。 預設情況下啟用輕型資料分發,允許在ISE節點之間共用有限的會話情景。 在PSN之間不存在完整會話上下文複製,每個會話僅共用有限數量的屬性。
當部署中的一個節點必須決定目前的階段作業擁有者時,簡易階段作業目錄就不需要執行資源昂貴的API呼叫給MNT。
通常,COA流程啟動時需要查詢所有者。使用LDD,每個PSN可以從本地Radius會話目錄快取中找到會話的實際所有者。
此功能包含以下元素:
此快取存在於每個ISE節點上,並儲存ISE部署中顯示的所有活動會話。每個階段作業在快取中都有有限的屬性。
以下是每個階段作業儲存在Radius階段作業目錄中的屬性範例:
在ISE部署中的每個節點上都形成了發佈者、相關隊列和使用者的交換。這可以確保在所有ISE節點之間形成全網狀拓撲。
Radius會話目錄在此處表示發佈者。當PSN處理新的成功身份驗證時,會在PSN會話快取中建立一個新會話。
對於此作業階段,會將有限的一組屬性置於Radius作業階段目錄中。
注意:一般RabbitMQ術語和架構不在本文檔的討論範圍之內。
圖中解釋了COA流如何與RSD快取配合使用:
1. PSN1發生初始身份驗證。
2. 階段作業ABC是在階段作業快取中建立的。
3. 必要的屬性會儲存至RSD中。
4. 透過RabbitMQ與所有其他ISE節點共用會話。
5. 在所有ISE節點的RSD快取中建立會話。
6. 新的配置檔案資料到達PSN2。
7. 重新整理端點,並(在需要COA執行PSN2的變更情況下)進行下一步。
8. 內部API呼叫會提交至RSD快取以執行COA。
9. 來自RSD快取的資料用於準備Proxy COA消息。它從一個ISE節點到另一個ISE節點,並包含目標節點可用於向NAD發出CAO請求的所有詳細資訊。COA消息首先在內部傳輸到PRRT運行時(ISE內的實際AAA伺服器)。
10. PSN2向PSN1傳送COA消息。
11. PSN1向NAD傳送COA消息。
要在ISE上排除透過LDD的通訊故障,請啟用Light Session Director元件進行DEBUG:
以下是來自lsd.log檔案的調試消息示例,用於在原始PSN上建立和發表會話:
DEBUG [pool-45-thread-6][] cisco.cpm.lsd.service.LSDRedisClient -::::- Mapping Session ID 0a3e9498000008e05e071990 to session {"sessionID":"0a3e9498000008e05e071990","endpointMAC":"C0-4A-00-1F-6B-39","callingStationId":"c0-4a-00-1f-6b-39","ipv6AdressLst":[],"psnIP":"192.168.43.26","deviceIP":"192.168.255.102","destinationIP":"192.168.43.26","nasIP":"192.168.255.102","auditSessionID":"0a3e9498000008e05e071990","acctSessionID":"5e07197b/c0:4a:00:1f:6b:39/2299","timeStamp":1577523495,"status":"Started","id":"614f6c44-6c78-4289-b9fd-b352ff012ca4"}
DEBUG [PrRTEvents-Executor-2][] cisco.cpm.lsd.service.LSDNetAccessEventListener -::::- Publishing session update for session 0a3e9498000008e05e071990
DEBUG [PrRTEvents-Executor-2][] cisco.cpm.lsd.service.SessionPublisher -::::- Forwarding session 07a26b4b-ea13-438b-99b5-0bbadc9d8bac to batch manager
在所有其他ISE節點上,您會看到會話的使用方式:
[pool-35-thread-38][] cisco.cpm.lsd.service.SessionConsumer -::::- Consumer is processing : sessionID:[0a3e9498000008e05e071990] status:[Started] id:[614f6c44-6c78-4289-b9fd-b352ff012ca4] auditSessionID:[0a3e9498000008e05e071990] accountingSessionID:[5e07197b/c0:4a:00:1f:6b:39/2299] endpointMAC:[C0-4A-00-1F-6B-39] callingStationId: [c0-4a-00-1f-6b-39] endpointIP:[null], IPv6 : [[]], psnIP:[192.168.43.26] deviceIP:[192.168.255.102] destinationIP:[192.168.43.26] nasIP:[192.168.255.102] nasIPv6:[null] timeStamp:[1577523495]
狀態狀態共用可解決以下問題:根本原因是在不同PSN上處於過時/幻像會話或重新身份驗證狀態,這不會觸發發現重新啟動。
一旦會話變為相容,此資訊就會放入會話RSD中,以後可以由部署中的每個PSN使用。
還有一些其它角的情況是所述特徵無法解決的。例如,當NAD在相同PSN上使用不同的會話ID運行重新身份驗證時,會出現這樣的情況。
這些情況可以透過本文檔中介紹的最佳做法來處理。
下圖展示了用於測試狀態共用狀態的拓撲:
要建立過時的會話,最初必須在skuchere-ise26-1上執行身份驗證。然後,必須重新配置NAD以將記帳傳送到skuchere-ise26-3。
在將一條記帳消息轉發到錯誤的PSN之後,必須重新配置NAD(再次)以將記帳傳送回skuchere-ise26-1。
圖中顯示了一個記帳報告,它證明了在skuchere-ise26-3上存在虛擬會話:
1. skuchere-ise26-1處理的Accounting-Start消息。
2. 臨時會計-由skuchere-ise處理的同一會話的更新26-3。
3. 會議稍後在skuchere-ise26-1結束。
一段時間後,終端再次連線到網路,但重定向不再有效。在PSN的guest.log中- skuchere-ise26-3,您可以看到以下日誌消息,其中client-webapp元件已啟用到DEBUG:
2020-04-08 13:30:48,217 DEBUG [https-jsse-nio-192.168.43.226-8443-exec-4][] cisco.cpm.client.posture.Util -::- Local session 0A3E946C0000007D5B679296 is stale. Newer session for 00-50-56-B6-0B-C6 is 0A3E946C000000805B7C43A3. Owned by skuchere-ise26-1.example.com
當PSN檢測到它保持終端過時/幻像會話時,它不會回覆ISE終端安全評估模組,這使我們能夠從進行最新身份驗證的PSN獲得正確答案。
作為會話查詢時過時/幻像會話問題的解決方案,PSN會檢查終端在RSD中是否存在任何新會話。
如果RSD包含的會話ID與本地會話快取中的PSN不同,則它會假設會話(顯示在會話快取中)已過時。
要再現此場景,在分配給合規狀態終端的授權配置檔案中,啟用了一個短重新身份驗證計時器。
之後,重新配置NAD,將身份驗證和記帳傳送到另一個PSN (skuchere-ise26-3)。
當重新驗證計時器到期時,相同的作業階段會在不同的PSN上取消驗證。
圖中顯示身份驗證報告,其中顯示從skuchere-ise26-1到skuchere-ise26-3的同一會話的故障轉移:
1. 在skuchere-ise26-1上進行身份驗證,分配具有重定向的授權配置檔案。
2. 狀態評估成功後的COA。
3. 分配符合狀態的授權配置檔案後進行下一次身份驗證。
4. 身份驗證點選不同的PSN,但它仍然獲取合規狀態的授權配置檔案。
在將epm-pip和nsf-session元件啟用到DEBUG的情況下,在ise-psc.log中進行故障切換後,新PSN上的會話處於相容狀態:
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Looking up session 0A3E946C000000896011D045 for attribute Session Session.PostureStatus
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.api.ExecutionContext -::::- Execution context has session id 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.PIPManager -::::- Returning a PIP com.cisco.cpm.nsf.session.impl.SessionPIP for type SESSION and flow null
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.api.ExecutionContext -::::- Execution context has session id 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Looking up session 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [SessionLifecycleNotifier][] cpm.nsf.session.internal.LRUAgingAlogrithm -::::- Accessed session 0A3E946C000000896011D045
2020-04-09 11:06:42,176 DEBUG [Thread-7979][] cpm.nsf.session.impl.SessionCache -::::- Returning for session 0A3E946C000000896011D045 data Attrs: {SavedUserNames=[bob@example.com], Acs.LastStepTime=1586423202174, Acs.AD-User-Qualified-Name=bob@example.com, Acs.AD-User-Resolved-DNs=CN=bob,CN=Users,DC=example,DC=com, Acs.StepData=[110=EXAMPLE, 111=bob@example.com, 112=example.com, 113=example.com, 115=example.com, 116=EXAMPLE], Acs.AD-Log-Id=[1585911138/4778, 1585911138/4779], __IntIdGrps__=[Ljava.lang.String;@6d3c29b5, IdentityGroup.Description=[Ljava.lang.String;@3fca88fb, EXAMPLE.ExternalGroups=S-1-5-21-875452798-754861120-3039794717-513, Acs.AD-Groups-Names=example.com/Users/Domain Users, Acs.AuthenCPMSessionID=0A3E946C000000896011D045, Acs.IsMachineAuthentication=false, InternalEndpoint.IdentityGroup=[Ljava.lang.String;@6daf4c5, IDStoreUserQueryCache=[EXAMPLE#bob@example.com], Acs.CurrentIDStoreName=EXAMPLE, Acs.AD-User-Join-Point=EXAMPLE.COM, Acs.Step=[24432, 24325, 24313, 24319, 24323, 24355, 24416], Acs.CustomerMessageDuplicator=, Network Access.WasMachineAuthenticated=false, IdentityGroup.Name=[Ljava.lang.String;@570ab37a, Acs.StepDataStart=110, Acs.AD-User-DNS-Domain=example.com, Network Access.AuthenticationMethod=4, Acs.AD-User-Resolved-Identities=bob@example.com, InternalUser.IdentityGroup=[Ljava.lang.String;@51a6caed, Acs.AuthenticationMethod=4, Acs.AD-User-NetBios-Name=EXAMPLE, Normalised Radius.RadiusFlowType=0, Network Access.AuthenticationIdentityStore=EXAMPLE, EXAMPLE.IdentityAccessRestricted=false, Acs.AD-User-SamAccount-Name=bob}
IndexValues: {}
2020-04-09 11:06:42,177 DEBUG [Thread-7979][] cisco.cpm.posture.pip.PostureStatusPIP -::::- set postureStatus based on posture LSD dictionary: Compliant
2020-04-09 11:06:42,177 DEBUG [Thread-7979][] cisco.cpm.posture.pip.PostureStatusPIP -::::- PostureStatusPIP for mac 00-50-56-B6-0B-C6 - Attribute Session.PostureStatus value is Compliant
透過在狀態選擇過程中增加額外的邏輯,解決了原始問題。
此圖顯示變更的內容(變更以紅色反白):
修訂 | 發佈日期 | 意見 |
---|---|---|
2.0 |
31-May-2023 |
重新認證 |
1.0 |
22-Apr-2020 |
初始版本 |