소개
이 문서에서는 ISE 3.0 버전에 도입된 새로운 ISE(Identity Services Engine) ISE-PIC(Passive Identity Connector) 에이전트에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco Identity Services 관리
- MS-RPC, WMI 프로토콜
- Active Directory 관리
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco Identity Services Engine 버전 3.0 이상
- Microsoft Windows Server 2016 표준
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
이 문서에서는 ISE-PIC 에이전트의 이점 및 ISE에서 이 에이전트의 컨피그레이션에 대해서도 설명합니다. ISE Passive Identity Agent는 Cisco Firepower Management Center를 사용하는 ID 방화벽 솔루션의 필수 구성 요소가 되었습니다.
새 프로토콜의 필요성
ISE의 수동 ID(Passive Identity) 기능은 ID 기반 방화벽, EasyConnect 등을 포함하는 여러 가지 중요한 사용 사례를 주도합니다. 이 기능은 Active Directory 도메인 컨트롤러에 로그인하고 사용자 이름과 IP 주소를 학습하는 사용자를 모니터링하는 기능에 따라 달라집니다. 도메인 컨트롤러를 모니터링하는 데 사용되는 현재 주 프로토콜은 WMI입니다. 그러나 구성하기가 어렵고, 클라이언트와 서버 모두에 성능에 영향을 미치며, 확장 배포에서 로그온 이벤트를 확인하는 데 매우 긴 레이턴시를 보일 때도 있습니다. Passive Identity Services에 필요한 정보를 폴링할 수 있는 대체 방법 및 철저한 연구 끝에, 이 활용 사례를 처리하는 데 더 효율적인 EVT(Eventing API)라는 대체 프로토콜을 결정했습니다. MS-EVEN6이라고도 하며, Eventing Remote Protocol이라고도 합니다. Eventing Remote Protocol은 기본 RPC 기반 유선 프로토콜입니다.
MS-EVEN6 사용의 장점
고가용성
원래 에이전트에는 HA(고가용성) 옵션이 없었으며, 에이전트가 실행 중이었거나 장애가 발생한 서버에서 유지 보수를 수행해야 하는 경우 로그온 이벤트가 누락되고 ID 기반 방화벽과 같은 기능을 사용하면 이 기간 동안 데이터가 손실됩니다. 이는 이 릴리스 이전에 ISE PIC 에이전트를 사용할 때의 주요 문제 중 하나였습니다. 이번 릴리스부터는 상담원이 고가용성으로 작업할 수 있습니다. ISE는 UDP 포트 9095를 사용하여 에이전트 간에 하트비트를 교환하여 고가용성을 보장합니다. 서로 다른 도메인 컨트롤러를 모니터링하도록 구성할 수 있는 에이전트의 HA 쌍은 여러 개일 수 있습니다.
확장성
새 에이전트는 지원되는 도메인 컨트롤러 수 및 처리할 수 있는 이벤트 수에 대한 확장 수를 통해 더 나은 지원을 제공합니다. 다음은 테스트한 척도 번호입니다.
- 모니터링되는 최대 도메인 컨트롤러 수(에이전트 2쌍 포함): 74개
- 테스트된 최대 매핑/이벤트 수: 292,000개(DC당 3950개 이벤트)
- 테스트한 최대 TPS: 500개
테스트 설정 아키텍처 확장
기록 이벤트 쿼리
장애 조치의 경우 또는 PIC-Agent에 대해 서비스 재시작을 수행한 경우 데이터가 손실되지 않도록 구성된 시간 동안 이전에 생성된 이벤트를 쿼리하고 PSN 노드로 다시 전송합니다. 기본적으로 ISE는 서비스 시작 시 60초 동안의 과거 이벤트를 쿼리하여 서비스 손실 중에 데이터 손실을 방지합니다.
프로세싱 오버헤드 감소
대규모 또는 과부하 상태에서 CPU를 많이 사용하는 WMI와 달리 EVT는 WMI처럼 많은 리소스를 소비하지 않습니다. 척도 테스트에서는 EVT를 사용하여 쿼리의 성능이 크게 향상되었습니다.
구성
연결 다이어그램
설정
PassiveID 에이전트에 대한 ISE 구성
PassiveID 서비스를 구성하려면 하나 이상의 PSN(정책 서비스 노드)에서 Passive Identity Services를 활성화해야 합니다. 액티브/스탠바이 작동 모드에서 작동하는 패시브 ID 서비스에 최대 2개의 노드를 사용할 수 있습니다. ISE는 Active Directory 도메인에도 조인되어야 하며 해당 도메인에 있는 도메인 컨트롤러만 ISE에 구성된 에이전트에서 모니터링할 수 있습니다. ISE를 Active Directory 도메인에 가입시키려면 Active Directory 통합 가이드를 참조하십시오.
다음과 같이 Administration > System > Deployment > [Choose a PSN] > Edit to enable Passive Identity Services로 이동합니다.
다음 그림과 같이 Work Centers(작업 센터) > PassiveID > Providers(제공자) > Agents(상담원) > Add(추가)로 이동하여 새 상담원을 구축합니다.
참고: 1. ISE가 도메인 컨트롤러에 에이전트를 설치하는 경우 여기에 사용되는 계정에 프로그램을 설치하고 Host FQDN(Fully Qualified Domain Name) 필드에 언급된 서버에서 실행할 수 있는 권한이 있어야 합니다. 여기서 호스트 FQDN은 도메인 컨트롤러 대신 구성원 서버의 FQDN일 수 있습니다.
2. 에이전트가 이미 수동으로 설치되었거나 ISE의 이전 배포에서 MSRPC를 사용하여 설치된 경우 Active Directory 또는 Windows 측에 필요한 권한 및 구성이 PIC 에이전트가 사용하는 다른 프로토콜(3.0 이전에 사용 가능한 유일한 프로토콜)인 WMI에 비해 적습니다. 이 경우에 사용되는 사용자 계정은 Event Log Readers 그룹의 일부인 일반 도메인 계정이 될 수 있습니다. Register Existing Agent(기존 에이전트 등록)를 선택하고 이러한 계정 세부 정보를 사용하여 도메인 컨트롤러에 수동으로 설치된 에이전트를 등록합니다.
구축에 성공한 후 다른 서버에서 다른 에이전트를 구성하고 이를 보조 에이전트로 추가한 다음 이 이미지에 표시된 대로 기본 피어를 추가합니다.
에이전트를 사용하는 도메인 컨트롤러를 모니터링하려면 Work Centers(작업 센터) > PassiveID > Providers(제공자) > Active Directory > [Join Point(가입 포인트)를 클릭] > PassiveID로 이동합니다. Add DCs(DC 추가)를 클릭하고 User-IP Mapping/Events(사용자-IP 매핑/이벤트)가 검색되는 도메인 컨트롤러를 선택한 다음 OK(확인)를 클릭하고 Save(저장)를 클릭하여 이 이미지에 표시된 대로 변경 사항을 저장합니다.
이벤트를 검색하는 데 사용할 수 있는 에이전트를 지정하려면 Work Centers(작업 센터) > PassiveID > Providers(제공자) > Active Directory > [Join Point(조인 지점)를 클릭] > PassiveID로 이동합니다. 도메인 컨트롤러를 선택하고 Edit를 클릭합니다. 사용자 이름과 암호를 입력합니다. 상담원을 선택한 다음 대화 상자를 저장합니다. PassiveID 탭에서 Save(저장)를 클릭하여 컨피그레이션을 완료합니다.
참고: 버전 3.0 패치 4까지 이 섹션에는 구성 및 테스트 옵션이 있습니다.
PassiveID 에이전트 컨피그레이션 파일 이해
PassiveID 에이전트 구성 파일은 C:\Program Files (x86)\Cisco\Cisco ISE PassiveID Agent\PICAgent.exe.config에 있습니다. 컨피그레이션 파일의 내용은 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<구성>
<구성 섹션>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<루트>
<level value="DEBUG" /> <!— 로깅 수준: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL —>
<!— PassiveID 에이전트가 실행되는 서버에서 PassiveID 에이전트에 대해 수집된 로그의 로그 레벨을 설정합니다. -->
<appender-ref ref="RollingFileAppender" />
</root>
<appender name= " RollingFileAppender " type= " log4net.Appender.RollingFileAppender ">
<file value="CiscoISEPICAgent.log" /> <!— 이 항목을 수정하지 마십시오—>
<appendToFile 값="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="5" /> <!— 이 숫자는 롤오버되기 전에 생성되는 최대 로그 파일 수를 설정합니다—>
<maximumFileSize value="10MB" /> <!— 생성되는 각 로그 파일의 최대 크기를 설정합니다—>
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern 값="%date %level - %message%newline" />
</layout>
</appender>
</log4net>
시작
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
<appSettings>
<add key="heartbeatFrequency" value="400" /> <!— 이 숫자는 ISE에서 한 쌍으로 구성된 경우 기본 에이전트와 보조 에이전트 간에 실행되는 하트비트 빈도를 밀리초 단위로 정의합니다—>
<add key="heartbeatThreshold" value="1000"/> <!— 이 숫자는 에이전트가 하트비트를 기다리는 최대 시간(밀리초)을 정의하며, 이 시간 이후에 다른 에이전트가 작동 중지됨으로 표시됩니다—>
<add key="showHeartbeats" value="false" /> <!— 값을 "true"로 변경하여 로그 파일에서 하트비트 메시지를 확인합니다—>
<add key="maxRestThreads" value="200" /> <!— ISE에 이벤트를 전송하기 위해 생성할 수 있는 최대 REST 스레드 수를 정의합니다. Cisco TAC에서 조언하지 않는 한 이 값을 변경하지 마십시오. —>
<add key="mappingTransport" value="rest" /> <!— ISE로 매핑을 전송하는 데 사용되는 미디어의 유형을 정의합니다. 이 값 변경 안 함 —>
<add key="maxHistorySeconds" value="60" /> <!— 서비스 재시작 시 기록 이벤트를 검색해야 하는 이전 기간(초)을 정의합니다. —>
<add key="restTimeout" value="5000" /> <!— ISE에 대한 REST 호출의 시간 제한 값을 정의합니다—>
<add key="showTPS" value="false" /> <!— 이 값을 "true"로 변경하여 ISE에 수신되어 전송된 이벤트의 TPS를 확인합니다—>
<add key="showPOSTS" value="false" /> <!— 이 값을 "true"로 변경하여 ISE로 전송된 이벤트를 인쇄합니다. —>
<add key="nodeFailoverTimeSpan" value="5000" /> <!— 장애 조치를 위해 활성 PassiveID PSN 노드와 통신하는 동안 발생할 수 있는 오류 수를 계산할 임계값(밀리초) 조건을 정의합니다—>
<add key="nodeFailoverMaxErrors" value="5" /> <!— 대기 PassiveID PSN 노드로 장애 조치하기 전에 지정된 nodeFailoverTimeSpan 내에서 허용되는 최대 오류 수를 정의합니다—>
</appSettings>
</configuration>
다음을 확인합니다.
ISE에서 PassiveID 서비스 확인
1. GUI에서 PassiveID 서비스가 활성화되어 있고 ISE의 CLI에서 show application status ise 명령에서 running으로 표시되었는지 확인합니다.
ISE PROCESS NAME STATE PROCESS ID
--------------------------------------------------------------------
Database Listener running 129052
Database Server running 108 PROCESSES
Application Server running 9830
Profiler Database running 5127
ISE Indexing Engine running 13361
AD Connector running 20609
M&T Session Database running 4915
M&T Log Processor running 10041
Certificate Authority Service running 15493
EST Service running 41658
SXP Engine Service disabled
Docker Daemon running 815
TC-NAC Service disabled
pxGrid Infrastructure Service disabled
pxGrid Publisher Subscriber Service disabled
pxGrid Connection Manager disabled
pxGrid Controller disabled
PassiveID WMI Service running 15951
PassiveID Syslog Service running 16531
PassiveID API Service running 17093
PassiveID Agent Service running 17830
PassiveID Endpoint Service running 18281
PassiveID SPAN Service running 20253
DHCP Server (dhcpd) disabled
DNS Server (named) disabled
ISE Messaging Service running 1472
ISE API Gateway Database Service running 4026
ISE API Gateway Service running 7661
Segmentation Policy Service disabled
REST Auth Service disabled
SSE Connector disabled
2. ISE Active Directory 공급자가 Work Centers(작업 센터) > PassiveID > Providers(제공자) > Active Directory > Connection(연결)의 도메인 컨트롤러에 연결되어 있는지 확인합니다.
3. 필요한 도메인 컨트롤러가 Agent at Work Centers(작업 센터) > PassiveID > Providers(제공자) > Active Directory > PassiveID의 에이전트에 의해 모니터링되는지 확인합니다.
4. 모니터링 중인 도메인 컨트롤러의 상태가 작동 중인지 확인합니다. 예를 들어, Work Centers(작업 센터) > PassiveID(PassiveID) > Overview(개요) > Dashboard(대시보드)의 대시보드에서 녹색으로 표시됩니다.
5. Windows 로그온이 Work Centers(작업 센터) > PassiveID > Overview(개요) > Live Sessions(라이브 세션)의 도메인 컨트롤러에 등록되어 있을 때 라이브 세션이 채워지고 있는지 확인합니다.
Windows 서버에서 에이전트 서비스 확인
1. PIC 에이전트가 설치된 서버에서 ISEPICAgent 서비스를 확인합니다.