소개
이 문서에서는 SDA(Software Defined Access)에서 TrustSec의 allow-list (Default Deny IP) 모델을 활성화하는 방법에 대해 설명합니다. 이 문서에는 ISE(Identity Services Engine), DNAC(Digital Network Architecture Center), 스위치(Border and Edge) 등 다양한 기술 및 구성 요소가 포함되어 있습니다.
두 가지 TrustSec 모델을 사용할 수 있습니다.
- Deny-List Model(거부 목록 모델)(Default Permit IP(기본 허용 IP)) - 이 모델에서는 기본 작업이 Permit IP이며 SGACL(Security Group Access List)을 사용하여 모든 제한을 명시적으로 구성해야 합니다. 이는 일반적으로 네트워크 내의 트래픽 흐름을 완전히 파악하지 못한 경우에 사용됩니다. 이 모델은 구현하기가 상당히 쉽습니다.
- Allow-List Model (Default Deny IP)(허용 목록 모델(기본 거부 IP)) - 이 모델에서는 기본 작업이 Deny IP이므로 SGACL을 사용하여 필요한 트래픽을 명시적으로 허용해야 합니다. 이는 일반적으로 네트워크 내에서 트래픽 흐름의 종류를 공정하게 이해할 때 사용됩니다. 이 모델에서는 컨트롤 플레인 트래픽에 대한 자세한 연구가 필요할 뿐 아니라 모든 트래픽을 차단할 수 있는 잠재력을 가지고 있어야 합니다(활성화되는 순간).
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- MAB(Dot1x/MAC Authentication Bypass)
- Cisco TrustSec(CTS)
- SXP(Security Exchange Protocol)
- 웹 프록시
- 방화벽 개념
- DNAC
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- 9300 Edge 및 9500 Border Node(스위치), Cisco IOS® 릴리스 16.9.3 포함
- DNAC 1.3.0.5
- ISE 2.6 패치 3(노드 2개 - 중복 구축)
- DNAC와 ISE는
- DNAC에서 경계 및 에지 노드를 프로비저닝합니다.
- SXP 터널은 ISE(스피커)에서 두 보더 노드(리스너)로 설정됩니다
- IP 주소 풀이 호스트 온보딩에 추가됨
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
네트워크 다이어그램

설정
다음은 허용 목록 모델(기본 거부 IP)을 활성화하는 단계입니다.
- 스위치 SGT(Security Group Tag)를 Unknown(알 수 없음)에서 TrustSec 디바이스로 변경합니다.
- CTS 역할 기반 적용을 비활성화합니다.
- DNAC 템플릿을 사용하는 경계 및 에지 스위치의 IP-SGT 매핑.
- DNAC 템플릿을 사용하여 SGACL을 대체합니다.
- Trustsec Matrix에서 Allow-List(Default Deny IP)를 활성화합니다.
- 엔드포인트/사용자를 위한 SGT를 생성합니다.
- 엔드포인트/사용자를 위한 SGACL 생성(프로덕션 오버레이 트래픽용)
1단계. 스위치 SGT를 Unknown(알 수 없음)에서 TrustSec 디바이스로 변경합니다.
기본적으로 알 수 없는 SGT는 네트워크 디바이스 권한 부여를 위해 구성됩니다. TrustSec 디바이스 SGT로 변경하면 가시성이 향상되고 스위치에서 시작한 트래픽에 대한 SGACL을 생성하는 데 도움이 됩니다.
Work Centers(작업 센터) > TrustSec > TrustSec Policy(TrustSec 정책) > Network Device Authorization(네트워크 디바이스 권한 부여)으로 이동한 다음 Unknown(알 수 없음)에서 Trustsec_Devices(Trustsec_디바이스)로 변경합니다.

2단계. CTS 역할 기반 적용을 비활성화합니다.
- Allow-List 모델(Default Deny)을 적용하면 IS-IS(Intermediate System-to-Intermediate System), BFD(Bidirectional Forwarding Detection), SSH(Secure Shell) 트래픽과 같은 언더레이 멀티캐스트 및 브로드캐스트 트래픽을 포함하여 패브릭에서 모든 트래픽이 차단됩니다.
- 보더뿐만 아니라 패브릭 에지에 연결되는 모든 TenGig 포트는 이 명령으로 구성해야 합니다. 이러한 문제가 발생함에 따라 이 인터페이스에서 시작하여 이 인터페이스로 들어오는 트래픽은 시행 대상이 아닙니다.
Interface tengigabitethernet 1/0/1
no cts role-based enforcement
참고: DNAC에서 간소화를 위해 범위 템플릿을 사용하여 이 작업을 완료할 수 있습니다. 그렇지 않으면 모든 스위치에 대해 프로비저닝 중에 수동으로 완료해야 합니다. 다음 코드 조각은 DNAC 템플릿을 통해 수행하는 방법을 보여줍니다.
interface range $uplink1
no cts role-based enforcement
DNAC 템플릿에 대한 자세한 내용은 이 URL에서 문서를 참조하십시오.
https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/network-automation-and-management/dna-center/2-3-5/user_guide/b_cisco_dna_center_ug_2_3_5/b_cisco_dna_center_ug_2_3_5_chapter_01000.html
3단계. DNAC 템플릿을 사용하는 경계 및 에지 스위치의 IP-SGT 매핑.
모든 ISE가 중단되더라도 로컬 IP에 SGT 매핑을 스위치에서 사용할 수 있어야 합니다. 따라서 Underlay가 가동되고 중요 리소스에 대한 연결이 손상되지 않습니다.
첫 번째 단계는 중요한 서비스를 SGT에 바인딩하는 것입니다. 예를 들어, Basic_Network_Services/1000입니다. 이러한 서비스 중 일부는 다음과 같습니다.
- 언더레이/ISIS 서브넷
- ISE/DNAC
- 모니터링 도구
- OTT의 경우 AP의 서브넷
- 터미널 서버
- 중요 서비스(예: IP Phone)
예를 들면 다음과 같습니다.
cts role-based sgt-map <ISE/DNAC Subnet> sgt 1000
cts role-based sgt-map sgt 2
cts role-based sgt-map <Wireless OTT Infra> sgt 1000
cts role-based sgt-map <Underlay OTT AP Subnet> sgt 2
cts role-based sgt-map <Monitoring Tool IP> sgt 1000
cts role-based sgt-map vrf CORP_VN <Voice Gateway and CUCM Subnet> sgt 1000
4단계. DNAC 템플릿으로 SGACL을 대체합니다.
SGT 매핑은 관련 SGACL이 SGT를 사용하여 생성될 때까지 사용되지 않습니다. 따라서 다음 단계는 ISE 노드가 다운될 경우 로컬 대체 역할을 하는 SGACL을 생성하는 것입니다(ISE 서비스가 다운되면 SXP 터널이 다운되어 SGACL 및 IP SGT 매핑이 동적으로 다운로드되지 않음).
이 컨피그레이션은 모든 에지 및 경계 노드에 푸시됩니다.
대체 역할 기반 ACL/계약:>
ip access-list role-based FALLBACK
permit ip
TrustSec 디바이스를 TrustSec 디바이스로 전환:
cts role-based permissions from 2 to 2 FALLBACK
SGACL 위 패브릭 스위치 내 통신 보장 및 IP 언더레이
SGT 1000에 대한 TrustSec 디바이스:
cts role-based permissions from 2 to 1000 FALLBACK
SGACL 위 스위치 및 액세스 포인트에서 ISE, DNAC, WLC 및 모니터링 도구로의 통신 보장
TrustSec 디바이스에 대한 SGT 1000:
cts role-based permissions from 1000 to 2 FALLBACK
SGACL 위 액세스 포인트에서 ISE, DNAC, WLC 및 모니터링 툴과 스위치로의 통신 보장
5단계. TrustSec 매트릭스에서 Allow-List Model(기본 거부)을 활성화합니다.
요구 사항은 네트워크에서 대부분의 트래픽을 거부하고 더 작은 범위를 허용하는 것입니다. 명시적 허용 규칙과 함께 기본 거부를 사용하는 경우 필요한 정책 수가 줄어듭니다.
Work Centers(작업 센터) > Trustsec > TrustSec Policy(TrustSec 정책) > Matrix(매트릭스) > Default(기본값)로 이동하고 최종 catch 규칙에서 Deny All(모두 거부)로 변경합니다.


참고: 이 이미지는 (기본적으로 모든 열이 빨간색으로 표시됨), 기본 거부가 활성화되었으며 SGACL을 생성한 후에는 선택적 트래픽만 허용할 수 있음을 나타냅니다.
6단계. 엔드포인트/사용자를 위한 SGT를 생성합니다.
SDA 환경에서는 ISE/DNAC에서 SGT 데이터베이스의 불일치로 인해 데이터베이스가 손상된 경우가 많으므로 DNAC GUI에서만 새 SGT를 만들어야 합니다.
SGT를 생성하려면 DNAC(DNAC) > Policy(정책) > Group-Based Access Control(그룹 기반 액세스 제어) > Scalable Groups(확장 가능한 그룹) > Add Groups(그룹 추가)에 로그인합니다. 페이지에서 ISE Scalable Group(ISE 확장 가능한 그룹)으로 리디렉션합니다. Add(추가)를 클릭하고 SGT 이름을 입력한 다음 저장합니다.

동일한 SGT는 PxGrid 통합을 통해 DNAC에 반영됩니다. 이는 모든 향후 SGT 생성에 대해 동일한 절차입니다.
7단계. 엔드포인트/사용자를 위한 SGACL 생성(프로덕션 오버레이 트래픽용)
SDA 환경에서는 DNAC GUI에서만 새 SGT를 생성할 수 있습니다.
Policy Name: Domain_Users_Access
Contract : Permit
Enable Policy :√
Enable Bi-Directional :√
Source SGT : Domain Users (Drag from Available Security Group)
Destination SGT: Domain_Users, Basic_Network_Services, DC_Subnet, Unknown (Drag from Available Security Group)
Policy Name: RFC_Access
Contract : RFC_Access (This Contract contains limited ports)
Enable Policy :√
Enable Bi-Directional :√
Source SGT : Domain Users (Drag from Available Security Group)
Destination SGT: RFC1918 (Drag from Available Security Group)
계약을 생성하려면 DNAC에 로그인하고 Policy(정책) > Contracts(계약) > Add Contracts(계약 추가) > Add required protocol(필수 프로토콜 추가)로 이동한 다음 Save(저장)를 클릭합니다.

계약을 생성하려면 DNAC에 로그인하고 Policy(정책) > Group-Based Access Control(그룹 기반 액세스 제어) > Group-Based-Access-Policies(그룹 기반 액세스 정책) > Add Policies(정책 추가) > Create policy (with the given information)(지정된 정보가 있는 정책 생성)로 이동한 다음 Save(저장)를 클릭하고 Deploy(구축)를 선택합니다.

DNAC에서 SGACL/계약이 구성되면 ISE에 자동으로 반영됩니다. 다음은 sgt에 대한 단방향 매트릭스 보기의 예입니다.

이 이미지에 표시된 SGACL 매트릭스는 Allow-list (Default Deny) 모델의 예제 뷰입니다.


다음을 확인합니다.
설정이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
네트워크 장치 SGT
ISE에서 수신한 스위치 SGT를 확인하려면 show cts environmental-data 명령을 실행합니다.

업링크 포트에 적용
업링크 인터페이스에서 시행을 확인하려면 다음 명령을 입력합니다.
- show run interface <uplink>
- show cts interface <uplink interface>

로컬 IP-SGT 매핑
로컬로 구성된 IP에 SGT 매핑을 확인하려면 다음 명령을 입력합니다. sh cts 역할 기반 sgt-map all

로컬 대체 SGACL
FALLBACK SGACL을 확인하려면 다음 명령을 실행합니다. sh cts 역할 기반 권한

참고: ISE에서 푸시하는 SGACL은 로컬 SGACL보다 우선 순위가 높습니다.
패브릭 스위치의 허용 목록(기본 거부) 활성화
Allow-list (Default Deny) 모델을 확인하려면 다음 명령을 입력합니다. sh cts 역할 기반 권한

패브릭에 연결된 엔드포인트용 SGACL
ISE에서 다운로드한 SGACL을 확인하려면 다음 명령을 실행합니다. sh cts 역할 기반 권한

DNAC에서 생성한 계약 확인
ISE에서 다운로드한 SGACL을 확인하려면 다음 명령을 실행합니다. show access-list <ACL/계약 이름>


패브릭 스위치의 SGACL 카운터 언더레이
SGACL 정책 적중을 확인하려면 다음 명령을 실행합니다. cts 역할 기반 카운터 표시

문제 해결
이 섹션에서는 설정 문제 해결에 사용할 수 있는 정보를 제공합니다.
문제 1. 두 ISE 노드가 모두 다운된 경우. (Border 노드가 north-south 시행 지점으로 사용되는 경우에만)
두 ISE 노드가 모두 다운된 경우 ISE에서 수신한 IP에서 SGT로의 매핑이 경계 노드에서 제거되고 모든 DGT에 알 수 없음으로 태그가 지정되며, 존재하는 모든 사용자 세션은 5-6분 후에 중지됩니다.
참고: 이 문제는 sgt(xxxx) -> unknown(0) SGACL 액세스가 DHCP, DNS 및 웹 프록시 포트로 제한되는 경우에만 적용됩니다.
해결책:
- SGT 생성(예: RFC1918).
- RFC 프라이빗 IP 범위를 양쪽 보더로 푸시합니다.
- sgt(xxxx)에서 DHCP, DNS 및 웹 프록시에 대한 액세스 제한 —> RFC1918
- Permit IP contract(허용 IP 계약)에서 sgacl sgt(xxxx) 생성/수정 —> unknown(알 수 없음)
이제 두 ise 노드가 모두 다운되면 SGACL sgt—>unknown hits 및 존재하는 세션이 그대로 유지됩니다.
문제 2. IP-Phone 단방향 음성 또는 음성 없음
SIP에서 IP로의 확장이 발생했으며, 실제 음성 통신은 IP에서 IP로의 RTP를 통해 이루어졌습니다. CUCM 및 음성 게이트웨이가 DGT_Voice에 추가되었습니다.
해결책:
- IP_Phone —> IP_Phone에서 트래픽을 허용하면 동일한 위치 또는 동-서 음성 통신을 활성화할 수 있습니다.
- 나머지 위치는 DGT RFC1918의 허용 RTP 프로토콜 범위에 의해 허용될 수 있습니다. IP_Phone —> Unknown에 대해서도 동일한 범위를 허용할 수 있습니다.
문제점 3. 중요 VLAN 엔드포인트에 네트워크 액세스 권한이 없습니다.
DNAC는 데이터를 위해 중요 VLAN을 사용하여 스위치를 프로비저닝하며, 컨피그레이션에 따라 ISE 중단 시 모든 새 연결에 중요 VLAN 및 SGT 3999를 제공합니다. Trustsec 정책의 Default Deny(기본 거부)는 네트워크 리소스에 액세스하기 위한 새 연결을 제한합니다.
해결책:
DNAC 템플릿을 사용하여 모든 에지 및 경계 스위치에서 중요 SGT에 SGACL 푸시
cts role-based permissions from 0 to 3999 FALLBACK
cts role-based permissions from 3999 to 0 FALLBACK
이러한 명령은 컨피그레이션 섹션에 추가됩니다.
참고: 모든 명령을 단일 템플릿으로 결합할 수 있으며 프로비저닝 중에 푸시할 수 있습니다.
문제점 4. 패킷 드롭인 중요 VLAN.
ISE 노드 다운으로 인해 시스템이 중요한 VLAN에 있게 되면 중요한 VLAN의 모든 엔드포인트에 대해 3~4분마다 패킷 드롭(최대 10개의 드롭 관찰됨)이 발생합니다.
관찰: 서버가 DEAD일 때 인증 카운터가 증가합니다. 서버가 DEAD로 표시되었을 때 클라이언트가 PSN으로 인증하려고 시도합니다.
솔루션/해결 방법:
ISE PSN 노드가 다운된 경우 엔드포인트에서 인증 요청을 할 수 없는 것이 좋습니다.
DNAC를 사용하는 radius 서버 아래에서 다음 명령을 푸시합니다.
automate-tester username auto-test probe-on
스위치에서 이 명령을 사용하면 RADIUS 서버에 정기적인 테스트 인증 메시지를 보냅니다. 서버에서 RADIUS 응답을 찾습니다. 성공 메시지는 필요하지 않습니다. 서버가 활성 상태임을 나타내므로 실패한 인증만으로도 충분합니다.
추가 정보
DNAC 최종 템플릿:
interface range $uplink1
no cts role-based enforcement
! .
cts role-based sgt-map <ISE Primary IP> sgt 1102
cts role-based sgt-map <Underlay Subnet> sgt 2
cts role-based sgt-map <Wireless OTT Subnet>sgt 1102
cts role-based sgt-map <DNAC IP> sgt 1102
cts role-based sgt-map <SXP Subnet> sgt 2
cts role-based sgt-map <Network Monitoring Tool IP> sgt 1102
cts role-based sgt-map vrf CORP_VN <Voice Gateway Subnet> sgt 1102
!
ip access-list role-based FALLBACK
permit ip
!
cts role-based permissions from 2 to 1102 FALLBACK
cts role-based permissions from 1102 to 2 FALLBACK
cts role-based permissions from 2 to 2 FALLBACK
cts role-based permissions from 0 to 3999 FALLBACK
cts role-based permissions from 3999 to 0 FALLBACK
참고: 에지 노드의 모든 업링크 인터페이스는 시행 없이 구성되며, 업링크는 경계 노드에만 연결된다고 가정합니다. 경계 노드에서 에지 노드를 향하는 업링크 인터페이스는 시행하지 않고 구성해야 하며 수동으로 구성해야 합니다.