예: 컨트롤 플레인 DDoS 보호 구성
이 예에서는 라우터가 신속하게 공격을 식별하고 악의적인 제어 패킷의 홍수로 인해 시스템 리소스가 고갈되는 것을 방지할 수 있는 컨트롤 플레인 DDoS 보호를 구성하는 방법을 보여줍니다.
요구 사항
컨트롤 플레인 DDoS 방어에는 다음과 같은 하드웨어 및 소프트웨어가 필요합니다.
MPC만 설치된 MX 시리즈 라우터, FPC5만 설치된 T4000 코어 라우터, EX9200 스위치
메모:라우터에 MPC 또는 FPC5 외에 다른 카드가 있는 경우 CLI는 구성을 수락하지만 다른 카드는 보호되지 않으므로 라우터가 보호되지 않습니다.
Junos OS 릴리스 11.2 이상
이 기능을 구성하기 위해 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
분산 서비스 거부 공격은 여러 소스를 사용하여 네트워크 또는 라우터에 프로토콜 제어 패킷을 플러딩합니다. 이 악의적인 트래픽은 네트워크에서 많은 수의 예외를 트리거하고 시스템 리소스를 고갈시켜 네트워크 또는 서버에 대한 유효한 사용자 액세스를 거부하려고 시도합니다.
이 예에서는 라우터가 부정적인 영향을 받기 전에 초과 제어 트래픽을 식별하고 패킷을 삭제하는 속도 제한 폴리서를 구성하는 방법을 설명합니다. 샘플 작업에는 프로토콜 그룹 내의 특정 제어 패킷 유형에 대한 폴리서 구성, 프로토콜 그룹에 대한 집계 폴리서 구성 및 특정 제어 패킷 유형에 대한 해당 폴리서 우회, DDoS 작업에 대한 추적 옵션 지정이 포함됩니다.
이 예에서는 가능한 모든 구성 선택 사항을 표시하지 않습니다.
위상수학
구성
절차
CLI 빠른 구성
프로토콜 그룹 및 특정 제어 패킷 유형에 대한 컨트롤 플레인 DDoS 보호를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고 줄 바꿈을 제거한 다음 명령을 복사하여 CLI에 붙여넣습니다.
[edit] edit system set ddos-protection protocols dhcpv4 aggregate bandwidth 669 set ddos-protection protocols dhcpv4 aggregate burst 6000 set ddos-protection protocols dhcpv4 discover bandwidth 100 set ddos-protection protocols dhcpv4 discover recover-time 200 set ddos-protection protocols dhcpv4 discover burst 300 set ddos-protection protocols dhcpv4 offer priority medium set ddos-protection protocols dhcpv4 offer bypass-aggregate set ddos-protection protocols dhcpv4 offer fpc 1 bandwidth-scale 80 set ddos-protection protocols dhcpv4 offer fpc 1 burst-scale 75 set ddos-protection protocols pppoe aggregate bandwidth 800 set ddos-protection traceoptions file ddos-trace size 10m set ddos-protection traceoptions flag all top
단계별 절차
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. 이 작업을 수행하는 방법에 대한 지침은 구성 모드에서 CLI 편집기 사용을 참조하십시오.
DDoS 보호를 구성하려면 다음을 수행합니다.
프로토콜 그룹을 지정합니다.
[edit system ddos-protection protocols] user@host# edit dhcpv4
DHCPv4 집계 폴리서에 대한 최대 트래픽 속도(초당 패킷[pps])를 구성합니다. 즉, 모든 DHCPv4 패킷의 조합입니다.
메모:옵션을 사용하여
bandwidth
트래픽 속도를 변경합니다. 대역폭이라는 용어는 일반적으로 초당 비트 수(bps)를 의미하지만 이 기능의 옵션은 초당 패킷(bandwidth
pps) 값을 나타냅니다.[edit system ddos-protection protocols dhcpv4] user@host# set aggregate bandwidth 669
DHCPv4 어그리게이션 폴리서의 최대 버스트 크기(패킷 수)를 구성합니다.
[edit system ddos-protection protocols dhcpv4] user@host# set aggregate burst 6000
디스커버 패킷을 위한 DHCPv4 폴리서의 최대 트래픽 속도(pps)를 구성합니다.
[edit system ddos-protection protocols dhcpv4] user@host# set discover bandwidth 100
DHCPv4 디스커버 폴리서 위반에 대한 복구 시간을 단축합니다.
[edit system ddos-protection protocols dhcpv4] user@host# set discover recover-time 200
DHCPv4 디스커버 폴리서의 최대 버스트 크기(패킷 수)를 구성합니다.
[edit system ddos-protection protocols dhcpv4] user@host# set discover burst 300
DHCPv4 제공 패킷의 우선 순위를 높입니다.
[edit system ddos-protection protocols dhcpv4] user@host# set offer priority medium
제공 패킷이 총 대역폭(pps)에 포함되지 않도록 합니다. 즉, 제공 패킷은 총 대역폭(pps)을 초과하는지 여부를 결정하기 위해 결합된 DHCPv4 트래픽에 기여하지 않습니다. 그러나 오퍼 패킷은 여전히 트래픽 속도 통계에 포함됩니다.
[edit system ddos-protection protocols dhcpv4] user@host# set offer bypass-aggregate
슬롯 1의 MPC 또는 FPC5에서 DHCPv4 오퍼 폴리서에 대해 위반이 선언되기 전에 허용되는 대역폭(pps) 및 버스트 크기(패킷)를 줄입니다.
[edit system ddos-protection protocols dhcpv4] user@host# set offer fpc 1 bandwidth-scale 80 user@host# set offer fpc 1 burst-scale 75
PPPoE 집계 폴리서, 즉 모든 PPPoE 패킷의 조합에 대한 최대 트래픽 속도를 구성합니다.
[edit system ddos-protection protocols dhcpv4] user@host# up [edit system ddos-protection protocols] user@host# set pppoe aggregate bandwidth 800
모든 DDoS 프로토콜 처리 이벤트에 대한 추적을 구성합니다.
[edit system ddos-protection traceoptions] user@host# set file ddos-log user@host# set file size 10m user@host# set flag all
결과
구성 모드에서 명령을 입력하여 show ddos-protection
구성을 확인합니다. 출력이 의도한 구성을 표시하지 않으면, 이 예의 구성 지침을 반복하여 수정합니다.
[edit system] user@host# show ddos-protection traceoptions { file ddos-trace size 10m; flag all; } protocols { pppoe { aggregate { bandwidth 800; } } dhcpv4 { aggregate { bandwidth 669; burst 6000; } discover { bandwidth 100; burst 300; recover-time 200; } offer { priority medium; fpc 1 { bandwidth-scale 80; burst-scale 75; } bypass-aggregate; } } }
디바이스 구성을 마쳤으면 구성 모드에서 을 입력합니다 commit
.
확인
DDoS 보호 구성이 제대로 작동하는지 확인하려면 다음 작업을 수행합니다.
DHCPv4 디도스(DDoS) 공격 방어 구성 및 작동 검증
목적
DHCPv4 집계 및 프로토콜 폴리서 값이 기본값에서 변경되었는지 확인합니다. DHCPv4 및 PPPoE 트래픽 플로우를 통해 폴리서가 올바르게 작동하는지 확인합니다. 여기에 표시된 것처럼 명령을 입력하여 관심 있는 개별 폴리서를 표시하거나 명령을 입력하여 show ddos-protection protocols dhcpv4
모든 DHCPv4 패킷 유형에 대해 이 정보를 표시할 수 있습니다.
행동
운영 모드에서 명령을 입력합니다 show ddos-protection protocols dhcpv4 aggregate
.
user@host> show ddos-protection protocols dhcpv4 aggregate Protocol Group: DHCPv4 Packet type: aggregate (aggregate for all DHCPv4 traffic) Aggregate policer configuration: Bandwidth: 669 pps Burst: 6000 packets Priority: medium Recover time: 300 seconds Enabled: Yes System-wide information: Aggregate bandwidth is no longer being violated No. of FPCs currently receiving excess traffic: 0 No. of FPCs that have received excess traffic: 1 Violation first detected at: 2011-03-10 06:27:47 PST Violation last seen at: 2011-03-10 06:28:57 PST Duration of violation: 00:01:10 Number of violations: 1 Received: 71064 Arrival rate: 0 pps Dropped: 23115 Max arrival rate: 1000 pps Routing Engine information: Bandwidth: 669 pps, Burst: 6000 packets, enabled Aggregate policer is never violated Received: 36130 Arrival rate: 0 pps Dropped: 0 Max arrival rate: 671 pps Dropped by aggregate policer: 0 FPC slot 1 information: Bandwidth: 100% (669 pps), Burst: 100% (5000 packets), enabled Aggregate policer is no longer being violated Violation first detected at: 2011-03-10 06:27:48 PST Violation last seen at: 2011-03-10 06:28:58 PST Duration of violation: 00:01:10 Number of violations: 1 Received: 71064 Arrival rate: 0 pps Dropped: 34934 Max arrival rate: 1000 pps Dropped by individual policers: 11819 Dropped by aggregate policer: 23115
운영 모드에서 명령을 입력합니다 show ddos-protection protocols dhcpv4 discover
.
user@host> show ddos-protection protocols dhcpv4 discover Protocol Group: DHCPv4 Packet type: discover (DHCPv4 DHCPDISCOVER) Individual policer configuration: Bandwidth: 100 pps Burst: 300 packets Priority: low Recover time: 200 seconds Enabled: Yes Bypass aggregate: No System-wide information: Bandwidth is no longer being violated No. of FPCs currently receiving excess traffic: 0 No. of FPCs that have received excess traffic: 1 Violation first detected at: 2011-03-10 06:28:34 PST Violation last seen at: 2011-03-10 06:28:55 PST Duration of violation: 00:00:21 Number of violations: 1 Received: 47949 Arrival rate: 0 pps Dropped: 11819 Max arrival rate: 671 pps Routing Engine information: Bandwidth: 100 pps, Burst: 300 packets, enabled Policer is never violated Received: 36130 Arrival rate: 0 pps Dropped: 0 Max arrival rate: 0 pps Dropped by aggregate policer: 0 FPC slot 1 information: Bandwidth: 100% (100 pps), Burst: 100% (300 packets), enabled Policer is no longer being violated Violation first detected at: 2011-03-10 06:28:35 PST Violation last seen at: 2011-03-10 06:28:55 PST Duration of violation: 00:00:20 Number of violations: 1 Received: 47949 Arrival rate: 0 pps Dropped: 11819 Max arrival rate: 671 pps Dropped by this policer: 11819 Dropped by aggregate policer: 0
운영 모드에서 명령을 입력합니다 show ddos-protection protocols dhcpv4 offer
.
user@host> show ddos-protection protocols dhcpv4 offer Protocol Group: DHCPv4 Packet type: offer (DHCPv4 DHCPOFFER) Individual policer configuration: Bandwidth: 1000 pps Burst: 1000 packets Priority: medium Recover time: 300 seconds Enabled: Yes Bypass aggregate: Yes System-wide information: Bandwidth is never violated Received: 0 Arrival rate: 0 pps Dropped: 0 Max arrival rate: 0 pps Routing Engine information: Policer is never violated Received: 0 Arrival rate: 0 pps Dropped: 0 Max arrival rate: 0 pps Dropped by aggregate policer: 0 FPC slot 1 information: Bandwidth: 80% (800 pps), Burst: 75% (750 packets), enabled Policer is never violated Received: 0 Arrival rate: 0 pps Dropped: 0 Max arrival rate: 0 pps Dropped by aggregate policer: 0
의미
이러한 명령의 출력에는 DHCPv4 집계, 검색 및 제공 폴리서에 대한 폴리서 구성 및 트래픽 통계가 각각 나열됩니다.
첫 번째 출력 예제의 섹션과 Individual policer configuration
두 번째 및 세 번째 출력 예제의 섹션에는 Aggregate policer configuration
대역폭, 버스트, 우선 순위, 복구 시간 및 bypass-aggregate에 대해 구성된 값이 나열되어 있습니다.
이 섹션에는 System-wide information
모든 라인 카드와 라우팅 엔진에 기록된 폴리서에 대한 모든 DHCPv4 트래픽 통계 및 위반의 합계가 표시됩니다. 이 섹션에는 Routing engine information
라우팅 엔진에 기록된 폴리서에 대한 트래픽 통계 및 위반이 표시됩니다. 이 FPC slot 1 information
섹션에는 슬롯 1의 라인 카드에만 기록된 폴리서에 대한 트래픽 통계 및 위반이 표시됩니다.
이 예에서 집계 폴리서의 출력은 다음 정보를 보여줍니다.
이 섹션은
System-wide information
모든 라인 카드와 라우팅 엔진에서 모든 유형의 71,064 DHCPv4 패킷이 수신되었음을 보여줍니다. 이 섹션에는 타임스탬프가 있는 단일 위반이 표시되며, 라인 카드의 집계 폴리서가 이러한 패킷 중 23,115개를 삭제했습니다.이 섹션은
FPC slot 1 information
이 라인 카드가 71,064개의 DHCPv4 패킷을 모두 수신했지만, 집계 폴리서가 위반을 경험하여 다른 섹션에 표시된 23,115개의 패킷을 삭제했음을 보여줍니다. 라인 카드 개별 폴리서는 11,819개의 패킷을 추가로 삭제했습니다.이 섹션은 나머지 36,130개의 패킷이
Routing Engine information
모두 라우팅 엔진에 도달했으며 총 폴리서가 추가 패킷을 삭제하지 않았음을 보여줍니다.라인 카드에서 수신 및 삭제된 DHCPv4 패킷 수 [71,064 - (23,115 + 11,819)]의 차이는 라우팅 엔진에서 수신된 수와 일치합니다. 두 개 이상의 라인 카드에서 패킷을 수신 및 삭제할 수 있으므로 항상 그런 것은 아닙니다. 이 예에서는 슬롯 1의 라인 카드만 DHCPv4 패킷을 수신했습니다.
이 예에서 DHCPv4 디스커버 패킷 폴리서의 출력은 다음 정보를 보여줍니다.
이 섹션은
System-wide information
47,949개의 DHCPv4가 모든 라인 카드와 라우팅 엔진에서 수신된 패킷을 발견한 것을 보여줍니다. 이 섹션에는 타임스탬프가 있는 단일 위반이 표시되며, 라인 카드의 집계 폴리서가 이러한 패킷 중 11,819개를 삭제했습니다.이 섹션은
FPC slot 1 information
이 라인 카드가 47,949개의 DHCPv4 검색 패킷을 모두 수신했지만, 개별 폴리서가 위반을 경험하여 다른 섹션에 표시된 11,819개의 패킷을 삭제했음을 보여줍니다.이 섹션은
Routing Engine information
36,130개의 DHCPv4 Discover 패킷만이 라우팅 엔진에 도달했으며 추가 패킷은 삭제되지 않았음을 보여줍니다.라인 카드(47,949 - 11,819)에서 수신 및 삭제된 DHCPv4 검색 패킷 수의 차이는 라우팅 엔진에서 수신된 수와 일치합니다. 두 개 이상의 라인 카드에서 패킷을 수신 및 삭제할 수 있으므로 항상 그런 것은 아닙니다. 이 예에서는 슬롯 1의 라인 카드만 DHCPv4 Discover 패킷을 수신했습니다.
이 예에서 DHCPv4 제공 패킷 폴리서의 출력은 다음 정보를 보여줍니다.
이 개별 폴리서는 어느 위치에서도 위반된 적이 없습니다.
어떤 위치에서도 DHCPv4 제공 패킷이 수신되지 않았습니다.
PPPoE 디도스(DDoS) 구성 검증
목적
PPPoE 폴리서 값이 기본값에서 변경되었는지 확인합니다.
행동
운영 모드에서 명령을 입력합니다 show ddos-protection protocols pppoe parameters brief
.
user@host> show ddos-protection protocols pppoe parameters brief Number of policers modified: 1 Protocol Packet Bandwidth Burst Priority Recover Policer Bypass FPC group type (pps) (pkts) time(sec) enabled aggr. mod pppoe aggregate 800* 2000 medium 300 yes -- no pppoe padi 500 500 low 300 yes no no pppoe pado 0 0 low 300 yes no no pppoe padr 500 500 medium 300 yes no no pppoe pads 0 0 low 300 yes no no pppoe padt 1000 1000 high 300 yes no no pppoe padm 0 0 low 300 yes no no pppoe padn 0 0 low 300 yes no no
운영 모드에서 명령을 입력하고 show ddos-protection protocols pppoe padi
에 대한 padr
명령도 입력합니다.
user@host> show ddos-protection protocols pppoe padi Protocol Group: PPPoE Packet type: padi (PPPoE PADI) Individual policer configuration: Bandwidth: 500 pps Burst: 500 packets Priority: low Recover time: 300 seconds Enabled: Yes Bypass aggregate: No System-wide information: Bandwidth for this packet type is being violated! Number of slots currently receiving excess traffic: 1 Number of slots that have received excess traffic: 1 Violation first detected at: 2011-03-09 11:26:33 PST Violation last seen at: 2011-03-10 12:03:44 PST Duration of violation: 1d 00:37 Number of violations: 1 Received: 704832908 Arrival rate: 8000 pps Dropped: 660788548 Max arrival rate: 8008 pps Routing Engine information: Bandwidth: 500 pps, Burst: 500 packets, enabled Policer is never violated Received: 39950330 Arrival rate: 298 pps Dropped: 0 Max arrival rate: 503 pps Dropped by aggregate policer: 0 FPC slot 3 information: Bandwidth: 100% (500 pps), Burst: 100% (500 packets), enabled Policer is currently being violated! Violation first detected at: 2011-03-09 11:26:35 PST Violation last seen at: 2011-03-10 12:03:44 PST Duration of violation: 1d 00:37 Number of violations: 1 Received: 704832908 Arrival rate: 8000 pps Dropped: 664882578 Max arrival rate: 8008 pps Dropped by this policer: 660788548 Dropped by aggregate policer: 4094030
user@host> show ddos-protection protocols pppoe padr Protocol Group: PPPoE Packet type: padr (PPPoE PADR) Individual policer configuration: Bandwidth: 500 pps Burst: 500 packets Priority: medium Recover time: 300 seconds Enabled: Yes Bypass aggregate: No System-wide information: Bandwidth for this packet type is being violated! Number of slots currently receiving excess traffic: 1 Number of slots that have received excess traffic: 1 Violation first detected at: 2011-03-10 06:21:17 PST Violation last seen at: 2011-03-10 12:04:14 PST Duration of violation: 05:42:57 Number of violations: 1 Received: 494663595 Arrival rate: 24038 pps Dropped: 484375900 Max arrival rate: 24062 pps Routing Engine information: Bandwidth: 500 pps, Burst: 500 packets, enabled Policer is never violated Received: 10287695 Arrival rate: 500 pps Dropped: 0 Max arrival rate: 502 pps Dropped by aggregate policer: 0 FPC slot 1 information: Bandwidth: 100% (500 pps), Burst: 100% (500 packets), enabled Policer is currently being violated! Violation first detected at: 2011-03-10 06:21:18 PST Violation last seen at: 2011-03-10 12:04:14 PST Duration of violation: 05:42:56 Number of violations: 1 Received: 494663595 Arrival rate: 24038 pps Dropped: 484375900 Max arrival rate: 24062 pps Dropped by this policer: 484375900 Dropped by aggregate policer: 0
의미
명령의 show ddos-protection protocols pppoe parameters brief
출력은 개별 PPPoE 패킷 폴리서 및 PPPoE 집계 폴리서 각각에 대한 현재 구성을 나열합니다. 기본값에서 변경되면 수정된 값 옆에 별표가 표시됩니다. 구성 단계에서 PPPoE 폴리서에 대한 유일한 변경 사항은 총 폴리서 대역폭 제한(pps)이었습니다. 이 변경 사항은 출력에서 확인됩니다. 구성 값 외에도 명령 출력은 폴리서가 비활성화되었는지 여부, 통합 폴리서를 우회하는지 여부(해당 패킷 유형에 대한 트래픽이 통합 폴리서의 평가를 위해 포함되지 않음을 의미), 폴리서가 하나 이상의 라인 카드에 대해 수정되었는지 여부도 보고합니다.
이 예제에서 명령의 show ddos-protection protocols pppoe padi
출력은 다음 정보를 보여줍니다.
이 섹션은 704,832,908 PPPoE PADI 패킷이
System-wide information
모든 라인 카드와 라우팅 엔진에서 수신되었음을 보여줍니다. 이 섹션은 아직 진행 중인 라인 카드에 대한 단일 위반을 보여주며, 라인 카드의 집계 폴리서가 PADI 패킷 중 660,788,548개를 삭제했음을 보여줍니다.이 섹션은
FPC slot 3 information
이 라인 카드가 704,832,908개의 PADI 패킷을 모두 수신했음을 보여줍니다. 개별 폴리서는 이러한 패킷 중 660,788,548개를 삭제했으며 총 폴리서는 나머지 4,094,030개를 삭제했습니다. 위반은 진행 중이며 하루 이상 지속되었습니다.이 섹션은
Routing Engine information
39,950,330개의 PADI 패킷만이 라우팅 엔진에 도달했으며 추가 패킷이 손실되지 않았음을 보여줍니다.라인 카드 [704,832,908 - (660,788,548 + 4,094030)]에서 수신 및 삭제된 PADI 패킷 수의 차이는 라우팅 엔진에서 수신된 수와 일치합니다. 두 개 이상의 라인 카드에서 패킷을 수신 및 삭제할 수 있으므로 항상 그런 것은 아닙니다. 이 예에서는 슬롯 3의 라인 카드만 PADI 패킷을 수신했습니다.
이 예제에서 명령의 show ddos-protection protocols pppoe padr
출력은 다음 정보를 보여줍니다.
이 섹션은
System-wide information
494,663,595개의 PPPoE PADR 패킷이 모든 라인 카드와 라우팅 엔진에서 수신되었음을 보여줍니다. 이 섹션에는 아직 진행 중인 라인 카드에 대한 단일 위반이 표시되며, 라인 카드의 폴리서가 484,375,900개의 PADR 패킷을 삭제했습니다.이 섹션은
FPC slot 1 information
이 라인 카드가 494,663,595개의 PADR 패킷을 모두 수신했음을 보여줍니다. 개별 폴리서는 이러한 패킷 중 484,375,900개를 삭제했습니다. 위반은 진행 중이며 5 시간 이상 지속되었습니다.이 섹션은
Routing Engine information
10,287,695개의 PADR 패킷만 라우팅 엔진에 도달했으며 추가 패킷은 삭제되지 않았음을 보여줍니다.라인 카드(494,663,595 - 484,375,900)에서 수신 및 삭제된 PADR 패킷 수의 차이는 라우팅 엔진에서 수신된 수와 일치합니다. 두 개 이상의 라인 카드에서 패킷을 수신 및 삭제할 수 있으므로 항상 그런 것은 아닙니다. 이 예에서는 슬롯 1의 라인 카드만 PADR 패킷을 수신했습니다.
이 시나리오는 한 라인 카드에 수신된 모든 PADI 패킷과 다른 라인 카드에 있는 모든 PADR 패킷을 표시하는 것은 비현실적입니다. 이 시나리오의 목적은 개별 라인 카드에 대해 폴리서 위반이 보고되는 방식을 설명하는 것입니다.