이 Applied Mitigation Bulletin은 Cisco Network Admission Control Manager의 PSIRT Security Advisory Directory Traversal Vulnerability에 대한 보조 문서이며 관리자가 Cisco 네트워크 장치에 구축할 수 있는 식별 및 완화 기술을 제공합니다.
Cisco Network Admission Control Manager(Cisco NAC Manager)에는 디렉토리 접근 취약성이 포함되어 있습니다. 이 취약점은 인증 없이 원격으로 악용될 수 있으며 최종 사용자 상호 작용이 필요합니다. 이 취약성의 성공적인 이용은 공격자가 영향을 받는 장치 및/또는 네트워크에 대한 정보를 학습할 수 있도록 하는 정보 공개를 허용할 수 있다. 익스플로잇을 위한 공격 벡터는 TCP 포트 443을 사용하는 HTTPS 패킷을 통해 이루어집니다.
이 취약성에는 CVE 식별자 CVE-2011-3305가 할당되었습니다.
Cisco 디바이스는 이러한 취약성에 대한 몇 가지 대응책을 제공합니다. 관리자는 이러한 보호 방법을 인프라 디바이스 및 네트워크를 이동하는 트래픽에 대한 일반적인 보안 모범 사례로 고려하는 것이 좋습니다. 이 문서에서는 이러한 기술에 대한 개요를 제공합니다.
Cisco IOS Software는 iACL(infrastructure access control list)을 사용하여 효과적인 익스플로잇 방지 수단을 제공할 수 있습니다. 이 보호 메커니즘은 이 취약성을 악용하려는 패킷을 필터링하고 삭제합니다.
Cisco ASA 5500 Series Adaptive Security Appliance, ASASM(Adaptive Security Appliance Services Module) 및 FWSM(Firewall Services Module)은 tACL(transit access control list)을 사용하여 Cisco Catalyst 6500 Series 스위치 및 Cisco 7600 Series 라우터에 대해 효과적인 익스플로잇 방지 기능을 제공할 수 있습니다. 이 보호 메커니즘은 이 취약성을 악용하려는 패킷을 필터링하고 삭제합니다.
Cisco IOS NetFlow 레코드는 네트워크 기반 익스플로잇 시도에 대한 가시성을 제공할 수 있습니다.
Cisco IOS Software, Cisco ASA 어플라이언스, ASASM 및 FWSM 방화벽은 syslog 메시지 및 show 명령 출력에 표시되는 카운터 값을 통해 가시성을 제공할 수 있습니다.
완화 및 식별에 대한 구체적인 정보를 다음 장치에 사용할 수 있습니다.
인프라 디바이스를 보호하고 직접 인프라 공격의 위험, 영향 및 효과를 최소화하기 위해 관리자는 인프라 장비에 전송된 트래픽의 정책 시행을 수행하기 위해 iACL(infrastructure access control list)을 구축하는 것이 좋습니다. 관리자는 기존 보안 정책 및 컨피그레이션에 따라 인프라 디바이스로 전송되는 승인된 트래픽만 명시적으로 허용하여 iACL을 구성할 수 있습니다. 인프라 디바이스를 최대한 보호하려면 구축된 iACL을 IP 주소가 구성된 모든 인터페이스의 인그레스 방향으로 적용해야 합니다. iACL 해결 방법은 공격이 신뢰할 수 있는 소스 주소에서 시작되는 경우 이 취약성에 대한 완벽한 보호를 제공할 수 없습니다.
iACL 정책은 영향을 받는 디바이스로 전송되는 TCP 포트 443의 무단 HTTPS 패킷을 거부합니다. 다음 예에서 192.168.60.0/24은 영향을 받는 디바이스에서 사용하는 IP 주소 공간이며, 192.168.100.1의 호스트는 영향을 받는 디바이스에 액세스해야 하는 신뢰할 수 있는 소스로 간주됩니다. 모든 무단 트래픽을 거부하기 전에 라우팅 및 관리 액세스에 필요한 트래픽을 허용하도록 주의해야 합니다. 인프라 주소 공간은 가능한 경우 사용자 및 서비스 세그먼트에 사용되는 주소 공간과 구분되어야 합니다. 이 주소 지정 방법론을 사용하면 iACL의 구축 및 구축에 도움이 됩니다.
iACL에 대한 추가 정보는 코어 보호: Infrastructure Protection Access Control Lists에 있습니다.
ip access-list extended Infrastructure-ACL-Policy !
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable port
!
permit tcp host 192.168.100.1 192.168.60.0 0.0.0.255 eq 443
!
!-- The following vulnerability-specific access control entry
!-- (ACE) can aid in identification of attacks
!
deny tcp any 192.168.60.0 0.0.0.255 eq 443
!
!-- Explicit deny ACE for traffic sent to addresses configured within
!-- the infrastructure address space
!
deny ip any 192.168.60.0 0.0.0.255
!
!-- Permit or deny all other Layer 3 and Layer 4 traffic in accordance
!-- with existing security policies and configurations
!
!-- Apply iACL to interfaces in the ingress direction
!
interface GigabitEthernet0/0
ip access-group Infrastructure-ACL-Policy in
인터페이스 액세스 목록으로 필터링하면 ICMP 도달 불가 메시지를 필터링된 트래픽의 소스로 다시 전송합니다. 이러한 메시지를 생성하면 디바이스에서 CPU 사용률이 증가하는 원치 않는 영향을 미칠 수 있습니다. Cisco IOS Software에서 ICMP 연결 불가능 생성은 기본적으로 500밀리초마다 하나의 패킷으로 제한됩니다. ICMP 연결 불가 메시지 생성은 인터페이스 컨피그레이션 명령 no ip unreachable을 사용하여 비활성화할 수 있습니다. ICMP 연결 불가능 속도 제한은 ip icmp rate-limit unreachable interval-in-ms 전역 구성 명령을 사용하여 기본값에서 변경할 수 있습니다.
관리자가 인터페이스에 iACL을 적용한 후 show ip access-lists 명령은 iACL이 적용된 인터페이스에서 필터링된 TCP 포트 443의 HTTPS 패킷 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인해야 합니다. show ip access-lists Infrastructure-ACL-Policy의 출력 예는 다음과 같습니다.
router#show ip access-lists Infrastructure-ACL-Policy
Extended IP access list Infrastructure-ACL-Policy
10 permit tcp host 192.168.100.1 192.168.60.0 0.0.0.255 eq 443
20 deny tcp any 192.168.60.0 0.0.0.255 eq 443 (17 matches)
30 deny ip any 192.168.60.0 0.0.0.255
router#
앞의 예에서 액세스 목록 Infrastructure-ACL-Policy는 ACE(액세스 제어 목록 항목) 라인 20에 대해 TCP 포트 443에서 17개의 HTTPS 패킷을 삭제했습니다.
ACE 카운터 및 syslog 이벤트를 사용한 인시던트 조사에 대한 자세한 내용은 Identifying Incidents Using Firewall and IOS Router Syslog Events Applied Intelligence 백서를 참조하십시오.
관리자는 ACE 카운터 적중과 같은 특정 조건이 충족될 때 Embedded Event Manager를 사용하여 계측을 제공할 수 있습니다. 보안 컨텍스트의 Embedded Event Manager Applied Intelligence 백서에서는 이 기능 사용 방법에 대한 추가 세부 정보를 제공합니다.
log and log-input ACL(access control list) 옵션을 사용하면 특정 ACE와 일치하는 패킷이 로깅됩니다. log-input 옵션은 패킷 소스 및 목적지 IP 주소와 포트 외에 인그레스 인터페이스의 로깅을 활성화합니다.
주의: 액세스 제어 목록 로깅은 CPU를 많이 사용할 수 있으므로 각별한 주의를 기울여 사용해야 합니다. ACL 로깅의 CPU 영향을 제어하는 요소는 로그 생성, 로그 전송, 로그 지원 ACE와 일치하는 패킷을 전달하는 프로세스 스위칭입니다.
Cisco IOS Software의 경우 ip access-list logging interval in-ms 명령은 ACL 로깅에 의해 유발되는 프로세스 전환의 효과를 제한할 수 있습니다. logging rate-limit rate-per-second [except loglevel] 명령은 로그 생성 및 전송의 영향을 제한합니다.
ACL 로깅의 CPU 영향은 Supervisor Engine 720 또는 Supervisor Engine 32를 사용하는 Cisco Catalyst 6500 Series 스위치와 Cisco 7600 Series 라우터의 하드웨어에서 최적화된 ACL 로깅을 사용하여 해결할 수 있습니다.
ACL 로깅의 컨피그레이션 및 사용에 대한 자세한 내용은 ACL 로깅 적용 인텔리전스 이해 백서를 참조하십시오.
관리자는 Cisco IOS 라우터 및 스위치에서 Cisco IOS NetFlow를 구성하여 취약성을 악용하려는 시도일 수 있는 트래픽 흐름을 식별할 수 있도록 지원할 수 있습니다. 관리자는 플로우를 조사하여 취약성을 악용하려는 시도인지 또는 올바른 트래픽 플로우인지 확인하는 것이 좋습니다.
router#show ip cache flow IP packet size distribution (90784136 total packets): 1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 .000 .698 .011 .001 .004 .005 .000 .004 .000 .000 .003 .000 .000 .000 .000 512 544 576 1024 1536 2048 2560 3072 3584 4096 4608 .000 .001 .256 .000 .010 .000 .000 .000 .000 .000 .000 IP Flow Switching Cache, 4456704 bytes 1885 active, 63651 inactive, 59960004 added 129803821 ager polls, 0 flow alloc failures Active flows timeout in 30 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, 402056 bytes 0 active, 16384 inactive, 0 added, 0 added to flow 0 alloc failures, 0 force free 1 chunk, 1 chunk added last clearing of statistics never Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec) -------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow TCP-Telnet 11393421 2.8 1 48 3.1 0.0 1.4 TCP-FTP 236 0.0 12 66 0.0 1.8 4.8 TCP-FTPD 21 0.0 13726 1294 0.0 18.4 4.1 TCP-WWW 22282 0.0 21 1020 0.1 4.1 7.3 TCP-X 719 0.0 1 40 0.0 0.0 1.3 TCP-BGP 1 0.0 1 40 0.0 0.0 15.0 TCP-Frag 70399 0.0 1 688 0.0 0.0 22.7 TCP-other 47861004 11.8 1 211 18.9 0.0 1.3 UDP-DNS 582 0.0 4 73 0.0 3.4 15.4 UDP-NTP 287252 0.0 1 76 0.0 0.0 15.5 UDP-other 310347 0.0 2 230 0.1 0.6 15.9 ICMP 11674 0.0 3 61 0.0 19.8 15.5 IPv6INIP 15 0.0 1 1132 0.0 0.0 15.4 GRE 4 0.0 1 48 0.0 0.0 15.3 Total: 59957957 14.8 1 196 22.5 0.0 1.5 SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi0/0 192.168.10.201 Gi0/1 192.168.60.122 06 0984 01BB 9 Gi0/1 192.168.150.60 Gi0/0 10.89.16.226 11 0016 12CA 1 Gi0/0 192.168.13.97 Gi0/1 192.168.60.28 06 0B3E 01BB 5 Gi0/0 192.168.10.17 Gi0/1 192.168.60.77 06 0B89 01BB 4 Gi0/0 10.88.226.1 Gi0/1 192.168.202.22 11 007B 007B 1 Gi0/0 10.89.16.226 Gi0/1 192.168.150.60 06 12CA 0016 1 router#
앞의 예에서는 TCP 포트 443(16진수 값 01BB)에 HTTPS에 대한 여러 플로우가 있습니다.
TCP 포트 443의 HTTPS 패킷에 대한 트래픽 흐름만 보려면(16진수 값 01BB), 명령 show ip cache flow | include SrcIf|_06_.*01BB_ 여기에 표시된 대로 관련 TCP NetFlow 레코드를 표시합니다.
router#show ip cache flow | include SrcIf|_06_.*01BB_ SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi0/0 192.168.10.201 Gi0/1 192.168.60.122 06 0984 01BB 9 Gi0/0 192.168.13.97 Gi0/1 192.168.60.28 06 0B3E 01BB 5 Gi0/0 192.168.10.17 Gi0/1 192.168.60.77 06 0B89 01BB 4 router#
인터넷 연결 지점, 파트너 및 공급업체 연결 지점 또는 VPN 연결 지점이 포함될 수 있는 인그레스 액세스 지점에서 네트워크로 들어오는 트래픽으로부터 네트워크를 보호하려면 관리자가 tACL을 구축하여 정책 적용을 수행하는 것이 좋습니다. 관리자는 승인 받은 트래픽만 인그레스 액세스 포인트에서 네트워크에 들어가도록 명시적으로 허용하거나 기존 보안 정책 및 컨피그레이션에 따라 인증 받은 트래픽이 네트워크를 통과하도록 허용하여 tACL을 구성할 수 있습니다. tACL 해결 방법은 공격이 신뢰할 수 있는 소스 주소에서 시작되는 경우 이 취약성에 대한 완벽한 보호를 제공할 수 없습니다.
tACL 정책은 영향을 받는 디바이스로 전송되는 TCP 포트 443의 무단 HTTPS 패킷을 거부합니다. 다음 예에서 192.168.60.0/24은 영향을 받는 디바이스에서 사용하는 IP 주소 공간이며, 192.168.100.1의 호스트는 영향을 받는 디바이스에 액세스해야 하는 신뢰할 수 있는 소스로 간주됩니다. 모든 무단 트래픽을 거부하기 전에 라우팅 및 관리 액세스에 필요한 트래픽을 허용하도록 주의해야 합니다.
tACL에 대한 추가 정보가 트랜짓 액세스 제어 목록: 에지에서 필터링에 있습니다.
!
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable port
! access-list tACL-Policy extended permit tcp host 192.168.100.1 192.168.60.0 255.255.255.0 eq 443 !
!-- The following vulnerability-specific access control entries
!-- (ACEs) can aid in identification of attacks
! access-list tACL-Policy extended deny tcp any 192.168.60.0 255.255.255.0 eq 443 !
!-- Permit or deny all other Layer 3 and Layer 4 traffic in accordance
!-- with existing security policies and configurations
!
!-- Explicit deny for all other IP traffic
! access-list tACL-Policy extended deny ip any any !
!-- Apply tACL to interface(s) in the ingress direction
! access-group tACL-Policy in interface outside
인터페이스에 tACL이 적용되면 관리자는 show access-list 명령을 사용하여 필터링된 TCP 포트 443의 HTTPS 패킷 수를 식별할 수 있습니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인하는 것이 좋습니다. show access-list tACL-Policy의 출력 예는 다음과 같습니다.
firewall#show access-list tACL-Policy access-list tACL-Policy; 3 elements access-list tACL-Policy line 1 extended permit tcp host 192.168.100.1 192.168.60.0 255.255.255.0 eq https (hitcnt=34) access-list tACL-Policy line 2 extended deny tcp any 192.168.60.0 255.255.255.0 eq https (hitcnt=139) access-list tACL-Policy line 3 extended deny ip any any (hitcnt=8) firewall#
앞의 예에서 액세스 목록 tACL-Policy는 신뢰할 수 없는 호스트 또는 네트워크로부터 수신한 TCP 포트 443에서 139개의 HTTPS 패킷을 삭제했습니다. 또한 syslog 메시지 106023은 소스 및 목적지 IP 주소, 소스 및 목적지 포트 번호, 거부된 패킷에 대한 IP 프로토콜을 포함하는 중요한 정보를 제공할 수 있습니다.
log 키워드가 없는 ACE(액세스 제어 항목)에 의해 거부된 패킷에 대해 방화벽 syslog 메시지 106023이 생성됩니다. 이 syslog 메시지에 대한 추가 정보는 Cisco Security Appliance 시스템 로그 메시지 - 106023에 있습니다.
Cisco ASA 5500 Series Adaptive Security Appliance 또는 Cisco PIX 500 Series Security Appliance에 대한 syslog 구성 정보는 보안 어플라이언스 모니터링 - 로그 구성 및 관리에 있습니다. Cisco Catalyst 6500 Series 스위치 및 Cisco 7600 Series 라우터에 대한 FWSM의 syslog 구성에 대한 정보는 Monitoring the Firewall Services Module에 있습니다.
다음 예에서는 show logging | grep regex 명령은 방화벽의 로깅 버퍼에서 syslog 메시지를 추출합니다. 이러한 메시지는 본 문서에 설명된 취약성을 악용하려는 잠재적 시도를 나타낼 수 있는 거부된 패킷에 대한 추가 정보를 제공합니다. 로깅된 메시지에서 특정 데이터를 검색하기 위해 grep 키워드와 다른 정규식을 사용할 수 있습니다.
정규식 구문에 대한 추가 정보는 정규식 만들기에 있습니다.
firewall#show logging | grep 106023 Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.18/2944 dst inside:192.168.60.191/443 by access-group "tACL-Policy" Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.205/2945 dst inside:192.168.60.33/443 by access-group "tACL-Policy" Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.49/2946 dst inside:192.168.60.240/443 by access-group "tACL-Policy" Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.100/2947 dst inside:192.168.60.115/443 by access-group "tACL-Policy" Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.88/2949 dst inside:192.168.60.38/443 by access-group "tACL-Policy" Oct 05 2011 00:15:13: %ASA-4-106023: Deny tcp src outside:192.0.2.155/2950 dst inside:192.168.60.250/443 by access-group "tACL-Policy" firewall#
앞의 예에서 tACL tACL 정책에 대해 로깅된 메시지는 영향을 받는 디바이스에 할당된 주소 블록으로 전송된 TCP 포트 443에 대한 HTTPS 패킷을 보여줍니다.
ASA 및 PIX 보안 어플라이언스의 syslog 메시지에 대한 추가 정보는 Cisco Security Appliance System Log Messages에 있습니다. FWSM용 syslog 메시지에 대한 추가 정보는 Catalyst 6500 Series Switch 및 Cisco 7600 Series Router Firewall Services Module Logging System Log Messages에 있습니다.
syslog 이벤트를 사용한 인시던트 조사에 대한 자세한 내용은 Identifying Incidents Using Firewall and IOS Router Syslog Events Applied Intelligence 백서를 참조하십시오.
개정 1.0 | 2011년 10월 5일 | 초기 공개 |
Cisco 제품의 보안 취약성 보고, 보안 사고에 대한 지원 요청, Cisco의 보안 정보 수신을 위한 등록 등에 대한 자세한 내용은 Cisco의 전 세계 웹 사이트(https://sec.cloudapps.cisco.com/security/center/resources/security_vulnerability_policy.html)에서 확인할 수 있습니다. 여기에는 Cisco 보안 알림과 관련된 언론 문의에 대한 지침이 포함됩니다. 모든 Cisco 보안 권고 사항은 http://www.cisco.com/go/psirt에서 확인할 수 있습니다.