본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
Cisco는 DOCSIS(Data-over-Cable Service Interface Specifications) 케이블 시스템의 IP 주소 스푸핑 및 IP 주소 도용을 기반으로 특정 유형의 서비스 거부 공격을 방지하는 Cisco CMTS(Cable Modem Termination System) 제품 내에서 향상된 기능을 구현했습니다. Cisco CMTS Cable Command Reference에서는 이러한 IP 주소 보안 개선 사항의 일부인 케이블 소스 확인 명령 제품군에 대해 설명합니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
DOCSIS MAC(Media Access Control) 도메인은 본질적으로 이더넷 세그먼트와 비슷합니다. 보호되지 않은 상태로 방치할 경우 세그먼트의 사용자는 서비스 거부 공격을 기반으로 하는 여러 유형의 레이어 2 및 레이어 3 주소 지정에 취약해집니다. 또한, 다른 사용자 기기에 주소록의 구성이 잘못되어 서비스 수준이 저하되는 문제가 있다. 예를 들면 다음과 같습니다.
다른 노드에서 중복 IP 주소를 구성하는 중입니다.
다른 노드에서 중복 MAC 주소를 구성하는 중입니다.
DHCP(Dynamic Host Configuration Protocol) 할당 IP 주소가 아닌 고정 IP 주소의 무단 사용.
세그먼트 내에서 다른 네트워크 번호의 무단 사용.
세그먼트 IP 서브넷의 일부를 대신하여 ARP 요청에 응답하도록 최종 노드를 잘못 구성했습니다.
이러한 유형의 문제는 이더넷 LAN 환경에서 문제가 되는 장비를 물리적으로 추적 및 분리하여 제어 및 완화하기가 쉽지만, 네트워크의 규모가 클 수 있기 때문에 DOCSIS 네트워크의 이러한 문제는 격리, 해결 및 예방하기가 더 어려울 수 있습니다. 또한 CPE(Customer Premise Equipment)를 제어하고 구성하는 최종 사용자는 현지 IS 지원 팀의 혜택을 받지 못하여 워크스테이션 및 PC가 의도적으로 또는 의도치 않게 잘못 구성되지 않았는지 확인할 수 있습니다.
Cisco CMTS 제품군은 연결된 CPE IP 및 MAC 주소로 구성된 동적으로 채워진 내부 데이터베이스를 유지 관리합니다. CPE 데이터베이스에는 이러한 CPE 장치가 속하는 해당 케이블 모뎀에 대한 세부사항도 포함되어 있습니다.
특정 케이블 모뎀에 해당하는 CPE 데이터베이스의 부분 뷰는 숨겨진 CMTS 명령 show interface cable X/Y modem Z를 실행하여 볼 수 있습니다. 여기서 X는 라인 카드 번호이고, Y는 다운스트림 포트 번호이며, Z는 케이블 모뎀의 서비스 식별자(SID)입니다. Z는 특정 다운스트림 인터페이스의 모든 케이블 모뎀 및 CPE에 대한 세부사항을 보기 위해 0으로 설정될 수 있다. 이 명령으로 생성되는 일반적인 출력의 아래 예를 참조하십시오.
CMTS# show interface cable 3/0 modem 0 SID Priv bits Type State IP address method MAC address 1 00 host unknown 192.168.1.77 static 000C.422c.54d0 1 00 modem up 10.1.1.30 dhcp 0001.9659.4447 2 00 host unknown 192.168.1.90 dhcp 00a1.52c9.75ad 2 00 modem up 10.1.1.44 dhcp 0090.9607.3831
참고: 이 명령은 숨겨져 있으므로 변경될 수 있으며 Cisco IOS® 소프트웨어의 모든 릴리스에서 사용 가능함을 보장할 수 없습니다.
위 예에서는 IP 주소가 192.168.1.90인 호스트의 method 열이 dhcp로 나열됩니다. 즉, CMTS는 호스트와 서비스 공급자의 DHCP 서버 간의 DHCP 트랜잭션을 확인하여 이 호스트에 대해 알게 되었습니다.
IP 주소가 192.168.1.77인 호스트는 static 메서드와 함께 나열됩니다. 즉, CMTS가 이 디바이스와 DHCP 서버 간의 DHCP 트랜잭션을 통해 이 호스트를 처음 파악한 것은 아닙니다. 대신 CMTS는 이 호스트에서 다른 종류의 IP 트래픽을 먼저 확인했습니다. 이 트래픽은 웹 브라우징, 이메일 또는 "ping" 패킷일 수 있습니다.
192.168.1.77이 고정 IP 주소로 구성된 것처럼 보일 수 있지만, 이 호스트는 실제로 DHCP 임대를 획득했지만 이벤트 이후 CMTS가 재부팅되어 트랜잭션을 기억하지 못할 수 있습니다.
CPE 데이터베이스는 일반적으로 CPE 디바이스와 서비스 공급자의 DHCP 서버 간의 DHCP 트랜잭션에서 수집한 CMTS 정보에 의해 채워집니다. 또한 CMTS는 어떤 CPE IP 및 MAC 주소가 어떤 케이블 모뎀에 속하는지 확인하기 위해 CPE 디바이스에서 오는 다른 IP 트래픽을 수신할 수 있습니다.
Cisco는 cable interface command cable source-verify [dhcp]를 구현했습니다. 이 명령은 CMTS가 CPE 데이터베이스를 사용하여 CMTS가 케이블 인터페이스에서 수신하는 IP 패킷의 유효성을 확인하고 CMTS가 전달 여부에 대해 지능적으로 결정할 수 있도록 합니다.
아래 흐름도는 케이블 인터페이스에서 수신한 IP 패킷이 CMTS를 통과하도록 허용되기 전에 거쳐야 하는 추가 처리를 보여줍니다.
순서도 1
플로우차트는 CMTS의 업스트림 포트에서 패킷을 수신하는 것으로 시작하여 추가 처리를 위해 계속하도록 허용되거나 삭제되는 패킷으로 종료됩니다.
첫 번째로 다룰 서비스 거부 시나리오는 중복된 IP 주소를 포함하는 상황입니다. 고객 A가 자신의 서비스 공급업체에 연결되어 있으며 자신의 PC에 대해 유효한 DHCP 리스를 취득했다고 가정해 보겠습니다. 고객 A가 얻은 IP 주소를 X라고 합니다.
A가 DHCP 리스를 취득한 후 얼마 후 고객 B는 현재 고객 A의 장비에서 사용 중인 것과 동일한 고정 IP 주소로 PC를 구성하기로 결정합니다. IP 주소 X에 관한 CPE 데이터베이스 정보는 어떤 CPE 디바이스가 X 대신 ARP 요청을 마지막으로 전송했는지에 따라 변경됩니다.
보호되지 않는 DOCSIS 네트워크에서 고객 B는 X 대신 ARP 요청을 CMTS 또는 next-hop 라우터로 보냄으로써 IP 주소 X를 사용할 권한이 있음을 다음 홉 라우터(대부분의 경우 CMTS)로 확신할 수 있습니다. 이렇게 하면 통신 사업자의 트래픽이 고객 A로 전달되지 않습니다.
케이블 소스 검증을 활성화하면 CMTS는 IP 주소 X에 대한 IP 및 ARP 패킷이 잘못된 케이블 모뎀에서 소싱되고 있음을 확인할 수 있으므로 이러한 패킷이 삭제될 수 있습니다. 순서도 2를 참조하십시오. 여기에는 소스 주소 X가 있는 모든 IP 패킷과 X를 대신하는 ARP 요청이 포함됩니다. CMTS 로그는 다음과 같은 줄에 메시지를 표시합니다.
%UBR7200-3-BADIPSOURCE: 인터페이스 Cable3/0, 잘못된 소스의 IP 패킷입니다. IP=192.168.1.10, MAC=0001.422c.54d0, 예상 SID=10, 실제 SID=11
순서도 2
이 정보를 사용하여 두 클라이언트를 모두 식별하고 연결된 중복 IP 주소의 케이블 모뎀을 비활성화할 수 있습니다.
또 다른 시나리오는 사용자가 CPE 주소의 합법적인 범위에 속하는 PC에 아직 사용되지 않은 IP 주소를 정적으로 할당하는 것입니다. 이 시나리오로 인해 네트워크의 어느 누구에게도 서비스가 중단되지 않습니다. 고객 B가 자신의 PC에 주소 Y를 할당했다고 가정해 보자.
다음 문제가 발생할 수 있습니다. 고객 C는 자신의 워크스테이션을 서비스 공급자의 네트워크에 연결하고 IP 주소 Y에 대한 DHCP 임대를 취득할 수 있습니다. CPE 데이터베이스는 일시적으로 IP 주소 Y를 고객 C의 케이블 모뎀 뒤에 속한 것으로 표시합니다. 그러나 고객 B가 머지않아 합법적이지 않은 사용자가 적절한 ARP 트래픽 시퀀스를 전송하여 다음 홉에서 자신이 IP 주소 Y의 합법적인 소유자임을 확신시켜 고객 C의 서비스가 중단될 수 있습니다.
마찬가지로 두 번째 문제는 케이블 소스-검증을 켜는 것으로 해결할 수 있다. 케이블 소스-검증이 켜지면 DHCP 트랜잭션에서 세부 정보를 수집하여 생성된 CPE 데이터베이스 항목은 다른 종류의 IP 트래픽에 의해 대체될 수 없습니다. 해당 IP 주소에 대한 또 다른 DHCP 트랜잭션 또는 해당 IP 주소에 대한 CMTS 시간 초과의 ARP 항목만 항목을 대체할 수 있습니다. 이렇게 하면 최종 사용자가 지정된 IP 주소에 대해 DHCP 임대를 성공적으로 획득한 경우, 해당 고객은 CMTS가 혼동되어 자신의 IP 주소가 다른 사용자의 것이라고 생각할 염려가 없습니다.
사용자가 아직 사용되지 않은 IP 주소를 사용하지 못하게 하는 첫 번째 문제는 케이블 소스 확인 dhcp를 사용하여 해결할 수 있습니다. CMTS는 이 명령의 끝에 dhcp 매개 변수를 추가하여 DHCP 서버에 LEASEQUERY라는 특수한 유형의 DHCP 메시지를 발행하여 수신하는 모든 새 소스 IP 주소의 유효성을 확인할 수 있습니다. 순서도 3을 참조하십시오.
순서도 3
지정된 CPE IP 주소에 대해 LEASEQUERY 메시지는 해당 MAC 주소와 케이블 모뎀이 무엇인지 묻습니다.
이 경우 고객 B가 고정 주소 Y로 워크스테이션을 케이블 네트워크에 연결할 경우 CMTS는 DHCP 서버에 LEASEQUERY를 전송하여 주소 Y가 고객 B의 PC에 임대되었는지 확인합니다. DHCP 서버는 CMTS에 IP 주소 Y에 대한 임대가 허용되지 않았으므로 고객 B의 액세스가 거부됨을 알릴 수 있습니다.
사용자는 고정 IP 주소로 케이블 모뎀 뒤에 워크스테이션을 구성할 수 있습니다. 이 주소는 서비스 공급자의 현재 네트워크 번호와 충돌하지 않지만 향후 문제가 발생할 수 있습니다. 따라서 CMTS는 케이블 소스 검증을 사용하여 CMTS의 케이블 인터페이스에 구성된 범위가 아닌 소스 IP 주소에서 오는 패킷을 필터링할 수 있습니다.
참고: 이 명령이 제대로 작동하려면 스푸핑된 IP 소스 주소를 방지하기 위해 ip verify unicast reverse-path 명령도 구성해야 합니다. 케이블 명령을 참조하십시오. 자세한 내용은 를 참조하십시오.
일부 고객은 CPE 디바이스로서 라우터를 보유할 수 있으며, 서비스 공급자가 이 라우터에 트래픽을 라우팅하도록 할 수 있습니다. CMTS가 CPE 라우터에서 Z의 소스 IP 주소로 IP 트래픽을 수신하는 경우, CMTS에 해당 CPE 디바이스를 통해 네트워크 Z가 속한 경로가 있으면 케이블 소스 검증에서 이 패킷을 통과시킵니다. 순서도 3을 참조하십시오.
이제 다음 예를 고려하십시오.
CMTS에는 다음 컨피그레이션이 있습니다.
interface cable 3/0 ip verify unicast reverse-path ip address 10.1.1.1 255.255.255.0 ip address 24.1.1.1 255.255.255.0 secondary cable source-verify ! ip route 24.2.2.0 255.255.255.0 24.1.1.2 Note: This configuration shows only what is relevant for this example
소스 IP 주소가 172.16.1.10인 패킷이 케이블 모뎀 24.2.2.10에서 CMTS에 도착했다고 가정하면, CMTS는 24.2.2.10이 CPE 데이터베이스에 상주하지 않는다는 것을 알 수 있지만, int 케이블 x/y 모뎀 0을 보여 주지만, ip verify unicast reverse-path는 유니캐스트 RPF(Unicast Reverse Path Forwarding)를 활성화하며, 이는 패킷의 소스 IP 주소가 해당 인터페이스에 속하는 라우팅 테이블에 나타나는지 확인하기 위해 인터페이스에서 수신된 각 패킷을 확인합니다. 케이블 소스-verify는 24.2.2.10의 다음 홉이 무엇인지 확인합니다. 위 컨피그레이션에는 ip 경로 24.2.2.0 255.255.255.0 24.1.1.2가 있으며, 이는 다음 홉이 24.1.1.2임을 의미합니다. 이제 24.1.1.2가 CPE 데이터베이스에서 유효한 항목이라고 가정하면 CMTS는 패킷이 정상으로 간주되므로 Flowchart 4에 따라 패킷을 처리합니다.
순서도 4
케이블 소스 확인을 구성하려면 기능을 활성화하려는 케이블 인터페이스에 케이블 소스 확인 명령을 추가하는 작업만 수행하면 됩니다. 케이블 인터페이스 번들링을 사용하는 경우 기본 인터페이스의 컨피그레이션에 케이블 소스 검증을 추가해야 합니다.
케이블 source-verify dhcp를 구성하는 방법
참고: cable source-verify는 Cisco IOS Software 릴리스 12.0(7)T에 처음 도입되었으며 Cisco IOS Software 릴리스 12.0SC, 12.1EC 및 12.1T에서 지원됩니다.
케이블 source-verify dhcp를 구성하려면 몇 가지 단계가 필요합니다.
DHCP 서버가 특수 DHCP LEASEQUERY 메시지를 지원하는지 확인합니다.
케이블 source-verify dhcp 기능을 사용하려면 DHCP 서버가 draft-ietf-dhcp-leasequery-XX.txt에 지정된 대로 메시지에 응답해야 합니다. Cisco Network Registrar 버전 3.5 이상에서는 이 메시지에 응답할 수 있습니다.
DHCP 서버가 릴레이 에이전트 정보 옵션 처리를 지원하는지 확인합니다. 릴레이 에이전트 섹션을 참조하십시오.
DHCP 서버에서 지원해야 하는 또 다른 기능은 DHCP Relay Information Option 처리입니다. 이를 옵션 82 처리라고 합니다. 이 옵션은 DHCP Relay Information Option(RFC 3046)에 설명되어 있습니다. Cisco Network Registrar 버전 3.5 이상에서는 릴레이 에이전트 정보 옵션 처리를 지원하지만, 다음 명령 시퀀스로 Cisco Network Registrar 명령줄 유틸리티 nrcmd를 통해 활성화해야 합니다.
nrcmd -U admin -P changeme -C 127.0.0.1 dhcp enable save-relay-agent-data
nrcmd -U admin -P changeme -C 127.0.0.1 저장
nrcmd -U admin -P changeme -C 127.0.0.1 dhcp reload
적절한 사용자 이름, 비밀번호 및 서버 IP 주소로 대체해야 할 수 있습니다. 위의 예에서는 기본값이 표시됩니다. 또는 nrcmd 프롬프트에 있는 경우 >nrcmd를 입력합니다.
dhcp enable save-relay-agent-data
저장
dhcp 다시 로드
CMTS에서 DHCP 릴레이 정보 옵션 처리를 켭니다.
CMTS는 케이블 소스 확인 dhcp가 유효하도록 케이블 모뎀 및 CPE의 DHCP 요청에 Relay Agent Information Option을 태깅해야 합니다. 다음 명령은 Cisco IOS Software Releases 12.1EC, 12.1T 이상 버전을 실행하는 CMTS의 글로벌 컨피그레이션 모드에서 입력해야 합니다.
ip dhcp relay information 옵션
CMTS에서 Cisco IOS Software Releases 12.0SC train Cisco IOS를 실행하는 경우 대신 cable relay-agent-option cable interface 명령을 사용합니다.
실행 중인 Cisco IOS의 버전에 따라 적절한 명령을 사용하십시오. Cisco IOS의 트레인을 변경하는 경우 구성을 업데이트해야 합니다.
relay information option 명령은 CMTS가 DHCP 패킷을 릴레이할 때 릴레이된 DHCP 패킷에 옵션 82라는 특수 옵션 또는 릴레이 정보 옵션을 추가합니다.
옵션 82는 DHCP 요청이 수신된 CMTS의 물리적 인터페이스를 참조하는 하위 옵션인 Agent Circuit-ID로 채워집니다. 이 외에도 또 다른 하위 옵션인 에이전트 원격 ID는 DHCP 요청을 받았거나 전달한 케이블 모뎀의 6바이트 MAC 주소로 채워집니다.
따라서 예를 들어 케이블 모뎀 aa:bb:cc:dd:ee:ff 뒤에 있는 MAC 주소가 99:88:77:66:55:44인 PC에서 DHCP 요청을 전송하면 CMTS는 옵션 82의 에이전트 원격 ID 하위 옵션을 설정하는 DHCP 요청을 케이블 모뎀의 MAC 주소인 aa:bb:cc:dd:ee:ff로 전달합니다.
DHCP 서버는 CPE 장치의 DHCP 요청에 Relay Information Option을 포함시킴으로써 어떤 CPE가 어떤 케이블 모뎀에 속하는지에 대한 정보를 저장할 수 있습니다. 이 기능은 DHCP 서버가 특정 클라이언트에 어떤 MAC 주소가 있어야 하는지 뿐만 아니라 어떤 케이블 모뎀에 특정 클라이언트가 연결되어야 하는지에 대해 CMTS에 안정적으로 알릴 수 있으므로 CMTS에 케이블 소스 확인 dhcp를 구성할 때 특히 유용합니다.
적절한 케이블 인터페이스에서 cable source-verify dhcp 명령을 활성화합니다.
마지막 단계는 기능을 활성화하려는 케이블 인터페이스에서 cable source-verify dhcp 명령을 입력하는 것입니다. CMTS에서 케이블 인터페이스 번들링을 사용하는 경우 번들의 기본 인터페이스 아래에 명령을 입력해야 합니다.
케이블 source-verify 명령 모음을 사용하면 서비스 공급업체는 네트워크를 사용할 권한이 없는 IP 주소를 사용하는 사용자로부터 케이블 네트워크를 보호할 수 있습니다.
케이블 source-verify 명령 자체는 IP 주소 보안을 구현하는 효과적이고 쉬운 방법입니다. 모든 시나리오를 다루지는 않지만, 할당된 IP 주소를 사용할 권한이 있는 고객이 다른 사용자가 자신의 IP 주소를 사용하도록 하여 어떠한 장애도 발생하지 않도록 보장합니다.
이 문서에 설명된 가장 간단한 형태로, DHCP를 통해 구성되지 않은 CPE 디바이스는 네트워크 액세스를 획득할 수 없다. 이는 IP 주소 공간을 확보하고 Data over Cable 서비스의 안정성과 신뢰성을 높이는 가장 좋은 방법입니다. 그러나 정적 주소를 사용해야 하는 상용 서비스가 있는 여러 서비스 운영자(MSO)는 명령 케이블 source-verify dhcp의 엄격한 보안을 구현하고자 했습니다.
Cisco Network Registrar 버전 5.5에서는 DHCP를 통해 IP 주소를 가져오지 않았더라도 "예약된" 주소에 대한 임대 쿼리에 응답하는 새로운 기능이 있습니다. DHCP 서버는 DHCPLEASEQUERY 응답에 임대 예약 데이터를 포함합니다. Network Registrar의 이전 릴리스에서는 MAC 주소가 저장된 임대 또는 이전에 임대한 클라이언트에 대해서만 DHCPLEASEQUERY 응답이 가능했습니다. 예를 들어 Cisco uBR 릴레이 에이전트는 MAC 주소 및 리스 시간이 없는 DHCPLEASEQUERY 데이터그램을 삭제합니다(dhcp-lease-time 옵션).
Network Registrar는 DHCPLEASEQUERY 응답에서 예약된 임대에 대해 기본 임대 시간을 1년(31536000초)으로 반환합니다. 주소가 실제로 임대한 경우 Network Registrar는 남은 임대 시간을 반환합니다.