-
이 Applied Mitigation Bulletin은 PSIRT Security Advisory Cisco Unified IP Phone Local Kernel System Call Input Validation Vulnerability에 대한 부속 문서이며 관리자가 Cisco 네트워크 장치에 구축할 수 있는 식별 및 완화 기술을 제공합니다.
-
Cisco TNP 폰이라고도 하는 Cisco Unified IP Phones 7900 Series에는 입력 유효성 검사 취약성이 포함되어 있습니다. 이 취약성은 userspace에서 실행 중인 응용 프로그램에서 커널 시스템 호출로 전달된 입력을 제대로 확인하지 못했기 때문입니다. 그러한 공격은 권한이 없는 컨텍스트에서 비롯될 수 있습니다. 공격자는 디바이스 후면에 있는 AUX 포트를 통해 로컬 액세스를 얻거나 SSH를 통해 디바이스에 인증하고 문제를 악용하도록 설계된 공격자 제어 바이너리를 실행하여 이 문제를 악용할 수 있습니다. SSH 메서드는 Cisco Unified Call Manager에 의해 프로비저닝되면 디바이스에서 기본적으로 비활성화됩니다.
익스플로잇을 위한 공격 벡터는 로컬 콘솔 및 다음 프로토콜과 포트를 사용하는 패킷을 통해 이루어집니다.
- TCP 포트 22를 사용하는 SSH
- 1023보다 큰 임의의 UDP 포트를 사용하는 TFTP
이 취약성에는 CVE(Common Vulnerabilities and Exposures) 식별자 CVE-2012-5445가 할당되었습니다.
-
취약한 소프트웨어, 영향을 받지 않는 소프트웨어, 그리고 고정된 소프트웨어에 대한 정보는 Cisco Security Advisory에서 확인할 수 있습니다. Cisco Security Advisory는 다음 링크에서 확인할 수 있습니다. https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20130109-uipphone
-
Cisco 디바이스는 이러한 취약성에 대한 몇 가지 대응책을 제공합니다. 관리자는 이러한 보호 방법을 인프라 디바이스 및 네트워크를 이동하는 트래픽에 대한 일반적인 보안 모범 사례로 고려하는 것이 좋습니다. 이 문서에서는 이러한 기술에 대한 개요를 제공합니다.
조직의 위험 평가 및 완화 프로세스에서는 이 문서에 설명된 취약성의 다음과 같은 측면을 고려할 수 있습니다.- 성공하려면 SSH 인증이 네트워크 또는 디바이스 후면에 있는 AUX 포트를 통해 이루어져야 합니다.
- Cisco Unified IP Phone이 프로비저닝되면 SSH가 비활성화됩니다.
- 전화기에 대한 인증에 성공한 후 공격자는 합법적인 TFTP 서버의 IP 주소를 스푸핑하여 전화기에서 악성, 서명되지 않은 이진 파일을 다운로드하도록 시도해야 합니다.
- Cisco Unified Communications Manager 8.0.1 이상에서는 기본적으로 TFTP를 통해 폰으로 전송된 컨피그레이션 파일에 서명하며 폰 컨피그레이션 파일 암호화 보안을 지원합니다. 디바이스 컨피그레이션 파일의 서명 및 암호화는 TFTP 서버 또는 서버 응답을 스푸핑하여 파일을 변조하거나 교체하는 것을 방지합니다. 디바이스가 파일을 사용하기 전에 암호화 서명이 확인되기 때문입니다.
Cisco Unified Communications Manager는 다음과 같은 방법으로 효과적인 익스플로잇 방지를 제공할 수 있습니다.
- Cisco Unified IP Phone SSH 서버 비활성화
- 암호화된 전화기 컨피그레이션 파일 구성
이러한 보호 메커니즘은 콘솔 액세스를 방지할 뿐만 아니라 전화기에서 실행하려고 시도하는 컨피그레이션 파일의 무결성과 유효성을 검증합니다.
Cisco IOS Software는 다음 방법을 사용하여 효과적인 익스플로잇 방지 수단을 제공할 수 있습니다.
- iACL(Infrastructure Access List)
- VLAN 액세스 목록(vACL)
- uRPF(유니캐스트 역방향 경로 전달)
- DHCP 스누핑
- 동적 ARP 검사(DAI)
- IP Source Guard
- 802.1x
이러한 보호 메커니즘은 필터링 및 삭제를 수행하고 이 취약성을 악용하려는 패킷의 소스 MAC 및 IP 주소를 확인합니다.
uRPF의 올바른 배포 및 구성은 스푸핑된 소스 IP 주소를 사용하는 패킷을 사용하는 공격에 대한 효과적인 보호 방법을 제공합니다. uRPF는 가능한 모든 트래픽 소스에 가깝게 배포해야 합니다.
DAI를 적절하게 구축하고 구성하면 레이어 2에서 스푸핑 공격을 효과적으로 방지할 수 있습니다. DAI 구축에는 DHCP 스누핑을 구현해야 합니다. DAI는 유효하지 않은 IP-MAC 주소 바인딩이 있는 모든 ARP 패킷을 삭제합니다.
IPSG의 적절한 구축 및 구성은 액세스 레이어에서 스푸핑 공격을 효과적으로 방어합니다
Cisco ASA 5500 Series Adaptive Security Appliance, Cisco Catalyst 6500 Series ASASM(ASA Services Module), Cisco Catalyst 6500 Series Switches 및 Cisco 7600 Series Routers용 FWSM(Firewall Services Module)에서도 다음을 사용하여 효과적인 익스플로잇 방지 수단을 제공할 수 있습니다.
- 트랜짓 액세스 제어 목록(tACL)
- uRPF(유니캐스트 역방향 경로 전달)
이러한 보호 메커니즘은 이 취약성을 악용하려는 패킷의 소스 IP 주소를 확인하고 필터링하고 삭제합니다.
-
조직은 이 취약성의 잠재적인 영향을 판단하기 위해 표준 위험 평가 및 완화 프로세스를 따르는 것이 좋습니다. 분류(Triage)란 성공 가능성이 가장 높은 프로젝트를 분류하고 노력을 우선 순위를 정하는 것을 말한다. Cisco는 조직이 정보 보안 팀을 위해 위험 기반 분류 기능을 개발하는 데 도움이 될 문서를 제공했습니다. 보안 취약성 알림에 대한 위험 분류 및 위험 분류 및 프로토타이핑은 조직이 반복 가능한 보안 평가 및 대응 프로세스를 개발하는 데 도움이 될 수 있습니다.
-
주의: 모든 완화 기법의 효과는 제품 혼합, 네트워크 토폴로지, 트래픽 동작, 조직 임무 등 특정 고객 상황에 따라 달라집니다. 모든 컨피그레이션 변경과 마찬가지로, 변경 사항을 적용하기 전에 이 컨피그레이션의 영향을 평가합니다.
완화 및 식별에 대한 구체적인 정보를 다음 장치에 사용할 수 있습니다.
- Cisco Unified Communications Manager
- Cisco IOS 라우터 및 스위치
- Cisco IOS NetFlow 및 Cisco IOS Flexible NetFlow
- Cisco ASA, Cisco ASASM 및 Cisco FWSM 방화벽
- Cisco 보안 관리자
Cisco Unified Communications Manager
Cisco Unified Communication System의 구성 요소를 보호하는 것은 음성 통화의 무결성과 기밀성을 보호하는 데 필요합니다. 특히 Unified Communications 기술 및 음성 네트워크와 관련된 보안 지침은 관리자가 Cisco Unified Communications 시스템을 더 안전하게 보호할 수 있도록 지원합니다. 이러한 보안 지침 리소스에는 다음이 포함됩니다.
- Cisco Unified Communications System 9.x SRND - Unified Communications 보안
- Cisco Unified Communications Manager 보안 가이드, 릴리스 8.6(1)
- Cisco IP Phone 인증서 및 보안 통신
Cisco Unified Communications Manager 내에서 이 문서에 설명된 취약성을 완화하기 위한 특정 설정을 사용할 수 있습니다. 이 설정에 대해서는 아래에서 각각 설명합니다.
완화: Cisco Unified IP Phone PC 포트 비활성화
조직 네트워크에 대한 무단 액세스를 방지하기 위해 관리자는 로비, 회의실 및 물리적으로 안전하지 않은 기타 Cisco Unified IP Phone에서 PC 포트를 비활성화하는 것이 좋습니다. 관리자는 다음 단계를 수행하여 PC 포트를 비활성화할 수 있습니다.
1단계: Cisco Unified Communications Manager Administration(Cisco Unified Communications Manager 관리) 인터페이스에서 Device(디바이스) > Phone(전화기)을 선택합니다.
2단계: 적절한 검색 기준을 사용하여 PC 포트를 비활성화해야 하는 전화기를 나열하고 Find(찾기)를 선택합니다.
3단계: Phone Configuration(전화기 컨피그레이션) 창을 열려면 디바이스 이름을 선택합니다
4단계: PC Port 제품별 매개변수 찾기
5단계: PC Port(PC 포트) 매개변수의 드롭다운 목록에서 Disabled(비활성화됨)를 선택합니다
6단계: Save(저장)를 선택합니다.
7단계: Reset(재설정)을 선택합니다.
Cisco Unified IP Phone에서 PC 포트를 비활성화하는 방법에 대한 자세한 내용은 Cisco Unified Communications Manager 보안 가이드 문서의 PC 포트 비활성화 설정 섹션에서 확인할 수 있습니다.
완화: Cisco Unified IP Phone SSH 서버 비활성화
기본적으로 Cisco Unified IP Phone SSH 서버는 비활성화되어 있습니다. 이 문서에 설명된 취약성을 악용하려는 원격 액세스 시도를 방지하려면 이 설정을 확인해야 합니다. 관리자는 다음 단계를 수행하여 설정을 확인할 수 있습니다.
1단계: Cisco Unified Communications Manager Administration(Cisco Unified Communications Manager 관리) 인터페이스에서 Device(디바이스) > Phone(전화기)을 선택합니다.
2단계: 적절한 검색 기준을 사용하여 확인해야 할 전화기를 나열하고 Find(찾기)를 선택합니다.
3단계: Phone Configuration(전화기 컨피그레이션) 창을 열려면 디바이스 이름을 선택합니다
4단계: SSH Access 제품별 매개변수를 찾습니다
5단계: SSH Access 매개 변수의 드롭다운 목록에서 Disabled(비활성화됨)가 선택되어 있는지 확인합니다.
Cisco Unified IP Phone에서 SSH 서버를 비활성화하는 방법에 대한 자세한 내용은 Cisco Unified IP Phone 8961, 9951 및 9971 Administration Guide for Cisco Unified Communications Manager 문서의 Enabling and Disabling SSH 섹션에 나와 있습니다.
완화: 암호화된 전화기 컨피그레이션 파일 구성
관리자는 프라이버시를 보장하기 위해 Cisco Unified IP Phone 구성 파일의 암호화를 구성해야 합니다. 컨피그레이션 파일은 Unified Communications Manager TFTP 서버에서 다운로드됩니다. 암호화 구성은 또한 암호화되지 않고 디지털 서명되지 않았으며 인증된 소스에서 수신된 모든 컨피그레이션 파일은 무시되고 삭제되므로 이 문서에 설명된 취약성을 완화합니다.
Cisco Unified Communications Manager 소프트웨어 릴리스 8.0(1) 이상에서는 기본적으로 전화 구성 파일에 서명하고 전화 구성 파일 암호화 보안을 지원하는 기능을 제공합니다. 기본 기능별 보안에 대한 추가 정보는 Cisco Unified Communications Manager 보안 가이드 문서의 Security by Default 섹션에 있습니다.
암호화된 전화기 컨피그레이션 파일을 구성하는 단계는 Encryption Configuration File Configuration Checklist에서 자세히 다룹니다. 암호화된 전화기 컨피그레이션 파일에 대한 자세한 내용은 Cisco Unified Communications Manager 보안 가이드 문서의 암호화된 전화기 컨피그레이션 파일 구성 및 전화기 보안 프로파일 구성 섹션에 나와 있습니다.
관리자는 암호화된 전화기 컨피그레이션 파일을 확인하기 위해 다음 단계를 수행할 수 있습니다.
1단계: Cisco Unified Communications Manager Administration(Cisco Unified Communications Manager 관리) 인터페이스에서 System(시스템) > Security Profile(보안 프로파일) > Phone Security Profile(전화기 보안 프로파일)을 선택합니다
2단계: 검색 조건을 입력하여 데이터베이스에서 적절한 레코드를 찾은 후 찾기를 선택합니다.
3단계: 검토할 레코드 선택
4단계: TFTP Encrypted Config 보안 프로파일 매개변수를 찾습니다
5단계: TFTP Encrypted Config(TFTP 암호화 컨피그레이션) 매개변수의 확인란이 선택되었는지 확인합니다
Cisco IOS 라우터 및 스위치
완화: 인프라 액세스 제어 목록
인프라 디바이스를 보호하고 직접 인프라 공격의 위험, 영향 및 효과를 최소화하기 위해 관리자는 인프라 장비에 전송된 트래픽의 정책 시행을 수행하기 위해 iACL(infrastructure access control list)을 구축하는 것이 좋습니다. 관리자는 기존 보안 정책 및 컨피그레이션에 따라 인프라 디바이스로 전송되는 승인된 트래픽만 명시적으로 허용하여 iACL을 구성할 수 있습니다. 인프라 디바이스를 최대한 보호하려면 구축된 iACL을 IP 주소가 구성된 모든 인터페이스의 인그레스 방향으로 적용해야 합니다. iACL 해결 방법은 공격이 신뢰할 수 있는 소스 주소에서 시작되는 경우 이 취약성에 대한 완벽한 보호를 제공할 수 없습니다.
Cisco VLAN 기술은 물리적 네트워크를 여러 논리적 네트워크로 분리합니다. 다음과 같은 이유로 별도의 음성 및 데이터 VLAN을 사용하는 것이 좋습니다.
- 공간 절약 및 외부 네트워크로부터 음성 장치 보호 음성 또는 보조 VLAN에 있는 전화기의 사설 주소 지정은 주소 보존을 보장하며 공용 네트워크를 통해 전화기에 직접 액세스할 수 없습니다. PC 및 서버는 일반적으로 공개적으로 라우팅된 서브넷 주소로 처리되지만, 음성 엔드포인트는 RFC 1918 사설 서브넷 주소를 사용하여 처리할 수 있습니다.
- 음성 장치에 대한 QoS(Quality of Service) 신뢰 경계 확장 Cisco 스위치는 Cisco Discovery Protocol을 사용하여 IP Phone을 검색하고 QoS 신뢰를 자동으로 전화 포트로 동적으로 확장할 수 있습니다.
- 악의적인 네트워크 공격으로부터 보호 VLAN 액세스 제어, 802.1Q 및 802.1p 태깅은 웜, DoS(Denial of Service) 공격, 데이터 디바이스가 패킷 태깅을 통해 우선 순위 큐에 액세스하려는 시도와 같은 악의적인 내부 및 외부 네트워크 공격으로부터 음성 디바이스를 보호할 수 있습니다.
- 관리 및 구성 용이성 액세스 레이어에서 음성 및 데이터 디바이스를 위한 별도의 VLAN을 통해 관리가 용이하고 QoS 컨피그레이션이 간소화됩니다.
아래의 iACL 예에서 액세스 목록은 Infrastructure-ACLdata-Policy 및 IPv6-Infrastructure-ACLdata-Policy를 거부합니다. 데이터 네트워크에서 음성 네트워크의 영향을 받는 디바이스로 전송되는 TCP 포트 22의 무단 SSH IPv4 및 IPv6 패킷과 1023 이상의 UDP 포트의 TFTP IPv4 및 IPv6 패킷을 거부합니다. 액세스 목록은 Infrastructure-ACLvoice-Policy 및 IPv6-Infrastructure-ACLvoice-Policy를 거부합니다. 음성 통신의 유출을 위해 음성 네트워크의 영향을 받는 디바이스에서 데이터 네트워크로 전송할 수 있는 UDP 포트 1023을 초과하는 UDP 포트에서 무단 RTP IPv4 및 IPv6 패킷을 거부합니다. 다음 예에서 192.168.60.0/24 및 2001:DB8:1:60::/64는 음성 네트워크의 영향을 받는 디바이스에서 사용하는 IP 주소 공간을 나타내며, 인터페이스 GigabitEthernet0/0은 데이터 네트워크와 음성 네트워크 사이에 구축된 라우터의 데이터 네트워크 쪽을 향하는 인터페이스입니다. 인터페이스 GigabitEthernet0/1은 데이터 네트워크와 음성 네트워크 사이에 구축된 라우터의 음성 네트워크 쪽을 향하는 인터페이스입니다. 모든 무단 트래픽을 거부하기 전에 라우팅 및 관리 액세스에 필요한 트래픽을 허용하도록 주의해야 합니다. 인프라 주소 공간은 가능한 경우 사용자 및 서비스 세그먼트에 사용되는 주소 공간과 구분되어야 합니다. 이 주소 지정 방법론을 사용하면 iACL의 구축 및 구축에 도움이 됩니다.
iACL에 대한 추가 정보는 코어 보호: Infrastructure Protection Access Control Lists에 있습니다.
ip access-list extended Infrastructure-ACLdata-Policy ! !-- Include explicit permit statements for trusted sources !-- that require access on the vulnerable protocols and ports !-- This includes softphones, web access to the phone (if allowed), !-- the Attendant Console or other applications communication end-points !-- that need access to the voice VLAN subnets ! permit tcp host 192.168.100.1 192.168.60.0 0.0.0.255 eq 22 permit udp host 192.168.100.1 gt 1023 192.168.60.0 0.0.0.255 gt 1023 ! !-- The following vulnerability-specific access control entries !-- (ACEs) can aid in identification of attacks ! deny tcp any 192.168.60.0 0.0.0.255 eq 22 deny udp any 192.168.60.0 0.0.0.255 gt 1023 ! !-- 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 ! ! !-- Create the corresponding IPv6 iACL ! ipv6 access-list IPv6-Infrastructure-ACLdata-Policy ! !-- Include explicit permit statements for trusted sources !-- that require access on the vulnerable protocols and ports !-- This includes softphones, web access to the phone (if allowed), !-- the Attendant Console or other applications communication end-points !-- that need access to the voice VLAN subnets ! permit tcp host 2001:DB8::100:1 2001:DB8:1:60::/64 eq 22 permit udp host 2001:DB8::100:1 gt 1023 2001:DB8:1:60::/64 gt 1023 ! !-- The following vulnerability-specific access control entries !-- (ACEs) can aid in identification of attacks to global and !-- link-local addresses ! deny tcp any 2001:DB8:1:60::/64 eq 22 deny udp any gt 1023 2001:DB8:1:60::/64 gt 1023 ! !-- Permit other required traffic to the infrastructure address !-- range and allow IPv6 neighbor discovery packets, which !-- include neighbor solicitation packets and neighbor !-- advertisement packets ! permit icmp any any nd-ns permit icmp any any nd-na !
!-- Explicit deny for all other IPv6 traffic to the global !-- infrastructure address range !
deny ipv6 any 2001:DB8:1:60::/64 !
!-- Permit or deny all other Layer 3 and Layer 4 traffic !-- in accordance with existing security policies and configurations ! ! !-- Apply iACLs to interfaces in the ingress direction ! interface GigabitEthernet0/0 ip access-group Infrastructure-ACLdata-Policy in ipv6 traffic-filter IPv6-Infrastructure-ACLdata-Policy inip access-list extended Infrastructure-ACLvoice-Policy ! !-- Include explicit permit statements for trusted sources !-- that require access on the vulnerable protocols and ports !-- This includes softphones, web access to the phone (if allowed), !-- the Attendant Console or other applications communication end-points !-- that need access to the voice VLAN subnets ! permit udp 192.168.60.0 0 0.0.0.255 gt 1023 host 192.168.100.1 gt 1023 ! !-- The following vulnerability-specific access control entries !-- (ACEs) can aid in identification of attacks ! deny udp 192.168.60.0 0.0.0.255 gt 1023 any gt 1023 ! ! !-- Permit or deny all other Layer 3 and Layer 4 traffic in accordance !-- with existing security policies and configurations ! ! !-- Create the corresponding IPv6 iACL ! ipv6 access-list IPv6-Infrastructure-ACLvoice-Policy ! !-- Include explicit permit statements for trusted sources !-- that require access on the vulnerable protocols and ports !-- This includes softphones, web access to the phone (if allowed), !-- the Attendant Console or other applications communication end-points !-- that need access to the voice VLAN subnets ! permit udp 2001:DB8:60::/64 gt 1023 2001:DB8::100::1 gt 1023 ! !-- The following vulnerability-specific access control entries !-- (ACEs) can aid in identification of attacks to global and !-- link-local addresses ! deny udp 2001:DB8::60::/64 gt 1023 any gt 1023 ! !-- Permit other required traffic to the infrastructure address !-- range and allow IPv6 neighbor discovery packets, which !-- include neighbor solicitation packets and neighbor !-- advertisement packets ! permit icmp any any nd-ns permit icmp any any nd-na ! !-- Permit or deny all other Layer 3 and Layer 4 traffic !-- in accordance with existing security policies and configurations ! ! !-- Apply iACLs to interfaces in the ingress direction ! interface GigabitEthernet0/1 ip access-group Infrastructure-ACLvoice-Policy in ipv6 traffic-filter IPv6-Infrastructure-ACLvoice-Policy in
식별: 인프라 액세스 제어 목록
관리자가 인터페이스에 iACL을 적용한 후 show ip access-lists 명령은 iACL이 적용된 인터페이스에서 필터링된 TCP 포트 22의 SSH 패킷 수와 1023보다 큰 UDP 포트의 TFTP 패킷 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인해야 합니다. show ip access-lists Infrastructure-ACLdata-Policy의 출력 예는 다음과 같습니다.
router#show ip access-lists Infrastructure-ACLdata-Policy Extended IP access list Infrastructure-ACLdata-Policy 10 permit tcp host 192.168.100.1 192.168.60.0 0.0.0.255 eq 22 20 permit udp host 192.168.100.1 gt 1023 192.168.60.0 0.0.0.255 gt 1023 30 deny tcp any 192.168.60.0 0.0.0.255 eq 22 (11 matches) 40 deny udp any gt 1023 192.168.60.0 0.0.0.255 gt 1023 (43 matches) 50 deny ip any 192.168.60.0 0.0.0.255
router#앞의 예에서 액세스 목록 Infrastructure-ACLdata-Policy는 ACE(Access Control List Entry) 라인 30을 위해 TCP 포트 22에서 11개의 SSH 패킷을 삭제했고, ACE(Access Control List Entry) 라인 40을 위해 1023보다 큰 UDP 포트에서 43개의 TFTP 패킷을 삭제했습니다.
관리자가 인터페이스에 iACL을 적용한 후 show ipv6 access-list IPv6-Infrastructure-ACLdata-Policy 명령은 iACL이 적용된 인터페이스에서 필터링된 TCP 포트 22의 SSH 패킷 수와 1023보다 큰 UDP 포트의 TFTP 패킷 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인해야 합니다. show ip access-lists IPv6-Infrastructure-ACLdata-Policy의 출력 예는 다음과 같습니다.
router#show ipv6 access-list IPv6-Infrastructure-ACLdata-Policy IPv6 access list IPv6-Infrastructure-ACLdata-Policy permit tcp host 2001:DB8::100:1 2001:DB8:1:60::/64 eq 22 sequence 10 permit udp host 2001:DB8::100:1 gt 1023 2001:DB8:1:60::/64 gt 1023 sequence 20 deny tcp any 2001:DB8:1:60::/64 eq 22 (1240 matches) sequence 30 deny udp any gt 1023 2001:DB8:1:60::/64 gt 1023 (740 matches) sequence 40 permit icmp any any nd-ns sequence 50 permit icmp any any nd-na sequence 60 deny ipv6 any 2001:DB8:1:60::/64 sequence 70 router#
앞의 예에서 액세스 목록 IPv6-Infrastructure-ACL-Policy는 신뢰할 수 없는 호스트 또는 네트워크에서 받은 다음 패킷을 삭제했습니다.
- ACE 라인 30에 대한 TCP 포트 22의 1240 IPv6 SSH 패킷
- ACE 라인 40의 경우 1023보다 큰 UDP 포트의 740개 IPv6 TFTP 패킷
관리자가 인터페이스에 iACL을 적용한 후 show ip access-lists 명령은 iACL이 적용된 인터페이스에서 필터링된 UDP 포트 1023개보다 큰 RTP 패킷 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인해야 합니다. show ip access-lists Infrastructure-ACLvoice-Policy의 출력 예는 다음과 같습니다.
router#show ip access-lists Infrastructure-ACLvoice-Policy Extended IP access list Infrastructure-ACL-Policy 10 permit udp 192.168.60.0 0 0.0.0.255 gt 1023 host 192.168.100.1 gt 1023 20 deny udp 192.168.60.0 0.0.0.255 gt 1023 any gt 1023 (87 matches)
30 deny ip any 192.168.60.0 0.0.0.255
router#앞의 예에서 액세스 목록 Infrastructure-ACLvoice-Policy는 ACE(액세스 제어 목록 항목) 라인 20에 대해 1023보다 큰 UDP 포트에서 87개의 RTP 패킷을 삭제했습니다.
관리자가 인터페이스에 iACL을 적용한 후 show ipv6 access-lists 명령은 iACL이 적용된 인터페이스에서 필터링한 1023개보다 큰 UDP 포트의 RTP 패킷 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인해야 합니다. show ipv6 access-list IPv6-Infrastructure-ACLvoice-Policy에 대한 출력의 예는 다음과 같습니다.
router#show ipv6 access-list IPv6-Infrastructure-ACLvoice-Policy IPv6 access list IPv6-Infrastructure-ACLvoice-Policy permit udp 2001:DB8:60::/64 gt 1023 2001:DB8::100::1 gt 1023 sequence 10 deny udp 2001:DB8::60::/64 gt 1023 any gt 1023 (52 matches) sequence 20 permit icmp any any nd-ns sequence 30 permit icmp any any nd-na sequence 40 deny ipv6 any 2001:DB8:1:60::/64 sequence 50 router#
앞의 예에서 액세스 목록 IPv6-Infrastructure-ACLvoice-Policy는 ACE(액세스 제어 목록 항목) 라인 20에 대해 1023보다 큰 UDP 포트에서 52개의 RTP 패킷을 삭제했습니다.
ACE 카운터 및 syslog 이벤트를 사용한 인시던트 조사에 대한 자세한 내용은 Identifying Incidents Using Firewall and IOS Router Syslog Events Cisco Security 백서를 참조하십시오.
관리자는 ACE 카운터 적중과 같은 특정 조건이 충족될 때 Embedded Event Manager를 사용하여 계측을 제공할 수 있습니다. Cisco Security White Paper Embedded Event Manager in a Security Context에서는 이 기능을 사용하는 방법에 대한 추가 세부 정보를 제공합니다.
완화: VACL(VLAN Access Control List)
VLAN 내에서 브리지되거나 VLAN으로 라우팅되거나 VLAN에서 라우팅되는 모든 패킷으로부터 네트워크를 보호하려면 관리자가 VACL(VLAN Access Control List)을 구축하여 정책 시행을 수행하는 것이 좋습니다. VACL을 구축하려는 경우 IP 텔레포니 네트워크에서 사용되는 각 애플리케이션에서 전화기가 작동하도록 허용하는 데 필요한 포트를 확인해야 합니다. 일반적으로 모든 VACL은 전화기가 사용하는 VLAN에 적용되며, 이는 액세스 포트에서 제어를 허용합니다. 관리자는 기존 보안 정책 및 컨피그레이션에 따라 승인된 트래픽만 VLAN 내에서 브리지하거나 VLAN에서 라우팅 또는 라우팅하도록 명시적으로 허용하여 VACL을 구성할 수 있습니다. VACL 해결 방법은 공격이 신뢰할 수 있는 소스 주소에서 발생한 경우 IPv4 네트워크 공격 벡터를 가진 취약성에 대해 완벽한 보호를 제공할 수 없습니다.
참고: VACL은 라우팅된 패킷에만 적용되는 것이 아니라 모든 패킷에 적용된다는 점에서 기존의 Cisco IOS ACL과 다릅니다. 유니캐스트 트래픽 외에도 VACL은 멀티캐스트 및 브로드캐스트 트래픽에도 적용됩니다. 이러한 패킷 유형은 VACL 컨피그레이션에서 설명해야 합니다.
VACL 정책은 TCP 포트 22에서 승인되지 않은 SSH 패킷을 거부하며, 이는 음성 vlan 내의 영향을 받는 디바이스로 전송됩니다(감염된 디바이스가 폰으로 SSH를 시도하는 경우와 마찬가지로). 다음 예에서 192.168.60.0/24은 VLAN 60의 영향을 받는 디바이스에서 사용하는 IP 주소 공간입니다. 모든 무단 트래픽을 거부하기 전에 라우팅 및 관리 액세스에 필요한 트래픽을 허용하도록 주의해야 합니다.
VACL에 대한 추가 정보는 Catalyst 6500 Release 12.2SXH 이상 소프트웨어 컨피그레이션 가이드 문서의 포트 ACL 및 VLAN ACL 구성 장에서 확인할 수 있습니다.
! !-- Create an access list policy that will be applied in a !-- VLAN access map that includes vulnerability-specific !-- access control entries (ACEs) that can aid in !-- identification of attacks ! ip access-list extended VACL-deny permit TCP any 192.168.60.0 0.0.0.255 eq 22 ! !-- Create an access list policy that will be applied !-- in a VLAN access map that permits all other !-- Layer 2 and Layer 3 traffic in accordance with !-- existing security polices and configurations. ! !-- Broadcast and multicast traffic must be accounted !-- for as well !-- !-- This access list policy could be implemented as an !-- explicit permit statement allowing all other IP traffic !-- as shown here ! ip access-list extended Permit-All permit ip any any ! !-- Define the VLAN access map that will be used to !-- perform policy enforcement (either permit or deny) !-- on the traffic matched by the previously defined !-- access control lists ! ! vlan access-map VACL 10 match ip address VACL-deny action drop ! vlan access-map VACL 20 match ip address Permit-All action forward ! !-- Apply the VACL policy to the VLAN or list of VLANs !-- to filter traffic (Note: The 'vlan-list' operator !-- is a single VLAN or comma separated list of VLANs) ! vlan filter VACL vlan-list 60 !
참고: 앞의 VACL 예에서 잠재적인 익스플로잇 패킷과 permit 문을 매칭하는 ACE(Access Control List Entry)는 VLAN access-map drop 문에서 이러한 패킷을 버리게 됩니다.
ID: VLAN Access Control Lists
관리자가 VACL을 VLAN 또는 VLAN 목록에 적용한 후 ip 명령의 show tcam interface vlan vlan-interface-number acl은 필터링된 패킷의 수를 식별합니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인하는 것이 좋습니다. show tcam interface vlan 60 acl in ip의 출력 예:
참고: 관리자는 ip detail 명령의 show tcam interface vlan vlan-interface-number acl을 사용하여 추가 액세스 제어 항목 통계를 볼 수 있습니다.
switch#show tcam interface vlan 60 acl in ip * Global Defaults shared Entries from Bank 0 Entries from Bank 1 deny tcp any 192.168.60.0 0.0.0.255 eq 22 (35 matches) permit ip any any (379 matches) switch#
앞의 예에서 VACL 정책 VACL에 대한 규칙은 TCP 포트 22에서 35개의 SSH 패킷을 삭제했습니다.
ACE 카운터 및 syslog 이벤트를 사용하여 인시던트를 조사하는 방법에 대한 자세한 내용은 Identifying Incidents Using Firewall and IOS Router Syslog Events Cisco Security Intelligence Operations 백서를 참조하십시오.
관리자는 ACE 카운터 적중과 같은 특정 조건이 충족될 때 Embedded Event Manager를 사용하여 계측을 제공할 수 있습니다. Cisco Security White Paper Embedded Event Manager in a Security Context에서는 이 기능을 사용하는 방법에 대한 추가 세부 정보를 제공합니다.
완화: 스푸핑 보호
관리자는 다음과 같은 스푸핑 보호 기능을 사용하여 TFTP 서버 트래픽을 스푸핑하려고 시도하는 감염된 디바이스를 차단할 수 있습니다.
유니캐스트 역방향 경로 전달
이 문서에 설명된 취약성은 스푸핑된 IP 패킷으로 악용될 수 있습니다. 관리자는 스푸핑에 대한 보호 메커니즘으로 uRPF(Unicast Reverse Path Forwarding)를 구축하고 구성할 수 있습니다.
uRPF는 인터페이스 레벨에서 구성되며 확인 가능한 소스 IP 주소가 없는 패킷을 탐지하고 삭제할 수 있습니다. 소스 IP 주소에 대한 적절한 반환 경로가 있는 경우 스푸핑된 패킷이 uRPF 지원 인터페이스를 통해 네트워크에 들어갈 수 있으므로 관리자는 uRPF를 사용하여 완벽한 스푸핑 보호를 제공해서는 안 됩니다. 네트워크를 통과하는 합법적인 트래픽을 삭제할 수 있으므로 관리자는 이 기능을 구축하는 동안 적절한 uRPF 모드(느슨하거나 엄격함)가 구성되었는지 확인하는 것이 좋습니다. 엔터프라이즈 환경에서는 사용자 지원 레이어 3 인터페이스의 인터넷 에지 및 내부 액세스 레이어에서 uRPF를 활성화할 수 있습니다.
식별: 유니캐스트 역방향 경로 전달을 사용하는 스푸핑 보호
네트워크 인프라 전반에 걸쳐 uRPF가 올바르게 구축 및 구성된 경우 관리자는 show cef interface type slot/port internal, show ip interface, show cef drop, show ip cef switching statistics feature 및 show ip traffic 명령을 사용하여 uRPF가 삭제한 패킷 수를 식별할 수 있습니다.
참고: Cisco IOS Software Release 12.4(20)T부터 show ip cef switching 명령이 show ip cef switching statistics 기능으로 대체되었습니다.
참고: show 명령은 | regex 시작 및 show 명령 | include regex 명령 수정자는 다음 예에서 사용되므로 원하는 정보를 보기 위해 관리자가 구문 분석해야 하는 출력의 양을 최소화합니다. 명령 수정자에 대한 자세한 내용은 Cisco IOS Configuration Fundamentals 명령 참조의 show 명령 섹션에 있습니다.
router#show cef interface GigabitEthernet 0/0 internal | include drop ip verify: via=rx (allow default), acl=0, drop=18, sdrop=0 router#
참고: show cef interface type slot/port internal은 CLI에서 완전히 입력해야 하는 숨겨진 명령입니다. 명령 완료를 사용할 수 없습니다.
router#show ip interface GigabitEthernet 0/0 | begin verify IP verify source reachable-via RX, allow default, allow self-ping 18 verification drops 0 suppressed verification drops router# router#show cef drop CEF Drop Statistics Slot Encap_fail Unresolved Unsupported No_route No_adj ChkSum_Err RP 27 0 0 18 0 0 router#
router#show ip cef switching statistics feature IPv4 CEF input features:
Path Feature Drop Consume Punt Punt2Host Gave route
RP PAS uRPF 18 0 0 0 0
Total 18 0 0 0 0 -- CLI Output Truncated -- router# router#show ip traffic | include RPF 18 no route, 18 unicast RPF, 0 forced drop router#앞의 show cef interface GigabitEthernet 0/0 internal, show ip interface GigabitEthernet 0/0, show cef drop, show ip cef switching statistics feature, show ip traffic의 예에서는 uRPF가 구성된 모든 인터페이스에서 전역적으로 수신된 18개의 IP 패킷이 삭제되었습니다. 이는 Cisco Express Forwarding의 포워딩 정보 베이스에서 IP 패킷의 소스 주소를 확인할 수 없기 때문입니다.
추가 정보는 Unicast Reverse Path Forwarding Loose Mode 기능 가이드에 있습니다.
uRPF 컨피그레이션 및 사용에 대한 자세한 내용은 Understanding Unicast Reverse Path Forwarding Cisco Security 백서를 참조하십시오.
레이어 2 공격에 대해 사용되는 이 문서의 완화 기능은 DHCP 스누핑 및 DAI(Dynamic ARP Inspection)입니다. DHCP 스누핑은 DAI를 구성하기 위한 전제 조건입니다.
DHCP 스누핑
DHCP 스누핑은 스위치를 통과하는 DHCP 메시지를 가로채고 신뢰할 수 없는 DHCP 제공을 차단하는 보안 기능입니다. DHCP 스누핑은 신뢰할 수 있는 포트와 신뢰할 수 없는 포트의 개념을 사용합니다. 일반적으로 신뢰할 수 있는 포트는 DHCP 서버 또는 릴레이 에이전트에 연결하는 데 사용되고 신뢰할 수 없는 포트는 클라이언트에 연결하는 데 사용됩니다. 모든 DHCP 메시지는 신뢰할 수 있는 포트에서 허용되며 DHCP 클라이언트 메시지만 신뢰할 수 없는 포트에서 허용됩니다. 서버나 릴레이 에이전트 모두 신뢰할 수 없는 포트에 연결할 수 없으므로 DHCPOFFER, DHCPACK, DHCPNAK와 같은 서버 메시지는 신뢰할 수 없는 포트에서 삭제됩니다. 또한 DHCP 스누핑은 신뢰할 수 없는 포트에서 수신된 DHCP 패킷을 검증하는 데 사용되는 MAC-IP 바인딩 테이블을 구축하고 유지 관리합니다. DHCP 스누핑 바인딩 테이블에는 스위치의 신뢰할 수 없는 포트에서 DHCP 클라이언트의 MAC 주소, IP 주소, 리스 시간(초) 및 VLAN 포트 정보가 포함됩니다. 임대가 만료되거나 VLAN에서 DHCP 스누핑이 비활성화되면 DHCP 스누핑 바인딩 테이블에 포함된 정보가 바인딩 테이블에서 제거됩니다.
show ip dhcp snooping 명령을 사용하여 DHCP 스누핑 설정을 표시하고, show ip dhcp snooping binding 명령을 사용하여 신뢰할 수 없는 포트에 해당하는 바인딩 항목을 표시합니다.
DHCP 스누핑의 구축 및 컨피그레이션에 대한 추가 정보는 DHCP 기능 및 IP 소스 가드 구성에 있습니다.
동적 ARP 검사(DAI)
DAI를 적절하게 구축하고 구성하면 레이어 2에서 스푸핑 공격을 효과적으로 방지할 수 있습니다. DAI 구축에는 DHCP 스누핑을 구현해야 합니다. DAI는 검사를 실패한 유효하지 않은 IP-MAC 주소 바인딩이 포함된 모든 ARP 패킷을 삭제합니다.
DAI는 DHCP 스누핑 바인딩 데이터베이스의 항목을 사용하여 IP-MAC 주소 바인딩을 확인합니다. ip arp inspection trust interface 컨피그레이션 명령을 사용하여 각 보안 인터페이스를 신뢰할 수 있는 인터페이스로 구성합니다. 신뢰할 수 있는 인터페이스는 ARP 검사 검증 확인을 우회하며, 다른 모든 패킷은 신뢰할 수 없는 인터페이스에 도달할 때 검사를 받습니다. 다음 예는 인터페이스를 신뢰받는 인터페이스로 구성하는 방법 및 VLAN 5~10에 대해 DAI를 활성화하는 방법을 보여줍니다.
DAI 컨피그레이션 예:
Switch(config)#interface GigabitEthernet 1/0/1 Switch(config-if)#ip arp inspection trust Switch(config)#ip arp inspection vlan 5-10
IP Source Guard
IPSG(IP source guard)는 DHCP 스누핑 바인딩 데이터베이스 및 수동으로 구성된 IP 소스 바인딩을 기반으로 패킷을 필터링하여 라우팅되지 않은 레이어 2 인터페이스의 IP 트래픽을 제한하는 보안 기능입니다. 관리자는 IPSG를 사용하여 소스 IP 주소 및/또는 MAC 주소를 위조하여 패킷을 스푸핑하려고 시도하는 공격자의 공격을 방지할 수 있습니다. IPSG를 적절하게 구축하고 구성하면 엄격한 모드 uRPF와 결합하여 이 문서에 설명된 취약성에 대한 가장 효과적인 스푸핑 보호 방법을 제공합니다.
IP Source Guard 기능은 액세스 및 트렁크 포트를 포함하여 레이어 2 인터페이스에서 DHCP 스누핑 기능과 함께 활성화됩니다.
IP Source Guard 구성 예Switch(config)#interface GigabitEthernet 1/0/1 Switch(config-if)#ip verify source port-security
위의 예는 동적 소스 IP 및 MAC 주소 필터링으로 IPSG를 활성화하는 방법을 보여줍니다.
show ip verify source 명령을 사용하여 IPSG 컨피그레이션을 표시하고, show ip source binding 명령을 사용하여 스위치에 IP 소스 바인딩을 표시합니다.
IPSG 구축 및 컨피그레이션에 대한 추가 정보는 DHCP 기능 및 IP 소스 가드 구성에 있습니다.
IEEE 802.1X 지원 네트워크를 통한 ID 기반 네트워킹
IEEE 802.1x는 유선 및 무선 LAN용 프로토콜 표준 프레임워크로서 사용자 또는 네트워크 장치를 인증하고 포트 레벨에서 정책 시행 기능을 제공하여 보안 네트워크 액세스 제어를 제공합니다. IEEE 802.1x 표준은 EAP 및 RADIUS와 같은 기존 프로토콜을 사용하여 통신하는 네트워크 장치의 기능과 결합되어 네트워크 연결 엔터티의 ID를 해당 제어 정책 집합에 연결하여 네트워크 세그먼트 및 리소스에 대한 액세스의 보안 및 제어 기능을 향상시킵니다.
802.1x의 배포 및 구성에 대한 자세한 내용은 ID 기반 네트워킹 서비스: IP 텔레포니 In IEEE 802.1X-Enabled Networks Deployment and Configuration Guide를 참조하십시오.
Cisco IOS NetFlow 및 Cisco IOS Flexible NetFlow
식별: Cisco IOS NetFlow를 사용한 IPv4 트래픽 흐름 식별
관리자는 데이터 네트워크와 음성 네트워크 간에 트래픽을 전달하는 Cisco IOS 라우터 및 스위치에 Cisco IOS NetFlow를 구성하여 데이터 네트워크의 디바이스에서 이 취약성을 악용하려는 시도일 수 있는 IPv4 트래픽 흐름 또는 손상된 음성 네트워크 전화기에서 발생하는 흐름을 식별할 수 있도록 할 수 있습니다. 관리자는 이러한 플로우를 조사하여 이러한 취약성을 악용하려는 시도인지 또는 올바른 트래픽 플로우인지 확인하는 것이 좋습니다.
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 1023 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.60.10 Gi0/1 192.168.60.102 11 1785 1941 12 Gi0/1 192.168.60.28 Gi0/0 192.168.13.97 11 1B3E 2A53 5391 Gi0/1 192.168.150.60 Gi0/0 10.89.16.226 06 0016 12CA 1 Gi0/0 192.168.10.17 Gi0/1 192.168.60.97 06 2B89 0016 45 Gi0/1 192.168.60.158 Gi0/0 192.168.11.54 06 0911 3628 1612 Gi0/0 10.88.226.1 Gi0/1 192.168.202.22 11 007B 007B 1 router#
앞의 예에서는
- 192.168.60.10에서 192.168.60.102로 향하는 높은 UDP 포트(16진수 값 1785 및 1941)의 12개 패킷. UDP 높은 포트(예: RTP 음성 스트림)를 통해 통신할 것으로 예상되는 두 전화기 엔드포인트인 경우 이는 올바른 트랜잭션일 수 있습니다.
- 192.168.60.28에서 192.168.13.97로 향하는 높은 UDP 포트(16진수 값 1B3E 및 2A53)의 5391 패킷. 192.168.13.97이 TFTP 서버나 전화 192.168.60.28과 통신할 것으로 예상되는 음성 엔드포인트 또는 게이트웨이가 아닌 경우, 이는 TFTP 트랜잭션을 스푸핑하여 감염된 전화(192.168.60.28)에서 데이터를 유출함으로써 이 취약성을 악용하려는 시도일 수 있습니다. 추가 조사가 필요할 것이다.
- TCP 포트 22(16진수 값 0016)에서 192.168.10.17과 전화기 192.168.60.97 사이의 45개 SSH 패킷. 192.168.10.17이 SSH를 통해 전화 192.168.60.97을 관리하지 않을 것으로 예상되면 이 취약성을 악용하려는 시도가 될 수 있습니다. 추가 조사가 필요할 것이다.
- 1612개의 패킷은 192.168.60.158과 192.168.11.54 사이의 높은 TCP 포트(16진수 값 0911 및 3628)입니다. 192.168.11.54가 이러한 높은 TCP 포트를 통해 전화 192.168.60.158과 통신할 것으로 예상되는 음성 엔드포인트 또는 게이트웨이가 아닐 경우 전화기가 손상되어 데이터를 유출하려고 할 수 있습니다. 추가 조사가 필요할 것이다.
데이터로부터 음성 네트워크로 전송되는 합법적인 TFTP 데이터 트래픽은 신뢰할 수 있는 음성 TFTP 서버의 ip 주소에서 소싱되며, 영향을 받는 디바이스에서 사용하는 192.168.60.0/24 주소 블록 내의 주소로 전송됩니다. 이러한 흐름의 패킷은 스푸핑될 수 있으며 이 취약성을 악용하려는 시도를 나타낼 수 있습니다. 관리자는 이러한 플로우를 데이터에서 음성 네트워크로 전송되는 네트워크 트래픽의 기준 사용률과 비교하고, 플로우를 조사하여 신뢰할 수 없는 호스트에서 제공되는지 네트워크에서 제공되는지를 확인하는 것이 좋습니다.
다음 예에 표시된 것처럼 TCP 포트 22의 SSH 패킷만 보려면(16진수 값 16) show ip cache flow를 사용합니다 | SrcIf|_06_.*0016 명령을 포함하여 관련 Cisco NetFlow 레코드를 표시합니다.
router#show ip cache flow | include SrcIf|_06_.*0016 SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi0/0 192.168.10.17 Gi0/1 192.168.60.97 06 2B89 0016 45 router#
다음 예에 표시된 것처럼, 전화기 주소와 관련된 패킷 트랜잭션만 보려면 show ip cache flow를 사용합니다 | Src_If|192.168.60 명령을 포함하여 관련 Cisco NetFlow 레코드를 표시합니다.
router#show ip cache flow | include Src_If|192.168.60 SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Gi0/0 192.168.60.10 Gi0/1 192.168.60.102 11 1785 1941 12 Gi0/1 192.168.60.28 Gi0/0 192.168.13.97 11 1B3E 2A53 5391 Gi0/0 192.168.10.17 Gi0/1 192.168.60.97 06 2B89 0016 45 Gi0/1 192.168.60.158 Gi0/0 192.168.11.54 06 0911 3628 1612 router#
식별: Cisco IOS NetFlow를 사용한 IPv6 트래픽 흐름 식별
관리자는 Cisco IOS 라우터 및 스위치에서 Cisco IOS NetFlow를 구성하여 이 문서에 설명된 취약성을 악용하려는 시도가 될 수 있는 IPv6 트래픽 흐름을 식별할 수 있도록 지원할 수 있습니다. 관리자는 플로우를 조사하여 이 취약성을 악용하려는 시도인지 또는 올바른 트래픽 플로우인지 확인하는 것이 좋습니다.
다음은 Cisco IOS Software 12.4 메인라인 트레인을 실행하는 Cisco IOS 디바이스의 출력입니다. 명령 구문은 Cisco IOS 소프트웨어 트레인마다 다릅니다.
router#show ipv6 flow cache IP packet size distribution (50078919 total packets): 1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 .000 .990 .001 .008 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
512 544 576 1023 1536 2048 2560 3072 3584 4096 4608 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
IP Flow Switching Cache, 475168 bytes 8 active, 4088 inactive, 6160 added 1092984 ager polls, 0 flow alloc failures Active flows timeout in 30 minutes Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 33928 bytes 16 active, 1008 inactive, 12320 added, 6160 added to flow 0 alloc failures, 0 force free 1 chunk, 1 chunk added
SrcAddress InpIf DstAddress OutIf Prot SrcPrt DstPrt Packets 2001:DB...128::201 Gi0/0 2001:DB..128::20 Gi0/1 0x11 0x16C4 0x13C4 12 2001:DB...6A:5BA6 Gi0/0 2001:DB...28::21 Gi0/1 0x3A 0x0000 0x8000 841 2001:DB...128::10 Gi0/1 1445:DB...17::121 Gi0/0 0x11 0x4281 0x4510 5101 2001:DB...6A:5BA6 Gi0/0 2001:DB...134::3 Gi0/1 0x3A 0x0000 0x8000 1191 2001:DB...128::15 Gi0/1 3411:DB...22::44 Gi0/0 0x10 0x4281 0x0016 6814 2001:DB...6A::15B Gi0/0 2001:DB...128::2 Gi0/1 0x06 0x160A 0x134A 1597 2001:DB...6A:5BA6 Gi0/0 2001:DB...146::3 Gi0/1 0x3A 0x0000 0x8000 1092
전체 128비트 IPv6 주소의 표시를 허용하려면 terminal width 132 exec mode 명령을 사용합니다.
앞의 예에서는
- 2001:DB8:1:60:128::201에서 2001:DB8:1:60:128::20으로 향하는 높은 UDP 포트(16C4 및 13C4의 12개 패킷). 높은 UDP 포트(예: RTP 음성 스트림)를 통해 통신할 것으로 예상되는 두 전화기 엔드포인트인 경우 이는 올바른 트랜잭션일 수 있습니다.
- 2001:DB8:1:60:128::10에서 2001:DB8:17::121로 향하는 높은 UDP 포트(16진수 값 1B3E 및 2A53)의 5101 패킷. 2001:DB8:17::121이 TFTP 서버나 전화 2001:DB8:1:60:128::10과 통신할 것으로 예상되는 음성 엔드포인트 또는 게이트웨이가 아닌 경우, 이는 TFTP 트랜잭션을 스푸핑하여 감염된 전화기에서 데이터를 유출함으로써 이 취약성을 악용하려는 시도(2001:DB8:1:60:128::10)일 수 있습니다. 추가 조사가 필요할 것이다.
- 6814 TCP 포트 22(16진수 값 0016)의 SSH 패킷(2001:DB8:1:128::15~2001:DB8:1:60:22::44). 2001:DB8:1:128::15가 SSH를 통해 전화기 2001:DB8:1:60:22::44를 관리하지 않을 것으로 예상되면 이는 이 취약성을 악용하려는 시도일 수 있습니다. 추가 조사가 필요할 것이다.
- 2001:DB8:1:60:6A::15B에서 2001:DB8:3:128::2 사이의 높은 TCP 포트(16진수 값 160A 및 134A)에서 1597개의 패킷. 2001:DB8:3:128::2가 음성 엔드포인트 또는 게이트웨이가 아닌 경우 이러한 높은 TCP 포트를 통해 전화기 2001:DB8:1:60:6A::15B와 통신해야 합니다. 그러면 전화기가 손상되어 데이터를 유출하려고 할 수 있습니다. 추가 조사가 필요할 것이다.
데이터에서 음성 네트워크로 전송되는 합법적인 TFTP 데이터 트래픽은 신뢰할 수 있는 음성 TFTP 서버의 ip 주소에서 소싱되며 영향을 받는 디바이스에서 사용되는 2001:DB8:1:60::/64 주소 블록 내의 주소로 전송됩니다. 이러한 흐름의 패킷은 스푸핑될 수 있으며 이 취약성을 악용하려는 시도를 나타낼 수 있습니다. 관리자는 이러한 플로우를 데이터에서 음성 네트워크로 전송되는 네트워크 트래픽의 기준 사용률과 비교하고, 플로우를 조사하여 신뢰할 수 없는 호스트에서 제공되는지 네트워크에서 제공되는지를 확인하는 것이 좋습니다.
다음 예에 표시된 것처럼 TCP 포트 22의 SSH 패킷만 보려면(16진수 값 16) show ip cache flow를 사용합니다 | SrcIf|_06_.*0016 명령을 포함하여 관련 Cisco NetFlow 레코드를 표시합니다.
router#show ip cache flow | include SrcIf|_06_.*0016 SrcAddress InpIf DstAddress OutIf Prot SrcPrt DstPrt Packets 2001:DB...128::15 Gi0/1 3411:DB...22::44 Gi0/0 0x10 0x4281 0x0016 6814 router#
다음 예에 표시된 것처럼, 전화기 주소와 관련된 패킷 트랜잭션만 보려면 show ip cache flow를 사용합니다 | Src_If|2001:DB8:1:60 명령을 포함하여 관련 Cisco NetFlow 레코드를 표시합니다.
router#show ip cache flow | include Src_If|2001:DB8:1:60 SrcAddress InpIf DstAddress OutIf Prot SrcPrt DstPrt Packets 2001:DB...128::201 Gi0/0 2001:DB..128::20 Gi0/1 0x11 0x16C4 0x13C4 12 2001:DB...128::10 Gi0/1 1445:DB...17::121 Gi0/0 0x11 0x4281 0x4510 5101 2001:DB...128::15 Gi0/1 3411:DB...22::44 Gi0/0 0x10 0x4281 0x0016 6814 2001:DB...6A::15B Gi0/0 2001:DB...128::2 Gi0/1 0x06 0x160A 0x134A 1597
식별: Cisco Flexible NetFlow를 사용한 IPv4 트래픽 흐름 식별
Cisco IOS Software 릴리스 12.2(31)SB2 및 12.4(9)T에 도입된 Cisco IOS Flexible NetFlow는 관리자의 특정 요구 사항에 맞게 트래픽 분석 매개변수를 맞춤화하는 기능을 추가하여 원래의 Cisco NetFlow를 개선합니다. 원래의 Cisco NetFlow는 IP 정보의 고정된 7튜플을 사용하여 플로우를 식별하는 반면, Cisco IOS Flexible NetFlow는 플로우를 사용자 정의할 수 있게 해줍니다. 재사용 가능한 구성 구성 요소를 사용하여 트래픽 분석 및 데이터 내보내기를 위한 더 복잡한 구성을 쉽게 생성할 수 있습니다.
다음 출력은 15.1T 트레인의 Cisco IOS Software 버전을 실행 중인 Cisco IOS 디바이스의 출력입니다. 12.4T 및 15.0 열차의 구문은 거의 동일하지만, 실제 사용되는 Cisco IOS 릴리스에 따라 약간 달라질 수 있습니다. 다음 컨피그레이션에서 Cisco IOS Flexible NetFlow는 match ipv4 source address key(ipv4 소스 주소 키) 필드 명령문에 정의된 대로 소스 IPv4 주소를 기반으로 수신 IPv4 흐름에 대한 인터페이스 GigabitEthernet0/0에 대한 정보를 수집합니다. Cisco IOS Flexible NetFlow에는 소스 및 목적지 IPv4 주소, 프로토콜, 포트(있는 경우), 인그레스 및 이그레스 인터페이스, 플로우당 패킷에 대한 키 필드가 아닌 정보도 포함됩니다.
! !-- Configure key and nonkey fields !-- in the user-defined flow record ! flow record FLOW-RECORD-ipv4 match ipv4 source address collect ipv4 protocol collect ipv4 destination address collect transport source-port collect transport destination-port collect interface input collect interface output collect counter packets ! !-- Configure the flow monitor to !-- reference the user-defined flow !-- record ! flow monitor FLOW-MONITOR-ipv4 record FLOW-RECORD-ipv4 ! !-- Apply the flow monitor to the interface !-- in the ingress direction ! interface GigabitEthernet0/0 ip flow monitor FLOW-MONITOR-ipv4 input
Cisco IOS Flexible NetFlow 흐름 출력은 다음과 같습니다.
router#show flow monitor FLOW-MONITOR-ipv4 cache format table Cache type: Normal Cache size: 4096 Current entries: 6 High Watermark: 1 Flows added: 9181 Flows aged: 9175 - Active timeout ( 1800 secs) 9000 - Inactive timeout ( 15 secs) 175 - Event aged 0 - Watermark aged 0 - Emergency aged 0 IPV4 SRC ADDR ipv4 dst addr trns src port trns dst port intf input intf output pkts ip prot ============== ============= ============= ============= ========== =========== ==== ======= 192.168.60.10 192.168.60.201 1456 7631 Gi0/0 Gi0/1 1128 17 192.168.60.28 192.168.13.97 8123 33112 Gi0/0 Gi0/1 5391 17 192.168.150.60 10.89.16.226 2567 443 Gi0/0 Gi0/1 13 6 192.168.10.17 192.168.60.97 1289 22 Gi0/0 Gi0/1 45 6 192.168.60.158 192.168.11.54 32211 3628 Gi0/0 Gi0/1 1612 6
의 SSH 흐름만 보려면 TCP 포트 22, show flow monitor FLOW-MONITOR-ipv4 cache format 테이블 사용 | IPV4 DST 주소 포함 |_22_.*_6_ 명령을 입력하여 관련 NetFlow 레코드를 표시합니다.
전화 주소와 관련된 패킷 트랜잭션만 보려면 show ip cache flow를 사용합니다 | Src_If|192.168.60 명령을 포함하여 관련 Cisco NetFlow 레코드를 표시합니다.
Cisco IOS Flexible NetFlow에 대한 자세한 내용은 Flexible Netflow 컨피그레이션 가이드, Cisco IOS 릴리스 15.1M&T 및 Cisco IOS Flexible NetFlow 컨피그레이션 가이드, 릴리스 12.4T를 참조하십시오.
식별: Cisco IOS Flexible NetFlow를 사용한 IPv6 트래픽 흐름 식별
다음 출력은 15.1T 트레인의 Cisco IOS Software 버전을 실행 중인 Cisco IOS 디바이스의 출력입니다. 12.4T 및 15.0 열차의 구문은 거의 동일하지만, 실제 사용되는 Cisco IOS 릴리스에 따라 약간 달라질 수 있습니다. 다음 컨피그레이션에서 Cisco IOS Flexible NetFlow는 match ipv6 source address key 필드 명령문에 정의된 대로 소스 IPv6 주소를 기반으로 수신 IPv6 흐름에 대한 인터페이스 GigabitEthernet0/0에 대한 정보를 수집합니다. Cisco IOS Flexible NetFlow에는 소스 및 목적지 IPv6 주소, 프로토콜, 포트(있는 경우), 인그레스 및 이그레스 인터페이스, 플로우당 패킷에 대한 키 필드가 아닌 정보도 포함됩니다.! !-- Configure key and nonkey fields !-- in the user-defined flow record ! flow record FLOW-RECORD-ipv6 match ipv6 source address collect ipv6 protocol collect ipv6 destination address collect transport source-port collect transport destination-port collect interface input collect interface output collect counter packets ! !-- Configure the flow monitor to !-- reference the user-defined flow !-- record ! flow monitor FLOW-MONITOR-ipv6 record FLOW-RECORD-ipv6 ! !-- Apply the flow monitor to the interface !-- in the ingress direction ! interface GigabitEthernet0/0 ipv6 flow monitor FLOW-MONITOR-ipv6 input
Cisco IOS Flexible NetFlow 흐름 출력은 다음과 같습니다.
router#show flow monitor FLOW-MONITOR-ipv6 cache format table Cache type: Normal Cache size: 4096 Current entries: 6 High Watermark: 2 Flows added: 539 Flows aged: 532 - Active timeout ( 1800 secs) 350 - Inactive timeout ( 15 secs) 182 - Event aged 0 - Watermark aged 0 - Emergency aged 0 ipv6 src addr ipv6 dst addr trns src prt trns dst prt intf inpt intf outpt pkts ip prot ================ =============== ============ ============ ========= ========== ==== ======= 2001:DB...128::201 2001:DB..128::20 Gi0/0 Gi0/1 21345 12134 222 17 2001:DB...6A:5BA6 2001:DB...28::21 Gi0/0 Gi0/1 12134 23 841 6 2001:DB...128::10 20015:DB...17::121 Gi0/1 Gi0/0 23254 45234 56 17 2001:DB...6A:5BA6 2001:DB...134::3 Gi0/0 Gi0/1 1231 53 135 17 2001:DB...128::15 2001:DB...22::44 Gi0/1 Gi0/0 4234 22 234 6 2001:DB...6A::15B 2001:DB...128::2 Gi0/0 Gi0/1 21431 12134 843 6 2001:DB...6A:5BA6 2001:DB...146::3 Gi0/0 Gi0/1 48212 121 1092 17 To permit display of the full 128-bit IPv6 address, use the terminal width 132 exec mode command.
TCP 포트 22의 SSH 플로우만 보려면 show flow monitor FLOW-MONITOR-ipv6 cache format 테이블을 사용합니다 | IPV6 DST ADDR|_22_.*_6_ 명령을 포함하여 관련 Cisco IOS Flexible NetFlow 레코드를 표시합니다.
전화 주소와 관련된 패킷 트랜잭션만 보려면 show ip cache flow를 사용합니다 | includeSrc_If|2001:DB8:1:60 명령을 사용하여 관련 Cisco NetFlow 레코드를 표시합니다.
Cisco ASA 및 Cisco FWSM 방화벽
완화: 통과 액세스 제어 목록
인터넷 연결 지점, 파트너 및 공급업체 연결 지점 또는 VPN 연결 지점이 포함될 수 있는 인그레스 액세스 지점에서 네트워크로 들어오는 트래픽으로부터 네트워크를 보호하려면 관리자가 tACL(transit access control list)을 구축하여 정책 시행을 수행하는 것이 좋습니다. 관리자는 승인 받은 트래픽만 인그레스 액세스 포인트에서 네트워크에 들어가도록 명시적으로 허용하거나 기존 보안 정책 및 컨피그레이션에 따라 인증 받은 트래픽이 네트워크를 통과하도록 허용하여 tACL을 구성할 수 있습니다. tACL 해결 방법은 공격이 신뢰할 수 있는 소스 주소에서 시작되는 경우 이 취약성에 대한 완벽한 보호를 제공할 수 없습니다.
첫 번째 액세스 목록에는 데이터 네트워크에서 음성 네트워크의 영향을 받는 장치로 전송되는 TCP 포트 22의 tACL-Policy-Data 및 IPv6-tACL-Policy-Data는 허가되지 않은 SSH IPv4 및 IPv6 패킷을 거부하고 1023보다 큰 UDP 포트의 TFTP IPv4 및 IPv6 패킷은 거부합니다. 두 번째 액세스 목록에는 음성 네트워크의 영향을 받는 장치에서 데이터 네트워크로 전송되는 1023보다 큰 UDP 포트의 tACL-Policy-Voice 및 IPv6-tACL-Policy-Voice가 허가되지 않은 RTP IPv4 및 IPv6 패킷을 거부하며 이는 음성 통신 유출을 시도할 수 있습니다. 다음 예에서 192.168.60.0/24 및 2001:DB8:1:60::/64는 음성 네트워크의 영향을 받는 디바이스에서 사용하는 IP 주소 공간을 나타내며 192.168.100.1 및 2001:DB8::100:1의 호스트는 영향을 받는 디바이스에 액세스해야 하는 신뢰할 수 있는 소스로 간주됩니다. 모든 무단 트래픽을 거부하기 전에 라우팅 및 관리 액세스에 필요한 트래픽을 허용하도록 주의해야 합니다.tACL에 대한 추가 정보가 트랜짓 액세스 제어 목록: 에지에서 필터링에 있습니다.
!
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable TCP and UDP ports !-- This includes softphones and other communication end-points !-- deployed on the data network
!
access-list tACL-Policy-Data extended permit tcp host 192.168.100.1 192.168.60.0 255.255.255.0 eq 22 access-list tACL-Policy-Data extended permit udp host 192.168.100.1 gt 1023 192.168.60.0 255.255.255.0 gt 1023 !
!-- The following vulnerability-specific access control entries
!-- (ACEs) can aid in identification of attacks
!
access-list tACL-Policy-Data extended deny tcp any 192.168.60.0 255.255.255.0 eq 22 access-list tACL-Policy-Data extended deny udp any gt 1023 192.168.60.0 255.255.255.0 gt 1023 !
!-- 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-Data extended deny ip any any !
!-- Create the corresponding IPv6 tACL
! !
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable TCP and UDP ports !-- This includes softphones and other communication end-points !-- deployed on the data network
! ipv6 access-list IPv6-tACL-Policy-Data permit tcp host 2001:DB8::100:1 2001:DB8:1:60::/64 eq 22 ipv6 access-list IPv6-tACL-Policy-Data permit udp host 2001:DB8::100:1 gt 1023 2001:DB8:1:60::/64 gt 1023
!
!-- The following vulnerability-specific ACEs can
!-- aid in identification of attacks to global and
!-- link-local addresses
! ipv6 access-list IPv6-tACL-Policy-Data deny tcp any 2001:DB8:1:60::/64 eq 22 ipv6 access-list IPv6-tACL-Policy-Data deny udp any gt 1023 2001:DB8:1:60::/64 gt 1023
!
!-- Permit or deny all other Layer 3 and Layer 4 traffic in
!-- accordance with existing security policies and configurations
!
!-- Explicit deny for all other IPv6 traffic
!
ipv6 access-list IPv6-tACL-Policy-Data deny ip any any !
!
!-- Apply tACLs to interfaces in the ingress direction
! access-group tACL-Policy-Data in interface outside access-group IPv6-tACL-Policy-Data in interface outside
!
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable TCP and UDP ports
!-- This includes softphones and other communication end-points !-- deployed on the data network.
! access-list tACL-Policy-Voice permit udp 192.168.60.0 255.255.255.0 gt 1023 host 192.168.100.1 gt 1023 !
!-- The following vulnerability-specific access control entries
!-- (ACEs) can aid in identification of attacks
! access-list tACL-Policy-Voice deny udp 192.168.60.0 255.255.255.0 gt 1023 any gt 1023 !
!-- 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-Voice deny ip any any !
!-- Create the corresponding IPv6 tACL
!
!-- Include explicit permit statements for trusted sources
!-- that require access on the vulnerable TCP and UDP ports !-- This includes softphones and other communication end-points !-- deployed on the data network
! ipv6 access-list IPv6-tACL-Policy-Voice permit udp 2001:DB8:60::/64 gt 1023 host 2001:DB8:1:100::1 gt 1023
!
!-- The following vulnerability-specific ACEs can
!-- aid in identification of attacks to global and
!-- link-local addresses
! ipv6 access-list IPv6-tACL-Policy-Voice deny udp 2001:DB8:60::/64 gt 1023 any gt 1023
!
!-- Permit or deny all other Layer 3 and Layer 4 traffic in
!-- accordance with existing security policies and configurations
!
!-- Explicit deny for all other IPv6 traffic
!
ipv6 access-list IPv6-tACL-Policy-Voice deny ip any any !
!-- Apply tACLs to interfaces in the ingress direction! access-group tACL-Policy-Voice in interface inside access-group IPv6-tACL-Policy-Voice in interface inside
ID: 액세스 목록 로깅
인터페이스에 tACL을 적용한 후 관리자는 show ip access-lists를 사용하여 필터링된 TCP 포트 22의 SSH IPv4 및 IPv6 패킷과 1023보다 큰 UDP 포트의 TFTP IPv4 및 IPv6 패킷 수를 식별할 수 있습니다. 관리자는 필터링된 패킷을 조사하여 이 취약성을 악용하려는 시도인지 확인하는 것이 좋습니다. show ip access-lists tACL-Policy-Data 및 show access-list IPv6-tACL-Policy-Data의 출력 예는 다음과 같습니다.
Firewall#show ip access-lists tACL-Policy-Data access-list tACL-Policy-Data; 5 elements; name hash: 0x47502853 access-list tACL-Policy-Data line 1 extended permit tcp host 192.168.100.1 gt 1023 192.168.60.0 0.0.0.255 eq 22 access-list tACL-Policy-Data line 2 extended permit udp host 192.168.100.1 gt 1023 192.168.60.0 0.0.0.255 gt 1023 access-list tACL-Policy-Data line 3 extended deny tcp any 192.168.60.0 0.0.0.255 eq 22 (hitcnt=57) access-list tACL-Policy-Data line 4 extended deny udp any gt 1023 192.168.60.0 0.0.0.255 gt 1023 (hitcnt=40) access-list tACL-Policy-Data line 5 extended deny ip any any Firewall#
앞의 예에서 액세스 목록 tACL-Policy-Data는 신뢰할 수 없는 호스트 또는 네트워크에서 받은 다음 패킷을 삭제했습니다.
- ACE 라인 3에 대한 TCP 포트 22의 57개 SSH 패킷
- ACE 라인 4의 경우 1023보다 큰 UDP 포트의 40개 TFTP 패킷
Firewall#show ipv6 access-list IPv6-tACL-Policy-Data ipv6 access-list IPv6-tACL-Policy-Data; 5 elements; name hash: 0x342aba4c Ipv6 access-list IPv6-tACL-Policy-Data line 1 permit tcp host 2001:DB8::100:1 2001:DB8:1:60::/64 eq 22 (hitcnt=55) Ipv6 access-list IPv6-tACL-Policy-Data line 2 permit udp host 2001:DB8::100:1 gt 1023 2001:DB8:1:60::/64 gt 1023 (hitcnt=38) Ipv6 access-list IPv6-tACL-Policy-Data line 3 deny tcp any 2001:DB8:1:60::/64 eq 22 (hitcnt=18) Ipv6 access-list IPv6-tACL-Policy-Data line 4 deny udp any gt 1023 2001:DB8:1:60::/64 gt 1023 (hitcnt=21) Ipv6 access-list IPv6-tACL-Policy-Data line 5 deny ip any any (hitcnt=21)
앞의 예에서 액세스 목록 IPv6-tACL-Policy-Data는 신뢰할 수 없는 호스트 또는 네트워크에서 받은 다음 패킷을 삭제했습니다.
- ACE 라인 3에 대한 TCP 포트 22의 18개 SSH 패킷
- ACE 라인 4의 경우 1023보다 큰 TCP 포트의 21TFTP 패킷
Firewall#show access-list tACL-Policy-Voice access-list tACL-Policy-Voice; 3 elements; name hash: 0xef0bf5e access-list tACL-Policy-Voice line 1 extended permit udp 192.168.60.0 255.255.255.0 gt 1023 host 192.168.100.1 gt 1023 (hitcnt=0) access-list tACL-Policy-Voice line 2 extended deny udp 192.168.60.0 255.255.255.0 gt 1023 any gt 1023 (hitcnt=29) access-list tACL-Policy-Voice line 3 extended deny ip any any (hitcnt=0) Firewall#
앞의 예에서 액세스 목록 IPv6-tACL-Policy-Voice는 신뢰할 수 없는 호스트 또는 네트워크에서 받은 다음 패킷을 삭제했습니다.
- ACE 라인 2의 경우 1023보다 큰 UDP 포트의 RTP 패킷 29개
Firewall#router#show ipv6 access-list IPv6-tACL-Policy-Voice ipv6 access-list IPv6-tACL-Policy-Voice line 1 permit udp 2001:db8:60::/64 gt 1023 host 2001:db8:1:100::1 gt 1023 (hitcnt=0) ipv6 access-list IPv6-tACL-Policy-Voice line 2 deny udp 2001:db8:60::/64 gt 1023 any gt 1023 (hitcnt=44) ipv6 access-list IPv6-tACL-Policy-Voice line 3 deny ip any any (hitcnt=0)
앞의 예에서 액세스 목록 IPv6-tACL-Policy-Voice는 신뢰할 수 없는 호스트 또는 네트워크에서 받은 다음 패킷을 삭제했습니다.
- ACE 라인 2의 경우 1023보다 큰 UDP 포트의 44개 RTP 패킷
식별: 방화벽 액세스 목록 Syslog 메시지
log 키워드가 없는 ACE(액세스 제어 항목)에 의해 거부된 패킷에 대해 방화벽 syslog 메시지 106023이 생성됩니다. 이 syslog 메시지에 대한 추가 정보는 Cisco ASA 5500 Series System Log Message, 8.2 - 106023에 있습니다.
Cisco ASA 5500 Series Adaptive Security Appliance용 syslog 구성에 대한 정보는 Monitoring - Configuring Logging에 있습니다. Cisco Catalyst 6500 Series ASA Services Module에서 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 Jan 09 2013 00:15:13: %ASA-4-106023: Deny udp src outside:192.0.2.18/2944 dst inside:192.168.60.191/6281 by access-group "tACL-Policy-Data" Jan 09 2013 00:15:13: %ASA-4-106023: Deny udp src inside:192.168.60.33/5298 dst outside:192.0.2.200/2834 by access-group "tACL-Policy-Voice" Jan 09 2013 00:15:13: %ASA-4-106023: Deny tcp src outside:2001:db8:2::2:172/2951 dst inside:2001:db8:1:60::23/22 by access-group "IPv6-tACL-Policy-Data" Jan 09 2013 00:15:13: %ASA-4-106023: Deny udp src inside:2001:db8:1:60::134/7528 dst outside:2001:db8:d::a85e:172/4752 by access-group "IPv6-tACL-Policy-Voice" firewall#
Cisco ASA Series Adaptive Security Appliance용 syslog 메시지에 대한 추가 정보는 Cisco ASA 5500 Series System Log Messages, 8.2에 있습니다. Cisco Catalyst 6500 Series ASA Services Module의 syslog 메시지에 대한 추가 정보는 Cisco ASASM CLI 컨피그레이션 가이드의 Analyzing Syslog Messages 섹션에 있습니다. Cisco 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 Cisco Security Intelligence Operations 백서를 참조하십시오.
완화: 유니캐스트 역방향 경로 전달을 사용한 스푸핑 보호
이 문서에 설명된 취약성은 스푸핑된 IP 패킷으로 악용될 수 있습니다. 관리자는 스푸핑에 대한 보호 메커니즘으로 uRPF를 구축하고 구성할 수 있습니다.
uRPF는 인터페이스 레벨에서 구성되며 확인 가능한 소스 IP 주소가 없는 패킷을 탐지하고 삭제할 수 있습니다. 소스 IP 주소에 대한 적절한 반환 경로가 있는 경우 스푸핑된 패킷이 uRPF 지원 인터페이스를 통해 네트워크에 들어갈 수 있으므로 관리자는 uRPF를 사용하여 완벽한 스푸핑 보호를 제공해서는 안 됩니다. 엔터프라이즈 환경에서는 인터넷 에지와 사용자 지원 레이어 3 인터페이스의 내부 액세스 레이어에서 uRPF를 활성화할 수 있습니다.
uRPF의 컨피그레이션 및 사용에 대한 자세한 내용은 ip verify reverse-path에 대한 Cisco Security Appliance Command Reference 및 Understanding Unicast Reverse Path Forwarding Cisco Security 백서를 참조하십시오.
식별: 유니캐스트 역방향 경로 전달을 사용하는 스푸핑 보호
uRPF에서 거부된 패킷에 대해 방화벽 syslog 메시지 106021이 생성됩니다. 이 syslog 메시지에 대한 추가 정보는 Cisco ASA 5500 Series System Log Message, 8.2 - 106021에 있습니다.
Cisco ASA 5500 Series Adaptive Security Appliance용 syslog 구성에 대한 정보는 Monitoring - Configuring Logging에 있습니다. Cisco Catalyst 6500 Series ASA Services Module에 대한 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 106021 Jan 09 2013 00:15:13: %ASA-1-106021: Deny UDP reverse path check from 192.168.60.1 to 192.168.60.99 on interface outside Jan 09 2013 00:15:13: %ASA-1-106021: Deny UDP reverse path check from 192.168.60.1 to 192.168.60.99 on interface outside Jan 09 2013 00:15:13: %ASA-1-106021: Deny TCP reverse path check from 192.168.60.1 to 192.168.60.99 on interface outside
다음 예와 같이 show asp drop 명령은 uRPF 기능이 삭제한 패킷의 수를 식별할 수도 있습니다.
firewall#show asp drop frame rpf-violated Reverse-path verify failed 11 firewall#
앞의 예에서 uRPF는 uRPF가 구성된 인터페이스에서 수신된 11개의 IP 패킷을 삭제했습니다. 출력이 없으면 방화벽의 uRPF 기능에서 패킷이 삭제되지 않았음을 나타냅니다.
가속화된 보안 경로 삭제 패킷 또는 연결 디버깅에 대한 자세한 내용은 Cisco Security Appliance Command Reference for show asp drop을 참조하십시오.
Cisco 보안 관리자
식별: Cisco Security Manager
Cisco Security Manager, 이벤트 뷰어
소프트웨어 버전 4.0부터 Cisco Security Manager는 Cisco 방화벽 및 Cisco IPS 디바이스에서 syslog를 수집하고 이 문서에 설명된 취약성과 관련된 이벤트를 쿼리할 수 있는 이벤트 뷰어를 제공합니다.
이벤트 뷰어의 미리 정의된 Firewall Denied Events(방화벽 거부 이벤트) 보기에서 다음 필터를 사용하면 이 문서에 설명된 취약성을 악용하려는 잠재적 시도를 나타낼 수 있는 모든 캡처된 Cisco 방화벽 액세스 목록 거부 syslog 메시지를 제공합니다.
- Destination 이벤트 필터를 사용하여 영향을 받는 디바이스에서 사용하는 IP 주소 공간을 포함하는 네트워크 객체를 필터링할 수 있습니다(예: IPv4 주소 범위 192.168.60.0/24 및 IPv6 주소 범위 2001:DB8:1:60:::/64)
- Destination Service 이벤트 필터를 사용하여 TCP 포트 22 및 UDP 포트 1023 - 65535을 포함하는 개체를 필터링합니다
이벤트 유형 ID 필터는 이벤트 뷰어의 Firewall Denied Events 미리 정의된 보기와 함께 다음 목록에 표시된 syslog ID를 필터링하여 이 문서에 설명된 취약성을 악용하려는 잠재적 시도를 나타낼 수 있는 모든 캡처된 Cisco 방화벽 거부 syslog 메시지를 제공할 수 있습니다.
- ASA-4-106021(uRPF 스푸핑)
- ASA-4-106023(ACL 거부)
Cisco Security Manager 이벤트에 대한 자세한 내용은 Cisco Security Manager 사용 설명서의 이벤트 필터링 및 쿼리 섹션을 참조하십시오.
ID: Event Management System 파트너 이벤트
Cisco는 Cisco Developer Network를 통해 업계 최고의 SIEM(Security Information and Event Management) 기업과 협력하고 있습니다. 이러한 파트너십을 통해 Cisco는 장기 로그 아카이빙 및 포렌식, 이기종 이벤트 상관관계, 고급 규정 준수 보고 등 비즈니스 문제를 해결하는, 검증되고 테스트된 SIEM 시스템을 제공할 수 있습니다. Security Information and Event Management 파트너 제품을 활용하여 Cisco 디바이스에서 이벤트를 수집한 다음 수집된 이벤트에서 Cisco IPS 시그니처로 생성된 사고를 쿼리하거나, 이 문서에 설명된 취약성을 악용하려는 잠재적인 시도를 나타낼 수 있는 방화벽의 syslog 메시지를 거부할 수 있습니다. 쿼리는 다음 목록에 표시된 것처럼 Sig ID 및 Syslog ID로 수행할 수 있습니다.
- ASA-4-106021(uRPF 스푸핑)
- ASA-4-106023(ACL 거부)
SIEM 파트너에 대한 자세한 내용은 Security Management System 웹 사이트를 참조하십시오.
-
버전 설명 섹션 날짜 1 최초 릴리스 2013년 1월 09일 16:01(GMT)
-
Cisco 제품의 보안 취약성 보고, 보안 사고에 대한 지원 요청, Cisco의 보안 정보 수신을 위한 등록 등에 대한 자세한 내용은 Cisco의 전 세계 웹 사이트(https://sec.cloudapps.cisco.com/security/center/resources/security_vulnerability_policy.html)에서 확인할 수 있습니다. 여기에는 Cisco 보안 알림과 관련된 언론 문의에 대한 지침이 포함됩니다. 모든 Cisco 보안 권고 사항은 http://www.cisco.com/go/psirt에서 확인할 수 있습니다.
-
보안 취약성은 다음과 같은 제품 조합에 적용됩니다.
기본 제품 Cisco Cisco Unified IP Phone 7906G 7.2(3) | 8.0 ((3), (4), (4)SR1, (4)SR2, (4)SR3A) | 8.2 ((1), (2), (2) SR1, (2) SR2, (2) SR4, (2) SR3) | 8.3 ((1), (2), (2) SR1, (2) SR2, (2) SR3, (2) SR4, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7911G 7.2(1), (2)SR2, (3) | 8.0 ((1), (2), (3), (4) SR1, (4) SR2, (4) SR3A) | 8.2 ((1), (2) SR1, (2) SR2, (2) SR3, (2) SR4) | 8.3 ((1), (2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7931G 8.3(1), (2), (2)SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7941G 7.0 ((2), (2)SR1, (3)) | 8.0 ((1), (2)SR1, (3), (4), (4)SR1, (4)SR2, (4)SR3A) | 8.2 ((1), (2) SR1, (2) SR2, (2) SR3, (2) SR4) | 8.3 ((1), (2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7942G 8.3(2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7945G 8.3(2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7961G 7.0((2), (2) SR1, (3) | 8.0 ((1), (2)SR1, (3), (4)SR1, (4)SR2, (4)SR3A) | 8.2 ((1), (2) SR1, (2) SR2, (2) SR3, (2) SR4) | 8.3 ((1), (2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7962G 8.3(2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7965G 8.3(2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7970G 5.0(1), (3) | 6.0 ((1), (1)SR1, (2), (2)SR1, (3)SR1) | 7.0 ((1), (2), (2)SR1, (3)) | 8.0 ((1), (2)SR1, (3), (4)SR1, (4)SR2, (4)SR3A) | 8.3 ((1), (2), (2) SR1, (3), (3) SR2) | 9.0 (9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7971G-GE 9.0(9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7961G-GE 9.0(9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7941G-GE 9.0(9.0(2)SR1, 9.0(2)SR2, 9.0(3), 9.1(1)SR1, 9.2(1)) Cisco Unified IP Phone 7975G 8.3(2)(기본, SR1) | 8.3(3)(기본, SR2) | 8.3(4)(기본, SR1) | 8.3(5)(기본) | 8.4(1)(기본, SR1, SR2) | 8.4(2)(기본) | 8.4(3)(기본) | 8.4(4)(기본) | 8.5(2)(기본, SR1) | 8.5(3)(기본, SR1) | 8.5(4)(기본) | 9.0(2)(기본, SR1, SR2) | 9.0(3)(기본) | 9.1(1)(기본, SR1) | 9.2(1)(기본, SR2) | 9.2(3)(기본) | 9.3(1)(기본, SR1)
관련 제품
-
이 문서는 "있는 그대로" 제공되며, 상품성 또는 특정 사용에 대한 적합성의 보증을 포함하여 어떤 종류의 보장 또는 보증도 의미하지 않습니다. 문서 또는 문서에 링크된 자료의 정보를 사용하는 것은 귀하의 책임입니다. CISCO는 언제든지 알림을 변경하거나 업데이트할 수 있는 권리를 보유합니다.
배포 URL을 생략하는 이 문서의 텍스트를 독립 실행형으로 복사하거나 패러프레이즈는 관리되지 않는 복사본이며 중요한 정보가 없거나 사실 오류가 있을 수 있습니다. 이 문서의 정보는 Cisco 제품의 최종 사용자를 대상으로 합니다