본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco FireSight 어플라이언스에서 리미디에이션 모듈을 사용하여 공격을 탐지하고 Cisco ISE(Identity Service Engine)를 정책 서버로 사용하여 공격자를 자동으로 리미디에이션하는 방법에 대해 설명합니다. 이 문서에 제공된 예는 ISE를 통해 인증하는 원격 VPN 사용자의 교정에 사용되는 방법을 설명하지만, 802.1x/MAB/WebAuth 유선 또는 무선 사용자에게도 사용될 수 있습니다.
참고: 이 문서에서 참조하는 리미디에이션 모듈은 Cisco에서 공식적으로 지원하지 않습니다. 커뮤니티 포털에서 공유되며 누구나 사용할 수 있습니다. 버전 5.4 이상에서는 pxGrid 프로토콜을 기반으로 제공되는 최신 교정 모듈도 있습니다. 이 모듈은 버전 6.0에서는 지원되지 않지만 이후 버전에서는 지원될 예정입니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
시스템을 구성하려면 이 섹션에 제공된 정보를 사용하십시오.
참고: 이 섹션에서 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용하십시오.
이 문서에 설명된 예에서는 다음 네트워크 설정을 사용합니다.
이 네트워크 설정에 대한 흐름은 다음과 같습니다.
앞서 언급한 것처럼, 이 시나리오는 ISE가 인증에 사용되고 네트워크 액세스 디바이스가 RADIUS CoA(모든 최신 Cisco 디바이스)를 지원하는 한 모든 유형의 인증된 세션(VPN, 유선 802.1x/MAB/Webauth, 무선 802.1x/MAB/Webauth)에 대해 작동합니다.
팁: 사용자를 격리 상태에서 이동하려면 ISE GUI를 사용할 수 있습니다. 향후 버전의 리미디에이션 모듈에서도 이를 지원할 수 있습니다.
참고: VM 어플라이언스는 이 문서에서 설명하는 예제에 사용됩니다. 초기 컨피그레이션만 CLI를 통해 수행됩니다. 모든 정책은 Cisco Defense Center에서 구성합니다. 자세한 내용은 이 문서의 관련 정보 섹션을 참조하십시오.
VM에는 관리용 1개와 인라인 검사용 2개(내부/외부)의 3개 인터페이스가 있습니다.
VPN 사용자의 모든 트래픽은 Firepower을 통해 이동합니다.
올바른 라이센스를 설치하고 Firepower 디바이스를 추가한 후 Policies(정책) > Access Control(액세스 제어)로 이동하여 HTTP 트래픽을 172.16.32.1로 삭제하기 위해 사용되는 액세스 정책을 생성합니다.
다른 모든 트래픽은 수락됩니다.
커뮤니티 포털에서 공유되는 ISE 모듈의 현재 버전은 ISE 1.2 Remediation Beta 1.3.19입니다.
Policies(정책) > Actions(작업) > Remediations(교정) > Modules(모듈)로 이동하고 파일을 설치합니다.
그런 다음 올바른 인스턴스를 만들어야 합니다. Policies(정책) > Actions(작업) > Remediations(교정) > Instances(인스턴스)로 이동하고 REST API에 필요한 ISE 관리 자격 증명과 함께 PAN(Policy Administration Node)의 IP 주소를 제공합니다(ERS Admin 역할을 사용하는 별도의 사용자가 권장됨).
소스 IP 주소(공격자)도 교정에 사용해야 합니다.
이제 특정 상관관계 규칙을 구성해야 합니다. 이 규칙은 이전에 구성된 액세스 제어 규칙(DropTCP80)과 일치하는 연결이 시작될 때 트리거됩니다. 규칙을 구성하려면 Policies(정책) > Correlation(상관관계) > Rule Management(규칙 관리)로 이동합니다.
이 규칙은 상관관계 정책에서 사용됩니다. 새 정책을 생성하려면 Policies > Correlation > Policy Management로 이동한 다음 구성된 규칙을 추가합니다. 오른쪽에서 Remediate(교정)를 클릭하고 sourceIP(이전에 구성됨)와 syslog에 대한 remediation(교정) 작업을 추가합니다.
상관관계 정책을 활성화해야 합니다.
VPN 게이트웨이 역할을 하는 ASA는 인증에 ISE를 사용하도록 구성됩니다. 또한 어카운팅 및 RADIUS CoA를 활성화해야 합니다.
tunnel-group SSLVPN-FIRESIGHT general-attributes
address-pool POOL-VPN
authentication-server-group ISE
accounting-server-group ISE
default-group-policy POLICY
aaa-server ISE protocol radius
interim-accounting-update periodic 1
dynamic-authorization
aaa-server ISE (inside) host 172.16.31.202
key *****
webvpn
enable outside
enable inside
anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.0.00051-k9.pkg 1
anyconnect enable
tunnel-group-list enable
error-recovery disable
Administration(관리) > Network Devices(네트워크 디바이스)로 이동하고 RADIUS 클라이언트 역할을 하는 ASA를 추가합니다.
격리 API 및 기능을 활성화하려면 Administration > System > Settings > Adaptive Network Control로 이동합니다.
참고: 버전 1.3 및 이전 버전에서는 이 기능을 Endpoint Protection Service라고 합니다.
격리된 호스트에 사용되는 DACL(Downloadable Access Control List)을 생성하려면 Policy(정책) > Results(결과) > Authorization(권한 부여) > Downloadable ACL(다운로드 가능 ACL)로 이동합니다.
Policy(정책) > Results(결과) > Authorization(권한 부여) > Authorization Profile(권한 부여 프로파일)로 이동하고 새 DACL을 사용하여 권한 부여 프로파일을 생성합니다.
두 개의 권한 부여 규칙을 생성해야 합니다. 첫 번째 규칙(ASA-VPN)은 ASA에서 종료되는 모든 VPN 세션에 대한 전체 액세스를 제공합니다. 호스트가 이미 격리에 있는 경우(제한된 네트워크 액세스가 제공됨) 재인증된 VPN 세션에 대해 규칙 ASA-VPN_quarantine이 계수됩니다.
이러한 규칙을 생성하려면 Policy(정책) > Authorization(권한 부여)으로 이동합니다.
컨피그레이션이 제대로 작동하는지 확인하려면 이 섹션에 제공된 정보를 사용합니다.
ASA는 DACL(전체 네트워크 액세스) 없이 세션을 생성합니다.
asav# show vpn-sessiondb details anyconnect
Session Type: AnyConnect
Username : cisco Index : 37
Assigned IP : 172.16.50.50 Public IP : 192.168.10.21
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 18706 Bytes Rx : 14619
Group Policy : POLICY Tunnel Group : SSLVPN-FIRESIGHT
Login Time : 03:03:17 UTC Wed May 20 2015
Duration : 0h:01m:12s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac10206400025000555bf975
Security Grp : none
......
DTLS-Tunnel:
<some output omitted for clarity>
사용자가 http://172.16.32.1에 액세스하려고 하면 액세스 정책이 적중되고, 해당 트래픽이 인라인으로 차단되며, syslog 메시지가 Firepower 관리 IP 주소에서 전송됩니다.
May 24 09:38:05 172.16.31.205 SFIMS: [Primary Detection Engine
(cbe45720-f0bf-11e4-a9f6-bc538df1390b)][AccessPolicy] Connection Type: Start, User:
Unknown, Client: Unknown, Application Protocol: Unknown, Web App: Unknown,
Access Control Rule Name: DropTCP80, Access Control Rule Action: Block,
Access Control Rule Reasons: Unknown, URL Category: Unknown, URL Reputation:
Risk unknown, URL: Unknown, Interface Ingress: eth1, Interface Egress: eth2,
Security Zone Ingress: Internal, Security Zone Egress: External, Security
Intelligence Matching IP: None, Security Intelligence Category: None, Client Version:
(null), Number of File Events: 0, Number of IPS Events: 0, TCP Flags: 0x0,
NetBIOS Domain: (null), Initiator Packets: 1, Responder Packets: 0, Initiator Bytes:
66, Responder Bytes: 0, Context: Unknown, SSL Rule Name: N/A, SSL Flow Status: N/A,
SSL Cipher Suite: N/A, SSL Certificate: 0000000000000000000000000000000000000000,
SSL Subject CN: N/A, SSL Subject Country: N/A, SSL Subject OU: N/A, SSL Subject Org:
N/A, SSL Issuer CN: N/A, SSL Issuer Country: N/A, SSL Issuer OU: N/A, SSL Issuer Org:
N/A, SSL Valid Start Date: N/A, SSL Valid End Date: N/A, SSL Version: N/A, SSL Server
Certificate Status: N/A, SSL Actual Action: N/A, SSL Expected Action: N/A, SSL Server
Name: (null), SSL URL Category: N/A, SSL Session ID:
0000000000000000000000000000000000000000000000000000000000000000, SSL Ticket Id:
0000000000000000000000000000000000000000, {TCP} 172.16.50.50:49415 -> 172.16.32.1:80
FireSight 관리(Defense Center) 상관관계 정책이 적중합니다. 이는 Defense Center에서 전송되는 syslog 메시지에 의해 보고됩니다.
May 24 09:37:10 172.16.31.206 SFIMS: Correlation Event:
CorrelateTCP80Block/CorrelationPolicy at Sun May 24 09:37:10 2015 UTCConnection Type:
FireSIGHT 172.16.50.50:49415 (unknown) -> 172.16.32.1:80 (unknown) (tcp)
이 단계에서 Defense Center는 ISE에 대한 REST API(격리) 호출을 사용합니다. ISE는 HTTPS 세션이며 Wireshark에서 암호 해독할 수 있습니다(SSL(Secure Sockets Layer) 플러그인 및 PAN 관리 인증서의 개인 키 사용).
GET 요청에서 공격자의 IP 주소가 전달되고(172.16.50.50) 해당 호스트는 ISE에 의해 격리됩니다.
Analysis(분석) > Correlation(상관관계) > Status(상태)로 이동하여 성공적인 교정을 확인합니다.
이 단계에서 ISE port-management.log는 CoA를 전송해야 함을 알립니다.
DEBUG [RMI TCP Connection(142)-127.0.0.1][] cisco.cpm.prrt.impl.PrRTLoggerImpl
-::::- send() - request instanceof DisconnectRequest
clientInstanceIP = 172.16.31.202
clientInterfaceIP = 172.16.50.50
portOption = 0
serverIP = 172.16.31.100
port = 1700
timeout = 5
retries = 3
attributes = cisco-av-pair=audit-session-id=ac10206400021000555b9d36
Calling-Station-ID=192.168.10.21
Acct-Terminate-Cause=Admin Reset
런타임(prrt-server.log)은 NAD에 CoA 종료 메시지를 보내 세션(ASA)을 종료합니다.
DEBUG,0x7fad17847700,cntx=0000010786,CPMSessionID=2e8cdb62-bc0a-4d3d-a63e-f42ef8774893,
CallingStationID=08:00:27:DA:EF:AD, RADIUS PACKET: Code=40 (
DisconnectRequest) Identifier=9 Length=124
[4] NAS-IP-Address - value: [172.16.31.100]
[31] Calling-Station-ID - value: [08:00:27:DA:EF:AD]
[49] Acct-Terminate-Cause - value: [Admin Reset]
[55] Event-Timestamp - value: [1432457729]
[80] Message-Authenticator - value:
[00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00]
[26] cisco-av-pair - value: [audit-session-id=ac10206400021000555b9d36],
RadiusClientHandler.cpp:47
ise.psc에서는 다음과 유사한 알림을 전송합니다.
INFO [admin-http-pool51][] cisco.cpm.eps.prrt.PrrtManager -:::::- PrrtManager
disconnect session=Session CallingStationID=192.168.10.21 FramedIPAddress=172.16.50.50
AuditSessionID=ac10206400021000555b9d36 UserName=cisco PDPIPAddress=172.16.31.202
NASIPAddress=172.16.31.100 NASPortID=null option=PortDefault
Operations(운영) > Authentication(인증)으로 이동할 때, Dynamic Authorization succeeded(동적 권한 부여 성공)가 표시됩니다.
최종 사용자는 세션의 연결이 끊겼음을 나타내기 위해 다음과 같은 알림을 보냅니다(802.1x/MAB/게스트 유선/무선의 경우 이 프로세스는 투명함).
Cisco AnyConnect 로그의 세부사항은 다음과 같습니다.
10:48:05 AM Establishing VPN...
10:48:05 AM Connected to 172.16.31.100.
10:48:20 AM Disconnect in progress, please wait...
10:51:20 AM The secure gateway has terminated the VPN connection.
The following message was received from the secure gateway: COA initiated
Always-on VPN이 구성되었으므로 새 세션이 즉시 구축됩니다. 이번에는 ISE ASA-VPN_quarantine 규칙이 적중하여 제한된 네트워크 액세스를 제공합니다.
참고: DACL은 별도의 RADIUS 요청에서 다운로드됩니다.
액세스가 제한된 세션은 ASA에서 show vpn-sessiondb detail anyconnect CLI 명령을 사용하여 확인할 수 있습니다.
asav# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : cisco Index : 39
Assigned IP : 172.16.50.50 Public IP : 192.168.10.21
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 11436 Bytes Rx : 4084
Pkts Tx : 8 Pkts Rx : 36
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : POLICY Tunnel Group : SSLVPN-FIRESIGHT
Login Time : 03:43:36 UTC Wed May 20 2015
Duration : 0h:00m:10s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac10206400027000555c02e8
Security Grp : none
......
DTLS-Tunnel:
<some output ommited for clarity>
Filter Name : #ACSACL#-IP-DENY_ALL_QUARANTINE-5561da76
이 섹션에서는 컨피그레이션의 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.
ISE 교정 스크립트는 다음 위치에 있습니다.
root@Defence:/var/sf/remediations/ISE_1.3.19# ls
_lib_ ise-instance ise-test.pl ise.pl module.template
이 스크립트는 표준 SF(SourceFire) 로깅 하위 시스템을 사용하는 간단한 펄 스크립트입니다. 교정이 실행되면 /var/log/messages를 통해 결과를 확인할 수 있습니다.
May 24 19:30:13 Defence SF-IMS[2414]: ise.pl:SourceIP-Remediation [INFO] [2414]
quar_ip:172.16.50.50 (1->3 sid:1) Starting remediation
May 24 19:30:13 Defence SF-IMS[2414]: ise.pl:SourceIP-Remediation [INFO] [2414]
quar_ip:172.16.50.50 (1->3 sid:1) 172.16.31.202 - Success 200 OK - Quarantined
172.16.50.50 as admin
ISE에서 Adaptive Network Control 서비스를 활성화해야 합니다. 런타임 프로세스에서 자세한 로그를 보려면(prrt-management.log 및 prrt-server.log) Runtime-AAA에 대한 DEBUG 레벨을 활성화해야 합니다. 디버그를 활성화하려면 Administration > System > Logging > Debug Log Configuration으로 이동합니다.
또한 격리 요청의 모든 시도 및 결과에 대한 정보를 보기 위해 Operations(운영) > Reports(보고서) > Endpoint and Users(엔드포인트 및 사용자) > Adaptive Network Control Audit(적응형 네트워크 제어 감사)으로 이동할 수 있습니다.
VPN 세션 장애(802.1x/MAB 정상 작동)와 관련된 ISE 버그에 대한 자세한 내용은 Cisco 버그 ID CSCuu41058(ISE 1.4 엔드포인트 격리 불일치 및 VPN 장애)을 참조하십시오.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
12-Nov-2015 |
최초 릴리스 |