이 문서에서는 Cisco ASA(Secure Adaptive Security Appliance) 및 Cisco Catalyst 3750X Series 스위치(3750X)에서 Cisco TrustSec(CTS)을 구성하는 방법에 대해 설명합니다.
SGT(Security Group Tag)와 IP 주소 간의 매핑을 학습하기 위해 ASA는 SXP(SGT Exchange Protocol)를 사용합니다. 그런 다음 SGT 기반의 ACL(Access Control List)을 사용하여 트래픽을 필터링합니다. 3750X는 Cisco ISE(Identity Services Engine)에서 RBACL(Role-Based Access Control List) 정책을 다운로드하고 이를 기반으로 트래픽을 필터링합니다. 이 문서에서는 통신 작동 방식과 예상 디버그를 설명하기 위해 패킷 레벨에 대해 자세히 설명합니다.
Cisco에서는 다음 항목에 대한 기본 지식을 갖춘 것을 권장합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
다음은 트래픽 흐름입니다.
인증에 성공하면 ISE는 SGT를 반환하며 3750X는 해당 태그를 인증 세션에 바인딩합니다. 또한 스위치는 ip device tracking 명령을 사용하여 두 스테이션의 IP 주소를 학습합니다. 그런 다음 스위치는 SXP를 사용하여 SGT와 IP 주소 간의 매핑 테이블을 ASA에 전송합니다. 두 MS Windows PC에는 모두 ASA를 가리키는 기본 라우팅이 있습니다.
ASA는 SGT에 매핑된 IP 주소에서 트래픽을 수신한 후, SGT를 기반으로 ACL을 사용할 수 있습니다. 또한 3750X를 라우터(두 MS Windows 스테이션의 기본 게이트웨이)로 사용할 경우 ISE에서 다운로드한 정책을 기반으로 트래픽을 필터링할 수 있습니다.
컨피그레이션 및 확인을 위한 단계는 다음과 같습니다. 각 단계는 이 문서의 뒷부분에 자세히 설명되어 있습니다.
이는 802.1x 또는 MAB에 대한 일반적인 컨피그레이션입니다. RADIUS CoA(Change of Authorization)는 ISE의 활성 알림을 사용하는 경우에만 필요합니다.
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa authorization network ise group radius
aaa accounting dot1x default start-stop group radius
!Radius COA
aaa server radius dynamic-author
client 10.48.66.129 server-key cisco
server-key cisco
ip device tracking
interface GigabitEthernet1/0/1
description windowsxp
switchport mode access
authentication order mab dot1x
authentication port-control auto
mab
dot1x pae authenticator
spanning-tree portfast
!
interface GigabitEthernet1/0/2
description windows7
switchport mode access
authentication order mab dot1x
authentication port-control auto
mab
dot1x pae authenticator
spanning-tree portfast
radius-server host 10.48.66.129 pac key cisco
radius-server host 10.48.66.129 auth-port 1812
radius-server vsa send accounting
radius-server vsa send authentication
ISE에는 Administration(관리) > Network Devices(네트워크 디바이스)에서 두 네트워크 디바이스가 모두 구성되어 있어야 합니다.
MAB 인증을 사용하는 MS Windows 7의 경우 Administration(관리) > Identity Management(ID 관리) > Identities(ID) > Endpoints(엔드포인트) 아래에서 엔드포인트 ID(MAC 주소)를 만들어야 합니다.
802.1x 인증을 사용하는 MS Windows XP의 경우 Administration(관리) > Identity Management(ID 관리) > Identities(ID) > Users(사용자) 아래에서 사용자 ID(사용자 이름)를 만들어야 합니다.
사용자 이름 cisco가 사용됩니다. 이 자격 증명으로 EAP-PEAP(Extensible Authentication Protocol-Protected EAP)에 대해 MS Windows XP를 구성합니다.
ISE에서는 기본 인증 정책이 사용됩니다(이 변경 안 함). 첫 번째는 MAB 인증을 위한 정책이고, 두 번째는 802.1x입니다.
권한 부여 정책을 구성하려면 Policy(정책) > Results(결과) > Authorization(권한 부여) > Authorization Profiles(권한 부여 프로파일)에서 권한 부여 프로파일을 정의해야 합니다. 모든 트래픽을 허용하는 DACL(Downloadable ACL)이 있는 VLAN10-Profile은 MS Windows 7 프로필에 사용됩니다.
유사한 컨피그레이션 VLAN20-Profile이 MS Windows XP에서 사용되지만 VLAN 번호(20)는 예외입니다.
ISE에서 SGT 그룹(태그)을 구성하려면 Policy(정책) > Results(결과) > Security Group Access(보안 그룹 액세스) > Security Groups(보안 그룹)로 이동합니다.
ICMP(Internet Control Message Protocol) 트래픽을 허용하는 SGACL을 생성하려면 Policy(정책) > Results(결과) > Security Group Access(보안 그룹 액세스) > Security Group ACLs(보안 그룹 ACL)로 이동합니다.
정책을 생성하려면 Policy(정책) > Security Group Access(보안 그룹 액세스) > Egress Policy(이그레스 정책)로 이동합니다. VLAN10과 알 수 없는 VLAN 또는 VLAN10 또는 VLAN20 간의 트래픽에는 ICMP ACL이 사용됩니다(허용 icmp).
권한 부여 규칙을 설정하려면 Policy > Authorization으로 이동합니다. MS Windows 7(특정 MAC 주소)의 경우 VLAN10-Profile이 사용되며, VLAN10 및 DACL을 반환하고 SGT가 VLAN10인 보안 프로필 VLAN10을 반환합니다. MS Windows XP(특정 사용자 이름)의 경우 VLAN20-Profile이 사용되며 VLAN 20 및 DACL을 반환하고 SGT가 VLAN20인 보안 프로필 VLAN20이 반환됩니다.
스위치 및 ASA 컨피그레이션을 완료하여 SGT RADIUS 특성을 수락합니다.
기본 CTS 설정을 구성해야 합니다. 3750X에서 어떤 서버 정책을 다운로드해야 하는지를 나타내야 합니다.
aaa authorization network ise group radius
cts authorization list ise
ASA에서는 해당 서버를 가리키는 CTS와 함께 AAA 서버만 필요합니다.
aaa-server ISE protocol radius
aaa-server ISE (mgmt) host 10.48.66.129
key *****
cts server-group ISE
CTS 클라우드의 각 디바이스는 다른 디바이스에서 신뢰하기 위해 ISE(인증 서버)에 인증해야 합니다. 이를 위해 EAP-FAST(Extensible Authentication Protocol-Flexible Authentication via Secure Protocol) 방법(RFC 4851)을 사용합니다. 이 방법을 사용하려면 PAC를 대역 외로 제공해야 합니다. 이 프로세스는 phase0이라고도 하며, 어떤 RFC에도 정의되어 있지 않습니다. EAP-FAST용 PAC는 EAP-TLS(Extensible Authentication Protocol-Transport Layer Security)용 인증서와 유사한 역할을 합니다. PAC는 2단계에서 인증에 필요한 보안 터널(phase1)을 설정하기 위해 사용됩니다.
3750X에서 PAC 프로비저닝
3750X는 자동 PAC 프로비저닝을 지원합니다. 공유 비밀번호는 스위치 및 ISE에서 PAC를 다운로드하기 위해 사용됩니다. 해당 비밀번호와 ID는 ISE의 Administration(관리) > Network Resources(네트워크 리소스) > Network Devices(네트워크 디바이스) 아래에서 구성해야 합니다. 스위치를 선택하고 Advanced TrustSec Settings(고급 TrustSec 설정) 섹션을 확장하여 다음을 구성합니다.
PAC에서 이러한 자격 증명을 사용하도록 하려면 다음 명령을 입력합니다.
bsns-3750-5#cts credentials id 3750X password ciscocisco
bsns-3750-5#show cts pacs
AID: C40A15A339286CEAC28A50DBBAC59784
PAC-Info:
PAC-type = Cisco Trustsec
AID: C40A15A339286CEAC28A50DBBAC59784
I-ID: 3750X
A-ID-Info: Identity Services Engine
Credential Lifetime: 08:04:40 UTC Sep 25 2013
PAC-Opaque: 000200B00003000100040010C40A15A339286CEAC28A50DBBAC59784000600940003
010094F559DAE0C837D7847F2454CAD7E80B0000001351C8235900093A803D7D427BFB5C6F0FBBDF
7EDF0818C58FECF97F8BDECF1B115FB0240260ADA8C96A46AA2A64C9EA2DB51E0E886768CA2D133D
2468D9D33339204BAA7E4CA2DE8E37FF1EB5BCB343408E9847998E301C26DDC6F91711F631A5B4C7
C2CB09EAB028630A3B22901FE3EF44F66FD019D09D2C46D92283
Refresh timer is set for 2y24w
ASA의 PAC 프로비저닝
ASA는 수동 PAC 프로비저닝만 지원합니다. 즉 ISE에서(네트워크 디바이스/ASA에서) 수동으로 생성해야 합니다.
그런 다음 파일을 설치해야 합니다(예: FTP).
bsns-asa5510-17(config)# cts import-pac ftp://ftp:ftp@10.147.25.80/ASA.pac
password ciscocisco
!PAC Imported Successfully
bsns-asa5510-17(config)# show cts pac
PAC-Info:
Valid until: Jul 04 2014 13:33:02
AID: c40a15a339286ceac28a50dbbac59784
I-ID: ASA
A-ID-Info: Identity Services Engine
PAC-type: Cisco Trustsec
PAC-Opaque:
000200a80003000100040010c40a15a339286ceac28a50dbbac597840006008c000301
0003d64668f2badc76e251683394b3d5690000001351d15dd900093a8044df74b2b71f
e667d7b908db7aeea3229e61462bdb70f46580bef9425011126bbf6c2f4212ccdacf08
c01ddbc7608c3a1ddeb996ba9bfbd1b207281e3edc9ff61b9e800f225dc3f82bd5f794
7e0a86bee8a3d437af93f54e61858bac877c58d3fe0ec6be54b4c75fad23e1fd
이 단계에서 두 디바이스 모두 PAC가 올바르게 설치되어 있고 자동으로 ISE 환경 데이터 다운로드가 시작됩니다. 이 데이터는 기본적으로 태그 번호와 이름입니다. ASA에서 환경 새로고침을 트리거하려면 다음 명령을 입력합니다.
bsns-asa5510-17# cts refresh environment-data
ASA에서 이를 확인하려면(안타깝게도 특정 SGT 태그/이름을 볼 수 없지만 나중에 확인됨) 다음 명령을 입력합니다.
bsns-asa5510-17(config)# show cts environment-data
CTS Environment Data
====================
Status: Active
Last download attempt: Successful
Environment Data Lifetime: 86400 secs
Last update time: 05:05:16 UTC Apr 14 2007
Env-data expires in: 0:23:56:15 (dd:hr:mm:sec)
Env-data refreshes in: 0:23:46:15 (dd:hr:mm:sec)
3750X에서 확인하려면 다음 명령으로 환경 새로고침을 트리거합니다.
bsns-3750-5#cts refresh environment-data
결과를 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show cts environment-data
CTS Environment Data
====================
Current state = COMPLETE
Last status = Successful
Local Device SGT:
SGT tag = 0-01:Unknown
Server List Info:
Installed list: CTSServerList1-0001, 1 server(s):
*Server: 10.48.66.129, port 1812, A-ID C40A15A339286CEAC28A50DBBAC59784
Status = ALIVE flag(0x11)
auto-test = TRUE, keywrap-enable = FALSE, idle-time = 60 mins,
deadtime = 20 secs
Security Group Name Table:
0001-60 :
0-47:Unknown
2-47:VLAN10
3-47:VLAN20
4-47:VLAN100
Transport type = CTS_TRANSPORT_IP_UDP
Environment Data Lifetime = 86400 secs
Last update time = 05:33:49 UTC Thu Apr 7 2011
Env-data expires in 0:16:46:50 (dd:hr:mm:sec)
Env-data refreshes in 0:16:46:50 (dd:hr:mm:sec)
Cache data applied = NONE
State Machine is running
이는 모든 태그와 해당 이름이 올바르게 다운로드되었음을 보여줍니다.
3750X에 환경 데이터가 있으면 SGT가 인증된 세션에 적용되었는지 확인해야 합니다.
MS Windows 7이 올바르게 인증되었는지 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show authentication sessions interface g1/0/2
Interface: GigabitEthernet1/0/2
MAC Address: 0050.5699.4eb2
IP Address: 192.168.1.200
User-Name: 00-50-56-99-4E-B2
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: single-host
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: 10
ACS ACL: xACSACLx-IP-PERMIT_ALL_TRAFFIC-51134bb2
SGT: 0002-0
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A80001000001002B67334C
Acct Session ID: 0x00000179
Handle: 0x94000101
Runnable methods list:
Method State
mab Authc Success
dot1x Not run
이 출력은 VLAN10이 모든 트래픽을 허용하는 SGT 0002 및 DACL과 함께 사용됨을 보여줍니다.
MS Windows XP가 올바르게 인증되었는지 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#sh authentication sessions interface g1/0/1
Interface: GigabitEthernet1/0/1
MAC Address: 0050.5699.4ea1
IP Address: 192.168.2.200
User-Name: cisco
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: 20
ACS ACL: xACSACLx-IP-PERMIT_ALL_TRAFFIC-51134bb2
SGT: 0003-0
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A80001000000FE2B67334C
Acct Session ID: 0x00000177
Handle: 0x540000FF
Runnable methods list:
Method State
dot1x Authc Success
mab Not run
출력에 VLAN 20이 모든 트래픽을 허용하는 SGT 0003 및 DACL과 함께 사용되는 것으로 표시됩니다
IP 주소는 IP 디바이스 추적 기능으로 탐지됩니다. DHCP 스누핑을 위해 DHCP 스위치를 구성해야 합니다. 그런 다음 스누핑 DHCP 응답 후 클라이언트의 IP 주소를 학습합니다. 이 예와 같이 정적으로 구성된 IP 주소의 경우 arp 스누핑 기능이 사용되며, PC는 스위치가 IP 주소를 탐지할 수 있도록 모든 패킷을 전송해야 합니다.
디바이스 추적의 경우 포트에서 활성화하려면 숨겨진 명령이 필요할 수 있습니다.
bsns-3750-5#ip device tracking interface g1/0/1
bsns-3750-5#ip device tracking interface g1/0/2
bsns-3750-5#show ip device tracking all
IP Device Tracking = Enabled
IP Device Tracking Probe Count = 3
IP Device Tracking Probe Interval = 30
IP Device Tracking Probe Delay Interval = 0
-----------------------------------------------------------------------
IP Address MAC Address Vlan Interface STATE
-----------------------------------------------------------------------
192.168.1.200 0050.5699.4eb2 10 GigabitEthernet1/0/2 ACTIVE
192.168.2.200 0050.5699.4ea1 20 GigabitEthernet1/0/1 ACTIVE
Total number interfaces enabled: 2
Enabled interfaces:
Gi1/0/1, Gi1/0/2
3750X(ASA와 다름)는 ISE에서 정책을 다운로드할 수 있습니다. 정책을 다운로드하고 시행하기 전에 다음 명령으로 활성화해야 합니다.
bsns-3750-5(config)#cts role-based enforcement
bsns-3750-5(config)#cts role-based enforcement vlan-list 1-1005,1007-4094
정책을 활성화하지 않으면 정책은 다운로드되지만 설치되지 않으며 시행에 사용되지 않습니다.
정책 새로 고침을 트리거하려면 다음 명령을 입력합니다.
bsns-3750-5#cts refresh policy
Policy refresh in progress
정책이 ISE에서 다운로드되었는지 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show cts role-based permissions
IPv4 Role-based permissions default:
Permit IP-00
IPv4 Role-based permissions from group 2:VLAN10 to group Unknown:
ICMP-20
IPv4 Role-based permissions from group 2:VLAN10 to group 2:VLAN10:
ICMP-20
IPv4 Role-based permissions from group 2:VLAN10 to group 3:VLAN20:
ICMP-20
Deny IP-00
출력은 정책의 필요한 부분만 다운로드됨을 보여줍니다.
CTS 클라우드에서 패킷은 소스 호스트의 SGT를 포함하고 대상 디바이스에서 시행됩니다. 즉, 패킷이 소스에서 목적지 호스트에 직접 연결된 마지막 디바이스로 전달됩니다. 이 디바이스는 직접 연결된 호스트의 SGT를 알고, 소스 SGT가 있는 수신 패킷이 특정 대상 SGT에 대해 허용되거나 거부되어야 하는지 알기 때문에 시행 지점입니다.
이 결정은 ISE에서 다운로드한 정책을 기반으로 합니다.
이 시나리오에서는 모든 정책이 다운로드됩니다. 그러나 MS Windows XP 인증 세션(SGT=VLAN20)을 지우면 스위치에 연결된 SGT에서 더 이상 디바이스가 없기 때문에 스위치에서 VLAN20에 해당하는 정책(행)을 다운로드할 필요가 없습니다.
고급(트러블슈팅) 섹션에서는 3750X에서 패킷 레벨 검사와 함께 어떤 정책을 다운로드할지 결정하는 방법에 대해 설명합니다.
ASA는 SGT를 지원하지 않습니다. SGT가 포함된 모든 프레임은 ASA에서 삭제됩니다. 따라서 3750X는 ASA에 SGT 태그가 지정된 프레임을 전송할 수 없습니다. 대신 SXP가 사용됩니다. 이 프로토콜을 사용하면 ASA가 스위치로부터 IP 주소와 SGT 간의 매핑에 대한 정보를 받을 수 있습니다. 이 정보를 통해 ASA는 IP 주소를 SGT에 매핑하고 SGACL을 기반으로 결정을 내릴 수 있습니다.
3750X를 스피커로 구성하려면 다음 명령을 입력합니다.
cts sxp enable
cts sxp default source-ip 192.168.1.10
cts sxp default password cisco
cts sxp connection peer 192.168.1.1 password default mode local
ASA를 리스너로 구성하려면 다음 명령을 입력합니다.
cts sxp enable
cts sxp default password *****
cts sxp default source-ip 192.168.1.1
cts sxp connection peer 192.168.1.10 password default mode local listener
ASA에서 매핑을 수신했는지 확인하려면 다음 명령을 입력합니다.
bsns-asa5510-17# show cts sxp sgt-map ipv4 detail
Total number of IP-SGT mappings : 2
Total number of IP-SGT mappings shown: 2
SGT : 2:VLAN10
IPv4 : 192.168.1.200
Peer IP : 192.168.1.10
Ins Num : 1
Status : Active
Seq Num : 49
SGT : 3:VLAN20
IPv4 : 192.168.2.200
Peer IP : 192.168.1.10
Ins Num : 1
Status : Active
Seq Num : 39
이제 ASA가 소스 IP 주소 192.168.1.200의 수신 패킷을 수신하면 SGT=2에서 오는 것처럼 처리할 수 있습니다. 소스 IP 주소 192.168.200.2의 경우 SGT =3에서 온 것처럼 처리할 수 있습니다. 대상 IP 주소도 마찬가지입니다.
다음은 ASA 컨피그레이션에 대한 검사입니다.
interface Ethernet0/0
nameif outside
security-level 0
ip address 192.168.1.1 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.2.1 255.255.255.0
ACL이 생성되어 내부 인터페이스에 적용됩니다. SGT=3에서 SGT=2로의 모든 ICMP 트래픽(VLAN10)을 허용합니다.
access-list inside extended permit icmp security-group tag 3 any security-group
name VLAN10 any
access-group inside in interface inside
소스 IP 주소가 192.168.2.200(SGT=3)인 MS Windows XP에서 IP 주소가 192.168.1.200(SGT=2)인 MS Windows 7로 ping하는 경우 ASA는 연결을 구축합니다.
%ASA-6-302020: Built outbound ICMP connection for faddr 192.168.1.200/0
(2:VLAN10) gaddr 192.168.2.200/512 laddr 192.168.2.200/512(3:VLAN20)
텔넷으로 동일한 작업을 시도하면 트래픽이 차단됩니다.
Deny tcp src inside:192.168.2.200/2478(3:VLAN20) dst outside:192.168.1.200/23
(2:VLAN10) by access-group "inside"
ASA에는 더 많은 컨피그레이션 옵션이 있습니다. 소스와 대상 모두에 보안 태그와 IP 주소를 모두 사용할 수 있습니다. 이 규칙은 SGT 태그 = 3 및 IP 주소 192.168.2.200에서 VLAN10이라는 SGT 태그 및 대상 호스트 주소 192.168.1.200으로 ICMP 에코 트래픽을 허용합니다.
access-list inside extended permit icmp security-group tag 3 host 192.168.2.200
security-group name VLAN10 host 192.168.1.200 echo
객체 그룹에서도 이 작업을 수행할 수 있습니다.
object-group security SGT-VLAN-10
security-group name VLAN10
object-group security SGT-VLAN-20
security-group tag 3
object-group network host1
network-object host 192.168.1.200
object-group network host2
network-object host 192.168.2.200
object-group service my-icmp-echo
service-object icmp echo
access-list inside extended permit object-group my-icmp-echo
object-group-security SGT-VLAN-20 object-group host2 object-group-security
SGT-VLAN-10 object-group host1
스위치에서 로컬 정책을 정의할 수도 있습니다. 그러나 이 예에서는 ISE에서 다운로드한 정책을 표시합니다. ASA에 정의된 정책은 하나의 규칙에서 IP 주소와 SGT(및 Active Directory의 사용자 이름)를 모두 사용할 수 있습니다. 스위치에 정의된 정책(로컬 및 ISE에서 모두)은 SGT에 대해서만 허용합니다. 규칙에서 IP 주소를 사용해야 하는 경우 ASA에서 필터링하는 것이 좋습니다.
MS Windows XP와 MS Windows 7 간의 ICMP 트래픽을 테스트합니다. 이를 위해 ASA에서 MS Windows의 3750X로 기본 게이트웨이를 변경해야 합니다. 3750X에는 라우팅 인터페이스가 있으며 패킷을 라우팅할 수 있습니다.
interface Vlan10
ip address 192.168.1.10 255.255.255.0
!
interface Vlan20
ip address 192.168.2.10 255.255.255.0
정책이 ISE에서 이미 다운로드되었습니다. 이를 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show cts role-based permissions
IPv4 Role-based permissions default:
Permit IP-00
IPv4 Role-based permissions from group 2:VLAN10 to group Unknown:
ICMP-20
IPv4 Role-based permissions from group 2:VLAN10 to group 2:VLAN10:
ICMP-20
IPv4 Role-based permissions from group 2:VLAN10 to group 3:VLAN20:
ICMP-20
Deny IP-00
VLAN10(MS Windows 7)에서 VLAN20(MS WindowsXP)으로의 트래픽은 ICMP-20 ACL에 적용되며, 이는 ISE에서 다운로드됩니다.
bsns-3750-5#show ip access-lists ICMP-20
Role-based IP access list ICMP-20 (downloaded)
10 permit icmp
ACL을 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show cts rbacl
CTS RBACL Policy
================
RBACL IP Version Supported: IPv4
name = Deny IP-00
IP protocol version = IPV4
refcnt = 2
flag = 0x41000000
stale = FALSE
RBACL ACEs:
deny ip
name = ICMP-20
IP protocol version = IPV4
refcnt = 6
flag = 0x41000000
stale = FALSE
RBACL ACEs:
permit icmp
name = Permit IP-00
IP protocol version = IPV4
refcnt = 2
flag = 0x41000000
stale = FALSE
RBACL ACEs:
permit ip
두 호스트의 트래픽이 올바르게 태그되었는지 확인하기 위해 SGT 매핑을 확인하려면 다음 명령을 입력합니다.
bsns-3750-5#show cts role-based sgt-map all
Active IP-SGT Bindings Information
IP Address SGT Source
============================================
192.168.1.200 2 LOCAL
192.168.2.200 3 LOCAL
IP-SGT Active Bindings Summary
============================================
Total number of LOCAL bindings = 2
Total number of active bindings = 2
MS Windows 7(SGT=2)에서 MS Windows XP(SGT=3)로의 ICMP는 ACL ICMP-20에서 작동합니다. 이는 2에서 3(허용된 패킷 15개)까지의 트래픽에 대한 카운터를 확인하여 확인합니다.
bsns-3750-5#show cts role-based counters
Role-based IPv4 counters
# '-' in hardware counters field indicates sharing among cells with identical
policies
From To SW-Denied HW-Denied SW-Permitted HW-Permitted
2 0 0 0 1695 224
2 2 0 - 0 -
* * 0 0 133258 132921
2 3 0 0 0 15
Telnet 카운터를 사용하려고 하면 거부된 패킷이 증가합니다(ICMP-20 ACL에서는 허용되지 않음).
bsns-3750-5#show cts role-based counters
Role-based IPv4 counters
# '-' in hardware counters field indicates sharing among cells with identical
policies
From To SW-Denied HW-Denied SW-Permitted HW-Permitted
2 0 0 0 1695 224
2 2 0 - 0 -
* * 0 0 133281 132969
2 3 0 2 0 15
ISE에 정의된 log 키워드와 함께 ACL 항목이 있는 경우 해당 패킷 세부사항 및 수행한 작업이 log 키워드와 함께 ACL에 기록됩니다.
확인 절차에 대해서는 개별 컨피그레이션 섹션을 참조하십시오.
자동 PAC 프로비저닝을 사용할 때 문제가 나타날 수 있습니다. RADIUS 서버에 대해 pac 키워드를 사용해야 합니다. 3750X의 자동 PAC 프로비저닝은 Microsoft의 EAP-MSCHAPv2(Challenge Handshake Authentication Protocol) 인증을 사용하는 내부 방법과 함께 확장 가능 인증 프로토콜과 함께 EAP-FAST 방법을 사용합니다. 디버깅할 때 보안 터널을 구축하기 위해 사용되는 EAP-FAST 협상의 일부인 여러 RADIUS 메시지가 표시되며, 이는 인증에 구성된 ID 및 비밀번호와 함께 EAP-MSCHAPv2를 사용합니다.
첫 번째 RADIUS 요청은 ISE에 PAC 요청임을 알리기 위해 AAA service-type=cts-pac-provisioning을 사용합니다.
bsns-3750-5#debug cts provisioning events
bsns-3750-5#debug cts provisioning packets
*Mar 1 09:55:11.997: CTS-provisioning: New session socket: src=
10.48.66.109:57516 dst=10.48.66.129:1645
*Mar 1 09:55:11.997: CTS-provisioning: Sending EAP Response/Identity to
10.48.66.129
*Mar 1 09:55:11.997: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:11.997: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:11.997: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.006: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.006: CTS-provisioning: Sending EAPFAST response to
10.48.66.129
*Mar 1 09:55:12.006: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.106: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.115: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.744: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.744: CTS-provisioning: Sending EAPFAST response to
10.48.66.129
*Mar 1 09:55:12.744: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.844: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.844: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.853: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.853: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.853: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.853: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.861: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.861: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.861: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.861: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.878: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.878: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.886: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.886: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.886: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.895: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.895: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.895: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.895: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.903: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.912: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.912: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.920: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.920: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.920: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.928: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.928: CTS-provisioning: Received RADIUS challenge from
10.48.66.129.
*Mar 1 09:55:12.970: CTS-pac-refresh: PAC C40A15A339286CEAC28A50DBBAC59784
refresh timer has been set for 20y30w
*Mar 1 09:55:12.970: CTS-provisioning: Ignoring key data.
*Mar 1 09:55:12.979: CTS-provisioning: Received TX_PKT from EAP method
*Mar 1 09:55:12.979: CTS-provisioning: Sending EAPFAST response to 10.48.66.129
*Mar 1 09:55:12.979: CTS-provisioning: OUTGOING RADIUS msg to 10.48.66.129:
*Mar 1 09:55:12.995: CTS-provisioning: INCOMING RADIUS msg from 10.48.66.129:
*Mar 1 09:55:12.995: CTS-provisioning: Received RADIUS reject from 10.48.66.129.
*Mar 1 09:55:12.995: CTS-provisioning: Successfully obtained PAC for A-ID
c40a15a339286ceac28a50dbbac59784
*Mar 1 09:55:12.995: CTS-provisioning: cts_provi_server_cleanup: 10.48.66.129
*Mar 1 09:55:12.995: CTS-provisioning: work complete, process terminating.
PAC를 이미 받았으며 추가 인증 프로세스를 따르지 않았으므로 출력 끝에 RADIUS 거부가 필요합니다.
ISE와의 다른 모든 통신에는 PAC가 필요합니다. 그러나 스위치가 없는 경우 환경 또는 정책 새로 고침은 구성 시 계속 시도합니다. 그런 다음 RADIUS 요청에서 cts-opaqueue(PAC)를 연결하지 않으므로 오류가 발생합니다.
PAC 키가 잘못된 경우 이 오류 메시지가 ISE에 표시됩니다.
The Message-Authenticator RADIUS attribute is invalid
PAC 키가 잘못된 경우 스위치에서 디버그(debug cts provisioning + debug radius)의 이 출력도 표시됩니다.
Apr 20 10:07:11.768: CTS-provisioning: Sending EAP Response/Identity t
Apr 20 10:07:15.325: RADIUS(0000024B): Request timed out!
Apr 20 10:07:15.325: RADIUS: No response from (10.62.84.224:1645,1646) for
id 1645/37
최신 RADIUS 서버 규칙을 사용하는 경우 다음과 같이 표시됩니다.
radius server KRK-ISE
address ipv4 10.62.84.224 auth-port 1645 acct-port 1646
pac key CISCO
PAC 프로비저닝이 성공하면 ISE에 다음과 같이 표시됩니다.
환경 새로 고침은 ISE에서 기본 데이터를 얻기 위해 사용되며, 여기에는 SGT 번호 및 이름이 포함됩니다. 패킷 레벨은 특성이 있는 세 가지 RADIUS 요청 및 응답만 표시합니다.
첫 번째 요청의 경우 스위치에서 CTSServerlist 이름을 수신합니다. 두 번째 SGT는 해당 목록에 대한 세부사항을 수신하고, 마지막 SGT는 태그와 이름이 있는 모든 SGT를 수신합니다.
여기서 기본 SGT 0, ffff 및 2개의 사용자 정의 태그가 표시됩니다. SGT 태그 2의 이름은 VLAN10이고 SGT 태그 3의 이름은 VLAN20입니다.
3750X에서는 세 가지 RADIUS 응답 모두에 대한 디버그와 해당 목록, 목록 세부사항, 특정 SGT-inside 목록을 확인해야 합니다.
bsns-3750-5#debug cts environment-data all
*Mar 1 10:05:07.454: CTS env-data: cleanup mcast SGT table
*Mar 1 10:05:18.057: CTS env-data: Force environment-data refresh
*Mar 1 10:05:18.057: CTS env-data: download transport-type =
CTS_TRANSPORT_IP_UDP
*Mar 1 10:05:18.057: cts_env_data START: during state env_data_complete,
got event 0(env_data_request)
*Mar 1 10:05:18.057: @@@ cts_env_data START: env_data_complete ->
env_data_waiting_rsp
*Mar 1 10:05:18.057: env_data_waiting_rsp_enter: state = WAITING_RESPONSE
*Mar 1 10:05:18.057: env_data_request_action: state = WAITING_RESPONSE
*Mar 1 10:05:18.057: cts_env_data_is_complete: FALSE, req(x0), rec(x0),
expect(x81), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.057: cts_aaa_req_setup: (CTS env-data)Private group appears DEAD,
attempt public group
*Mar 1 10:05:18.057: cts_aaa_req_setup: (CTS env-data)CTS_TRANSPORT_IP_UDP
*Mar 1 10:05:18.057: cts_aaa_req_setup: (CTS env-data)AAA req(x7C3DF10)
*Mar 1 10:05:18.057: cts_aaa_attr_add: AAA req(0x7C3DF10)
*Mar 1 10:05:18.057: username = #CTSREQUEST#
*Mar 1 10:05:18.057: cts-environment-data = 3750X
*Mar 1 10:05:18.057: cts_aaa_req_send: AAA req(0x7C3DF10) successfully sent to AAA.
*Mar 1 10:05:18.083: cts_aaa_callback: (CTS env-data)AAA req(0x7C3DF10)
response success
*Mar 1 10:05:18.083: AAA attr: Unknown type (447).
*Mar 1 10:05:18.083: AAA attr: Unknown type (220).
*Mar 1 10:05:18.083: AAA attr: Unknown type (275).
*Mar 1 10:05:18.083: AAA attr: server-list = CTSServerList1-0001.
*Mar 1 10:05:18.083: AAA attr: security-group-tag = 0000-00.
*Mar 1 10:05:18.083: AAA attr: environment-data-expiry = 86400.
*Mar 1 10:05:18.083: AAA attr: security-group-table = 0001-5.
*Mar 1 10:05:18.083: CTS env-data: Receiving AAA attributes
CTS_AAA_SLIST
slist name(CTSServerList1) received in 1st Access-Accept
slist name(CTSServerList1) created
CTS_AAA_SECURITY_GROUP_TAG - SGT = unicast-unknown-00
CTS_AAA_ENVIRONMENT_DATA_EXPIRY = 86400.
CTS_AAA_SGT_NAME_LIST
table(0001) received in 1st Access-Accept
old name(), gen()
new name(0001), gen(50)
CTS_AAA_DATA_END
*Mar 1 10:05:18.083: cts_env_data WAITING_RESPONSE: during state
env_data_waiting_rsp, got event 1(env_data_received)
*Mar 1 10:05:18.083: @@@ cts_env_data WAITING_RESPONSE: env_data_waiting_rsp ->
env_data_assessing
*Mar 1 10:05:18.083: env_data_assessing_enter: state = ASSESSING
*Mar 1 10:05:18.083: env_data_assessing_action: state = ASSESSING
*Mar 1 10:05:18.083: cts_env_data_is_complete: FALSE, req(x1089), rec(xC83),
expect(x28B5), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.083: cts_env_data ASSESSING: during state env_data_assessing,
got event 3(env_data_incomplete)
*Mar 1 10:05:18.083: @@@ cts_env_data ASSESSING: env_data_assessing ->
env_data_waiting_rsp
*Mar 1 10:05:18.083: env_data_waiting_rsp_enter: state = WAITING_RESPONSE
*Mar 1 10:05:18.083: env_data_request_action: state = WAITING_RESPONSE
*Mar 1 10:05:18.083: cts_env_data_is_complete: FALSE, req(x1089), rec(xC83),
expect(x28B5), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.083: cts_aaa_req_setup: (CTS env-data)Private group appears DEAD,
attempt public group
*Mar 1 10:05:18.083: cts_aaa_req_setup: (CTS env-data)CTS_TRANSPORT_IP_UDP
*Mar 1 10:05:18.083: cts_aaa_req_setup: (CTS env-data)AAA req(x792FFD0)
*Mar 1 10:05:18.083: cts_aaa_attr_add: AAA req(0x792FFD0)
*Mar 1 10:05:18.091: username = #CTSREQUEST#
*Mar 1 10:05:18.091: cts-server-list = CTSServerList1
*Mar 1 10:05:18.091: cts_aaa_req_send: AAA req(0x792FFD0) successfully sent to AAA.
*Mar 1 10:05:18.099: cts_aaa_callback: (CTS env-data)AAA req(0x792FFD0)
response success
*Mar 1 10:05:18.099: AAA attr: Unknown type (447).
*Mar 1 10:05:18.099: AAA attr: Unknown type (220).
*Mar 1 10:05:18.099: AAA attr: Unknown type (275).
*Mar 1 10:05:18.099: AAA attr: server-list = CTSServerList1-0001.
*Mar 1 10:05:18.099: AAA attr: server = c40a15a339286ceac28a50dbbac59784:
10.48.66.129:1812.
*Mar 1 10:05:18.099: CTS env-data: Receiving AAA attributes
CTS_AAA_SLIST
2nd Access-Accept slist name(CTSServerList1), gen(0001)
CTS_AAA_SERVERS
server (c40a15a339286ceac28a50dbbac59784:10.48.66.129:1812) added
CTS_AAA_DATA_END
*Mar 1 10:05:18.099: cts_env_data WAITING_RESPONSE: during state
env_data_waiting_rsp, got event 1(env_data_received)
*Mar 1 10:05:18.099: @@@ cts_env_data WAITING_RESPONSE: env_data_waiting_rsp ->
env_data_assessing
*Mar 1 10:05:18.099: env_data_assessing_enter: state = ASSESSING
*Mar 1 10:05:18.099: env_data_assessing_action: state = ASSESSING
*Mar 1 10:05:18.099: cts_env_data_is_complete: FALSE, req(x108D), rec(xC87),
expect(x28B5), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.099: cts_env_data ASSESSING: during state env_data_assessing,
got event 3(env_data_incomplete)
*Mar 1 10:05:18.099: @@@ cts_env_data ASSESSING: env_data_assessing ->
env_data_waiting_rsp
*Mar 1 10:05:18.099: env_data_waiting_rsp_enter: state = WAITING_RESPONSE
*Mar 1 10:05:18.099: env_data_request_action: state = WAITING_RESPONSE
*Mar 1 10:05:18.099: cts_env_data_is_complete: FALSE, req(x108D), rec(xC87),
expect(x28B5), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.099: cts_aaa_req_setup: (CTS env-data)Using private server group
*Mar 1 10:05:18.099: cts_aaa_req_setup: (CTS env-data)CTS_TRANSPORT_IP_UDP
*Mar 1 10:05:18.099: cts_aaa_req_setup: (CTS env-data)AAA req(x7A6C4AC)
*Mar 1 10:05:18.099: cts_aaa_attr_add: AAA req(0x7A6C4AC)
*Mar 1 10:05:18.099: username = #CTSREQUEST#
*Mar 1 10:05:18.099: cts-security-group-table = 0001
*Mar 1 10:05:18.099: cts_aaa_req_send: AAA req(0x7A6C4AC) successfully sent to AAA.
*Mar 1 10:05:18.108: cts_aaa_callback: (CTS env-data)AAA req(0x7A6C4AC)
response success
*Mar 1 10:05:18.108: AAA attr: Unknown type (447).
*Mar 1 10:05:18.108: AAA attr: Unknown type (220).
*Mar 1 10:05:18.108: AAA attr: Unknown type (275).
*Mar 1 10:05:18.108: AAA attr: security-group-table = 0001-5.
*Mar 1 10:05:18.108: AAA attr: security-group-info = 0-0-00-Unknown.
*Mar 1 10:05:18.108: AAA attr: security-group-info = ffff-0-00-ANY.
*Mar 1 10:05:18.108: AAA attr: security-group-info = 2-0-00-VLAN10.
*Mar 1 10:05:18.108: AAA attr: security-group-info = 3-0-00-VLAN20.
*Mar 1 10:05:18.108: CTS env-data: Receiving AAA attributes
CTS_AAA_SGT_NAME_LIST
table(0001) received in 2nd Access-Accept
old name(0001), gen(50)
new name(0001), gen(50)
CTS_AAA_SGT_NAME_INBOUND - SGT = unicast-unknown-00
flag (128) server name (Unknown) added
name (0001), request (1), receive (1)
Setting SG Name receving bit CTS_ENV_DATA_SGT_NAME_ENTRY on
CTS_AAA_SGT_NAME_INBOUND - SGT = unicast-default-00
flag (128) server name (ANY) added
name (0001), request (1), receive (1)
Setting SG Name receving bit CTS_ENV_DATA_SGT_NAME_ENTRY on
CTS_AAA_SGT_NAME_INBOUND - SGT = 2-00
flag (128) server name (VLAN10) added
name (0001), request (1), receive (1)
Setting SG Name receving bit CTS_ENV_DATA_SGT_NAME_ENTRY on
CTS_AAA_SGT_NAME_INBOUND - SGT = 3-00
flag (128) server name (VLAN20) added
name (0001), request (1), receive (1)
Setting SG Name receving bit CTS_ENV_DATA_SGT_NAME_ENTRY on
CTS_AAA_DATA_END
*Mar 1 10:05:18.108: cts_env_data WAITING_RESPONSE: during state
env_data_waiting_rsp, got event 1(env_data_received)
*Mar 1 10:05:18.108: @@@ cts_env_data WAITING_RESPONSE: env_data_waiting_rsp ->
env_data_assessing
*Mar 1 10:05:18.108: env_data_assessing_enter: state = ASSESSING
*Mar 1 10:05:18.108: env_data_assessing_action: state = ASSESSING
*Mar 1 10:05:18.116: cts_env_data_is_complete: TRUE, req(x2085), rec(x2C87),
expect(x81), complete1(x85), complete2(xB5), complete3(x28B5)
*Mar 1 10:05:18.116: cts_env_data ASSESSING: during state env_data_assessing,
got event 4(env_data_complete)
*Mar 1 10:05:18.116: @@@ cts_env_data ASSESSING: env_data_assessing ->
env_data_complete
*Mar 1 10:05:18.116: env_data_complete_enter: state = COMPLETE
*Mar 1 10:05:18.116: env_data_install_action: state = COMPLETE
정책 새로 고침은 스위치에서만 지원됩니다. 이는 환경 업그레이드와 비슷합니다. 이는 단순히 RADIUS 요청 및 수락입니다.
스위치에서 기본 목록 내의 모든 ACL을 요청합니다. 그런 다음 최신 상태가 아니거나 존재하지 않는 각 ACL에 대해 세부사항을 얻기 위해 다른 요청을 보냅니다.
다음은 ICMP-20 ACL을 요청할 때의 응답 예입니다.
해당 ACL을 적용하려면 cts 역할 기반 시행을 구성해야 합니다.
디버깅은 변경 사항이 있는지 여부를 나타냅니다(세대 ID 기준). 이 경우 필요한 경우 이전 정책을 제거하고 새 정책을 설치할 수 있습니다. 여기에는 ASIC 프로그래밍(하드웨어 지원)이 포함됩니다.
bsns-3750-5#debug cts all
Mar 30 02:39:37.151: CTS authz entry: peer(Unknown-2) Receiving AAA attributes
rcv rbacl list: flags: req(81)rcv(0)wait(80)prev(0)install(880)
- SGT = 2-01:VLAN10
- SGT = 2-01:VLAN10
current arg_cnt=8, expected_num_args=11
3rd Access-Accept rbacl received name(ICMP), gen(20)
received_policyp->sgt(2-01:VLAN10)
existing sgt_policy(73FFDB4) sgt(2-01:VLAN10)
RBACL name(ICMP-20)flag(40000000) already exists
acl_listp(740266C) old_acl_infop(0),exist_rbacl_type(0)
CTS_AAA_AUTHORIZATION_EXPIRY = 86400.
CTS_AAA_DATA_END
Mar 30 02:39:37.176: cts_authz_entry_complete_action: Policy download complete -
peer(Unknown-2) SGT(2-01:VLAN10) status(RBACL-POLICY SUCCEEDED)
Mar 30 02:39:37.176: cts_authz_rbacl_uninstall_cb:
Mar 30 02:39:37.176: uninstall cb_ctx:
Mar 30 02:39:37.176: session_hdl = F1000003
Mar 30 02:39:37.176: sgt_policyp = 73FFDB4, sgt=(2-01:VLAN10), magic(BABECABB)
Mar 30 02:39:37.176: ip_version = IPV6
Mar 30 02:39:37.176: src-or-dst = BOTH
Mar 30 02:39:37.176: wait_rbm_install_ip_ver(0)
Mar 30 02:39:37.176: wait_rbm_uninstall_ip_ver(C0000000)
Mar 30 02:39:37.176: cts_authz_rbacl_uninstall_cb:
Mar 30 02:39:37.176: uninstall cb_ctx:
Mar 30 02:39:37.176: session_hdl = F1000003
Mar 30 02:39:37.176: sgt_policyp = 73FFDB4, sgt=(2-01:VLAN10), magic(BABECABB)
Mar 30 02:39:37.176: ip_version = IPV4
Mar 30 02:39:37.176: src-or-dst = BOTH
Mar 30 02:39:37.176: wait_rbm_install_ip_ver(0)
Mar 30 02:39:37.176: wait_rbm_uninstall_ip_ver(40000000)
Mar 30 02:39:37.210: install cb_ctx:
Mar 30 02:39:37.210: session_hdl = F1000003
Mar 30 02:39:37.210: sgt_policyp = 73FFDB4, sgt=(2-01:VLAN10), magic(BABECABB)
Mar 30 02:39:37.210: ip_version = IPV6
Mar 30 02:39:37.210: src-or-dst = SRC
Mar 30 02:39:37.210: wait_rbm_install_ip_ver(C0000000)
Mar 30 02:39:37.210: wait_rbm_uninstall_ip_ver(0)
Mar 30 02:39:37.210: cts_authz_rbacl_install_cb: Waiting for more RBM callback
for remaining IP version(40000000) RBACL policy(73FFDB4) for SGT(2-01:VLAN10)
flag(41400001)
Mar 30 02:39:37.210: cts_authz_rbacl_install_cb:
Mar 30 02:39:37.210: install cb_ctx:
Mar 30 02:39:37.210: session_hdl = F1000003
Mar 30 02:39:37.210: sgt_policyp = 73FFDB4, sgt=(2-01:VLAN10), magic(BABECABB)
Mar 30 02:39:37.210: ip_version = IPV4
Mar 30 02:39:37.210: src-or-dst = SRC
Mar 30 02:39:37.210: wait_rbm_install_ip_ver(40000000)
Mar 30 02:39:37.210: wait_rbm_uninstall_ip_ver(0)
Mar 30 02:39:37.210: cts_authz_rbacl_install_cb: Program RBACL policy(73FFDB4)
for SGT(2-01:VLAN10) flag(41400001) success
SXP 업데이트는 디바이스의 IP 주소를 찾는 IP 디바이스 추적 코드에 의해 트리거됩니다. 그런 다음 업데이트를 전송하기 위해 SMPP(Short Message Peer-to-Peer) 프로토콜을 사용합니다. BGP(Border Gateway Protocol)와 동일한 인증에 TCP 옵션 19를 사용합니다. SMPP 페이로드는 암호화되지 않습니다. Wireshark는 SMPP 페이로드에 적합한 디코더를 갖추고 있지 않지만, 그 안에서 데이터를 쉽게 찾을 수 있습니다.
다음은 IP 디바이스 추적에서 MS Windows 7의 IP 주소를 찾은 후의 3750X에 대한 몇 가지 디버깅입니다.
bsns-3750-5#debug cts sxp message
bsns-3750-5#debug cts sxp internal
bsns-3750-5#debug cts sxp conn
bsns-3750-5#debug cts sxp mdb
bsns-3750-5#debug cts sxp error
Apr 7 00:39:06.874: CTS-SXP-CONN:sxp_process_message_event = CTS_SXPMSG_REQUEST
Apr 7 00:39:06.874: CTS-SXP-CONN:sxp_process_request CTS_SXPMSG_REQ_CONN_NVGEN
Apr 7 00:39:06.874: CTS-SXP-CONN:cts_get_next_sxpconn_cli
Apr 7 00:39:06.874: CTS-SXP-CONN:cts_get_next_sxpconn_cli
Apr 7 00:39:06.874: CTS-SXP-INTNL:sxp_process_request boolean set
Apr 7 00:39:06.874: CTS-SXP-INTNL:sxp_send_request set boolean after
Apr 7 00:40:05.418: CTS-SXP-CONN:is_cts_sxp_rf_active
Apr 7 00:40:05.418: CTS-SXP-MDB:sxp_export_ipsgt_change 192.168.1.200/32 add 1
ASA에 해당하는 디버깅은 다음과 같습니다.
bsns-asa5510-17# debug cts sxp all
%ASA-7-776018: CTS SXP: Binding 192.168.1.200->2:VLAN10 from peer 192.168.1.10
(instance 1) added in SXP database.
%ASA-7-776019: CTS SXP: Binding 192.168.1.200->2:VLAN10 added. Update binding
manager.
%ASA-6-776251: CTS SGT-MAP: Binding 192.168.1.200->2:VLAN10 from SXP added to
binding manager.
%ASA-7-776014: CTS SXP: SXP received binding forwarding request (add) binding
192.168.1.200->2:VLAN10.
ASA에서 더 많은 디버그를 보려면 디버깅 세부 정보 수준을 활성화할 수 있습니다.
bsns-asa5510-17# debug cts condition level detail
debug cts condition level detail is enable
ASA가 SXP에서 수신한 SGT 매핑을 올바르게 설치한 후에는 보안 그룹 ACL이 제대로 작동해야 합니다. 매핑에 문제가 발생하면 다음을 입력합니다.
bsns-asa5510-17# debug cts sgt-map
보안 그룹의 ACL은 IP 주소 또는 사용자 ID와 정확히 동일하게 작동합니다. 로그에 문제가 표시되고 적중된 ACL의 정확한 항목이 표시됩니다.
MS Windows XP에서 MS Windows 7로의 ping은 패킷 추적기가 올바르게 작동함을 보여줍니다.
bsns-asa5510-17# packet-tracer input inside icmp 192.168.2.200 8 0 192.168.1.200
detailed
<output ommitted>
Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group inside in interface inside
access-list inside extended permit icmp security-group tag 3 any security-group
name VLAN10 any
Additional Information:
Forward Flow based lookup yields rule:
in id=0xaaf2ae80, priority=13, domain=permit, deny=false
hits=185, user_data=0xaa2f5040, cs_id=0x0, use_real_addr, flags=0x0,
protocol=1
src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=3:VLAN20
dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=2:VLAN10, dscp=0x0
input_ifc=inside, output_ifc=any
<output ommitted>
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
04-Sep-2013 |
최초 릴리스 |