네트워크 보호 – 기본 방어부터 DDoS 공격까지

네트워크 보호는 기업에서 가장 기본임과 동시에 가장 중요한 부분이다. IT 시대에 서로 통신이 가능한 편리함을 네트워크를 통해 제공되는 만큼 네트워크 데이터를 통해서도 다양한 공격 시도가 이루어진다. 특히 우리가 흔히 사용하는 원격 데스크톱과 같은 관리용 포트로 외부와 연결이 가능하다면, 손쉽게 공격이 이루어 질 수 있다.

네트워크 보호의 기본은 네트워크 간 연결되는 포트 차단에서 시작된다고 할 수 있다. 연결된 지점을 지정하여 제한한다는 이 기본적인 수단은 가장 간단하면서 어찌 보면 가장 강력한 네트워크 보호라 할 수 있는데, 이것의 기본이 Cisco에서 사용하는 Access-list(ACL)이다. 여기서는 네트워크의 트래픽을 통제하는 수단인 ACL에 대해 조금 자세히 알아보도록 할 예정이다. 이를 통해 우리가 보호해야 하는 것이 무엇인지, 어떻게 보호해야 하는지에 대해 살펴보고, 네트워크의 원리를 함께 이해해 이를 실제 기업 네트워크에 적용해 보도록 하자.

1 ACL 기본

ACL은 흔히 일반형(Standard)과 확장형(Extended)으로 나뉘는데, 이 두 가지는 사용 구분부터 큰 차이가 있다. 다행히 이를 구분하는 방법이 매우 쉬워 사용되는 ACL 번호만으로도 해당 ACL이 일반형인지 확장형인지 파악할 수 있다. 각 번호별로 사용되는 형식은 다음과 같다.

<1-99>         IP standard access list

<100-199>     IP extended access list

<1300-1999>     IP standard access list (expanded range)

<2000-2699>     IP extended access list (expanded range)

즉 ACL을 생성하게 되면 구분 번호를 기입하여야 하는데, 입력한 구분 번호로 시스템에서 일반형인지 확장형인지를 식별하여 사용되게 된다. 그럼 먼저 일반형을 알아보도록 하자.

25.1.1 일반형(Standard) Access-list

일반형은 출발지 IP(Sorce Address)만 검사하여 허용하거나 거부하며, 일반적으로 관리 포트 혹은 아웃바운드(Outbound) 트래픽에 적용한다. 즉 포트별 구분을 할 수 없다.

일반형 ACL 생성시에는 몇 가지 주의사항이 있다.

  • 생성한 리스트에 매칭되지 않으면 암시적으로 거부된다. 하지만 거부 목록을 먼저 선언하는 경우 반드시 허용할 목록을 선언해야 한다. 즉 ACL 리스트 마지막에 거부가 없어도 암시적으로 거부된다.

    예)access-list 10 permit 192.168.1.0 0.0.0.255

    거부를 작성하지 않아도 192.168.1.0/24 서브넷 이외에는 접근할 수 없다(여기서 서브넷이란 네크워크에서 나누어지는 구역(영역)이라 할 수 있는데, 서브넷이 같으면 동일한 네트워크 범위로 간주되며 서브넷별로 할당할 수 있는 IP 개수를 가지게 된다.

    이 IP개수는 비트로 표현되며 최대 232만큼 사용할 수 있다. 즉 192.168.1.0/24 라면 32(최대수)-24(나눈수)=8로써, 28 를 계산해 보면 256(0부터시작한 개수)이 나오지만 0과 255번을 사용할 수 없도록 정의하였기에 254개의 IP만을 네트워크에서 할당하여 사용할 수 있다).

  • 우선 매칭(First Matching) 기법으로 해석을 하기 때문에 좁은 범위부터 설정해야 한다.
  • 확장형과 다르게 일반형 ACL은 생성한 이후에는 추가/변경이 불가능하기 때문에 항상 Notepad에 미리 리스트 목록을 작성 후 적용하는 것이 바람직하다.

일반형 ACL을 아래와 같은 구분으로 생성할 수 있다.

access-list {Number} {permit/deny} <Source Address><W.M>

일반형은 SNMP 서비스 혹은 텔넷과 같은 관리 접근 등을 위한 특정 호스트를 지정하고자 할 때 용의하다. 아래 내용과 같이 사용할 수 있다.

//접근 호스트 지정

Router(config)# access-list 75 permit host 211.174.242.126

//지정외 접근시 기록

Router(config)# access-list 75 deny any log

//위 생성한 ACL을 SNMP 서비스에 등록한다.

Router(config)#snmp-server community password1004 ro 75

25.1.2 확장형(Extended) Access-List

확장형은 일반형과 다르게 프로토콜과 포트를 지정할 수 있다는 점과 생성 이후에 Extended 명령을 이용하여 ACL의 추가/변경이 가능하다. 이 외 특성은 일반형 ACL과 특성은 같다.

access-list {Number} {permit/deny} <Source Address> <W.M> <Port> <DestinationAddress><W.M> <Port> <Option> <log>

확장형에서 이용 가능한 옵션은 다음과 같다.

<Protocol>: IP, IGMP, ICMP, TCP, UDP…(L3,L4 Protocol을 설정한다.)

<Option>: TCP,UDP(Port,flag), ICMP,IGMP(Type,code), IP(no option)

eq:(equal) 지정 값과 같을 경우

gt: (great than) 지정 값 포함하여 이상인 값들도 포함한다.

it: (less than) 지정 값 포함하여 이하인 값들도 포함한다.

예제를 통해 알아보자. 210.112.233.0이라는 IP를 가진 회사가 내부 사용자가 아래 포트 리스트를 허용하도록 하고 나머지는 거부하는 정책을 만들어보자.

허용할 포트는 HTTP, DNS, SMTP, FTP, TELNET, SNMP, SSH 이다.

// 이제 외부 인터페이스에 생성한 ACL 101을 인바운드에 설정하자.
Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 80
Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 53Router(config)# access-list 101 permit udp 210.112.233.0 0.0.0.255 any eq 53

Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 25

Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 23

Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 22

Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 20

Router(config)# access-list 101 permit tcp 210.112.233.0 0.0.0.255 any eq 21

Router(config)# access-list 101 permit udp 210.112.233.0 0.0.0.255 any eq 161

Router(config)# access-list 101 permit udp 210.112.233.0 0.0.0.255 any eq 162

// 이제 외부 인터페이스에 생성한 ACL 101을 인바운드에 설정하자.

Router(config)# int e 0

Router(config-if)# ip access-group 101 in

[실습 1] 확장형 ACL 등록

정의된 포트 번호

일반적으로 정의된 포트 번호는 0~1024까지로 알려져 있지만, 현재는 그보다 높은 번호들도 IANA(Internet Assigned Numbers Authority)를 통해 정의하여 사용하고 있다. 단 이 포트는 서로 기본적으로 사용되는 포트일 뿐 변경하여 사용하여도 문제가 되지는 않는다.

FTP_Contorl    21 TCP

FTP_Data    20 TCP

Telent        23 TCP

SSH        22 TCP

SMTP        25 TCP

DNS_Query    53 UDP

DNS_Replecation    53 TCP

HTTP        80 TCP

TFTP        69 UDP

DHCP-Client    67 UDP

DHCP-Server    68 UDP

POP3        110 TCP

IMAP        143 TCP

SNMP-Agent    161 UDP

SNMP-Trap    162 UDP

이외에도 많은 포트들이 정의되어 있는데, IANA에서 정의해 놓은 문서를 확인해 보기 바란다.

http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

네트워크 보호 – 기본 방어부터 DDoS 공격까지

[그림 1] 정의된 포트 리스트를 확인할 수 있다

-박스종료-

확장형은 특정 프로토콜의 경우 해당 프로토콜의 옵션별 세부 기능만 조정할 수도 있다. 예제에서는 ICMP 메시지 옵션 중 에코와 재전송, 재확인 옵션만 차단하는 정책이다. 그리고 확장 명령을 이용해 부분적으로 삭제를 진행해보자.

// 모든 네트워크로 오는 echo(ping)요청 차단/확인

Router(config)# access-list 100 deny icmp any any echo log

// 모든 네트워크로 오는 redirect(재전송)요청 차단/확인

Router(config)# access-list 100 deny icmp any any redirect log

// 모든 네트워크로 오는 mask-request(재확인)요청 차단/확인

Router(config)# access-list 100 deny icmp any any mask-request log

// 그외 ICMP 허용

Router(config)# access-list 100 permit icmp any any

Router# exit

// ACL 100의 엑세스 리스트를 확인해 보자. 앞에 다른 색 부분이 해당 ACL 라인의 구분 번호이다. 이 번호를 이용해 삭제하거나 추가할 수 있다.

Router# sh access-list 100

10 deny icmp any any echo log

20 deny icmp any any redirect log

30 deny icmp any any mask-request log

40 permit icmp any any

// 그럼 40번 permit icmp any any만을 지우기 위해 Extended 명령을 이용 하자.

Router(config)# ip access-list extended 100

SW100001(config-ext-nacl)# no 40

// 그리고 50번으로 deny icmp any any를 만들어 보자.

SW100001(config-ext-nacl)# 50 deny icmp any any

SW100001(config-ext-nacl)# end

// ACL 100에서 정상적으로 삭제되고 50번으로 생성되었음을 확인 할 수 있다.

Router# sh access-list 100

10 deny icmp any any echo log

20 deny icmp any any redirect log

30 deny icmp any any mask-request log

50 deny icmp any any

[실습 2] ICMP 세부 옵션 조정과 확장 명령을 이용한 부분 조정

25.1.3 왜 인바운드(Inbound)를 차단할까?

네트워크에 ACL을 적용할 때 대부분 많은 기업들이 인바운드를 차단한다. 이유는 간단한다., 네트워크의 특성상 출발지 IP에서 사용하는 포트는 랜덤이고, 도착지 IP인 서버 포트는 고정이기 때문에 자연스럽게 인바운드 트래픽을 컨트롤하게 되었다.

[그림] 출발지 IP에서 사용하는 포트가 랜덤으로 사용된다

이러한 포트는 윈도우에 설정된 TCP 동적 포트 범위에 의해 랜덤으로 지정되게 된다. 즉 한 세션 마다 고유의 포트를 이용하여 연결하도록 되어 있다.

현재 컴퓨터의 동적 범위를 확인하기 위해서 아래와 같은 명령어를 통해 확인할 수 있다(이 명령은 비스타 이후부터 사용되며 윈도우 2003의 경우 http://technet.microsoft.com/ko-kr/library/cc938196(en-us).aspx 문서 참조).

netsh int ipv4 show dynamicport <tcp|udp>

[그림] 현재 컴퓨터에서 사용중인 동적 포트 범위

따라서 아웃바운드를 차단하기 위해서는 이러한 포트 범위를 허용해주어야 하기 때문에 많은 어려움이 발생 할 수밖에 없다. 그리고 이 범위는 운영체제 별로 다르게 사용하기 때문에 아웃바운드에 대한 범위를 지정하기가 어렵다(윈도우 2003의 경우 동적 포트를 1024~5000을 기본적으로 사용하였다. 윈도우 2008에서는 49152~65535를 이용한다).

25.1.4 Established를 통한 인바운드 트래픽 필터링 설정

Established 설정은 방화벽과 같은 유용한 기능이다.

이 기능은 TCP 프로토콜은 기본적으로 3핸드-쉐이크(Hand-shake)를 진행한 후 세션이 연결되도록 하는 메커니즘을 이용하여 구현된 기능이라고 할 수 있다.

아래 그림과 같이 모든 TCP 프로토콜은 클라이언트에서 초기 패킷에 SYN 플래그(Flag)를 설정하여 보내게 된다. 이후 서버는 연결을 기다리고 있다가 SYN 패킷을 받으면 SYN+ACK로 응답하게 되고, 다시 클라이언트가 SYN+ACK에 대해 ACK 응답을 하게 되면, 세션이 연결되는데, 초기 세션 설정을 위해 SYN을 보내야 한다는 특징을 가지고 있다. 이를 역으로 SYN만 패킷을 차단하면 최초 1번의 작업이 진행되지 않아 세션 연결이 되지 않게 된다.

[그림] TCP 3핸드-쉐이크 연결 흐름

아래 그림은 와이어샤크(Wire-Shark)를 이용하여 트래픽을 캡쳐한 후 필터링을 통해 TCP 스트림(Stream)으로 필터링하여 본 결과이다. 초기 TCP 3핸드-쉐이크 이후 GET을 이용해 전송 요청을 진행하고 있다.

↓종료시 아래와 같이 FIN 플래그가 설정된 패킷을 전송한다.

[그림] 특정 소켓에 대한 전체 처리 흐름

그리고 실제 내용을 보면, 각 플래그별 활성화 여부를 비트 설정 유무로 표시해 사용하고 있음을 알 수 있다. 그럼 이 플래그들은 어떤 의미가 있는지 확인해 보자.

플래그 데이터 설명
URG(Urgent) 0x20(100000) 우선순위가 높은 데이터로 긴급하게 전달해야 하는 데이터가 있는 경우 사용된다.
ACK(Acknowledgement) 0x10(10000) 상대방으로부터 패킷을 받았다는 걸 확인해주는 패킷으로, 제일 많이 사용되며, 다른 패킷과 함께 설정되는 경우도 있다.
PSH(Push) 0x8(1000) TCP는 ISO 3레이어(Layer)인데, 응용프로그램이 사용되는 ISO 7레이어로 데이터를 바로 전달하고자 할 때 사용된다.
RST(Reset) 0x4(100) 비 정상적인 세션 연결 끊기에 해당한다. 잘못된 연결 요청시 서버에서 클라이언트로 전송된다.
SYN(Synchronization) 0x2(10) 세션을 연결하고자 할 때 보내는 초기 패킷
FIN(Finish) 0x1(1) 연결된 세션을 종료하고자 할 때 사용된다.

[표] 각 플래그별 의미

이와 같은 TCP의 플래그 특성을 이용하여, ACL에서 사용 가능한 Established 옵션은 ACK, RST의 플래그가 설정된 패킷만을 허용한다. 따라서 위의 설정 상에서 보면 외부에서 연결을 시도하는 초기 SYN 플래그 패킷은 드롭하게 된다. 따라서 외부에서 연결이 되지 않는다. 반면 아웃바운드로 SYN이 발생하기 때문에, 내부 사용자들은 자유롭게 TCP를 연결할 수 있다.

내부에서 외부 연결은 허용하고 외부에서 들어오는 연결은 80 포트만 허용하는 정책을 만들고자 한다면 다음과 같이 만들 수 있다. Established를 이용한 외부 접근 차단 설정이다.

Router(config)# access-list 105 permit tcp any 192.168.10.0 0.0.0.255 established

Router(config)# access-list 105 permit tcp any host 192.168.10.1 eq 80

Router(config-if)# ip access-group 105 in

일부 고급 공격의 경우 이러한 네트워크 장비 설정을 통과하기 위한 공격 수단으로, 비정상 패킷을 만들어 보내기도 하므로, Established 옵션을 사용한다고 하여, 외부의 네트워크 공격으로부터 보호받을 수 있는 건 아니라는 점을 기억하자.

2 DDoS 보호 설정

DDoS 공격이란 대규모 네트워크의 많은 호스트에 설치되어 서로 통합된 형태로 패킷을 범람시켜 심각한 네트워크 성능 저하 및 시스템 마비를 유발하는 걸 얘기한다. 사실 완벽한 DDoS 방어 방법은 없다고 할 수 있다. 하지만 이를 최소화할 수 있는 방안은 존재하는데, 이러한 DDoS형 공격을 네트워크 장비에서 최소화하여 방어할 수 있는 방법들에 대해서 알아보자.

2.1 사설, 내부 네트워크, Broadcast Spoofing 필터링 구성

대부분의 회사에서 내부에서 사용하는 네트워크에 대해 사설 IP(인터넷 사용이 되지 않는 IP를 의미)를 이용한다. 이를 해커가 출발지 IP를 사설 IP로 조작해 변경한 후 회사 내부 서버로 패킷을 보내, 동일한 IP를 사용하는 내부 서버에 부하를 유발하거나, 회사 내부 네트워크에 전체로 패킷을 보내는 브로드케스트를 패킷을 생성함으로써 많은 양의 통신 패킷을 유발시키게 되는데(이 같은 공격을 일반적으로 Smurf Attack이라 한다), 이로부터 네트워크를 보호하기 위해서 라우터에서 전체로 패킷을 보내는 브로드케스트를 차단하고, 인터넷에서 들어오는 출발지IP가 사설IP인 것을 차단하게 된다. 차단하는데 사용되는 방법은 Access-list를 이용하는 방법과 브로드케스트 하지 못하도록 해당 기능을 비활성화 하는 방법이 있다.

그럼 먼저 사설 IP를 차단하는 방법을 알아보자. 차단되어야 하는 아이피 대역은 아래와 같다.

0.0.0.0/8: 기본/브로드케스트 대역 0.으로 시작하는 IP

127.0.0.0/8: 로컬 루프백 용도로 본인 확인용 IP

169.254.0.0/16: DHCP를 통한 IP 미 할당시 자동 생성되는 IP

192.0.2.0/24: TEST-NET IP로 일반적으로 제일 많이 사용한다(공격에 많이 이용되는 대역이다).

10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16: RFC 1918에 정의된 사설 IP

아래는 실제 네트워크에서 위 사설 네트워크에 대한 ACL이 동작하는 것을 모니터링한 결과이다. 그림과 같이 엄청난 사설 IP가 공인 대역에서 발생하는 것을 알 수 있다.

[그림] 많은 IP들이 사설 IP를 이용하여 연결 시도를 하고 있음을 확인할 수 있다

그럼 실제 ACL 구성과 적용하는 방법에 대해 알아보자.

// 그럼 먼저 Access-list를 생성한다. 아래 리스트는 접근이 불가능한 사설 네트워크 영역들이다.

Router(config)#access-list 101 deny ip 0.0.0.0 0.255.255.255 any

Router(config)#access-list 101 deny ip 10.0.0.0 0.255.255.255 any

Router(config)#access-list 101 deny ip 127.0.0.0 0.255.255.255 any

Router(config)#access-list 101 deny ip 169.254.0.0 0.0.255.255 any

Router(config)#access-list 101 deny ip 192.0.2.0 0.0.0.255 any

Router(config)#access-list 101 deny ip 172.16.0.0 0.15.255.255 any

Router(config)#access-list 101 deny ip 192.168.0.0 0.0.255.255 any

Router(config)#access-list 101 deny ip {내부 네트웍 아이피 블록} any

Router(config)#access-list 101 permit ip any any

Router(config)#interface serial 0

Router(config-if)#ip access-group 101 in

// 만약 장비가 Cisco 7000 시리즈라면 Turbo ACL을 활성화 하여 ACL 처리 능력을 높일 수 있다. 7000 시리즈가 아니라면 생략한다.

Router(config)#access-list compiled

// 해당 인터페이스에서 브로드 캐스트 요청을 처리하지 않도록 한다.

Router(config-if)#no ip directed broadcast

[실습] 기본적인 DDoS보호 설정

2.2 RPF(Reverse Path Forwarding)를 이용한 Source IP Spoofing 필터링

Unicast RPF는 라우터로 패킷이 유입될 때 패킷이 들어온 인터페이스로 되돌아 가는지에 대한 검사를 FIB(Flow Information Base)를 통해 확인한다. 만일 출발지 IP가 스누핑(단순히 다수의 요청만 발생하는 것을 의미하는 것으로 네트워크 공격 용어)된 것이라면 들어온 인터페이스 상의 FIB(네트워크 장비에서 #sh ip cef input_interface로 확인 가능)에 출발지 IP가 되돌아 가지 않게 되고 이를 비정상 패킷으로 판단하여 버리게 된다.

//RPF 기능의 사용을 위해서는 라우터에 CEF 스위칭을 활성화한다.

Router(config)#ip cef

Router(config-if)#ip verify unicast reverse-path

//다중경로를 가지고 있거나, BGP를 통해 Dual-Homed Routing을 구성한 경우에 아래 Dual-Homed Routing RPF Rule Set을 구성하여야 한다.

Router(config)#ip cef

Router(config-if)#ip verify unicast source reachable-via any

[실습] Unicast RPF 기능 활성화

25.2.3 TCP Syn Flooding 필터링

TCP 프로토콜은 신뢰 할 수 있는 통신을 위해 연결 확립을 위한 3핸드-쉐이크 과정을 한다는 것을 우리는 앞서 배웠다.

이 3핸드-쉐이크는 Client 단말이 TCP 헤더 코드 비트(6 bit) 중 SYN 비트가 On된 SYN 플래그 패킷을 전송(SYN_SENT상태)하면서 시작되게 된다. 이를 수신한 서버는 3핸드-쉐이크 상태 중에는 Half-open(SYN_RECEIVED 상태)로 이에 대한 정보를 커널 메모리상에 존재하는 백로그(Backlog)에 저장하고서, IP 헤더에 명시된 32비트 소스 주소로(출발지 IP) SYN/ACK 플래그 패킷을 전송하게 된다.

그후 마지막으로 출발지 IP로부터 ACK 플래그 패킷을 전송 받음으로써 두 단말 모두가 Established 상태가 되어서 하나의 TCP 세션이 만들어져서 어플리케이션 단의 통신이 이루어진다.

그리고 백로그(Backlog)의 크 에 따라 Half-open된 TCP 요구가 얼마나 많이 보유될 수 있는지가 결정이 되고, 백로그 사이즈가 제한 값에 이르게 되면 서버는 더 이상 TCP로 새로운 SYN 요청을 모두 무시하고 Half-open 되어 있는 내용들이 정리되기를 기다리게 된다. 공격자는 이를 악용하여 상대방에게 SYN 패킷만을 무차별적으로 전송하는 DoS 공격을 진행하는데, 이 때 대부분의 공격자들은 IP Spoofing을 이용해 자신의 IP를 위장하여 공격하게 된다. 이를 방어하기 위하여 정상적으로 3핸드-쉐이크가 진행된 패킷만을 연결하고 그 외 패킷은 버리는 방법이다. 단 이 모드는 Catalyst 6500 Firewall IOS 모델에서만 지원하므로, 지원 모델인지 확인하고 사용하기 바란다(http://www.cisco.com/web/KR/products/pc/secursw/ios/index.html).

// TCP intercept 를 통한 SYN Flooding 필터링
  • Router(config)# ip tcp intercept list <ACL no>

Router(config)# ip tcp intercept mode intercept/watch

// watch모드로 할 경우 실제 패킷은 잡지 않고, 모니터링만 수행하기 때문에 성능상 문제점을 최소화 할 수 있다. 만약 watch 모드로 이용할 경우 모니터링 시간을 지정해 주어야 한다.

Router(config)# ip tcp intercept watch-timeout 5

[실습] SYN Flooding 필터링 활성화

Intercept Mode로 동작하는 라우터는 ACL에서 정의된 TCP(SYN) 패킷을 가로채서 서버를 대신하여 Client와 Connection을 맺고, 성공한다면 Client를 대신하여 서버와 Connection을 맺는다. 그리고 나서 이 두개의 Half-connection을 하나의 투명한 Connection으로 묶는다. 이렇게 함으로써 IP Spoofing을 이용한 SYN Flooding 공격을 막을 수 있으나 주의할 점은 라우터의 부하 증가가 많다는 단점이 있으니 이 정책을 사용할 때에는 Watch 모드를 함께 고려해보기 바란다.

2.4 Rate limit 설정을 통한 필터링

Rate limit 설정은 어떻게 보면 장비가 멈추는 것을 방지하기 위해 설정하는 마지막 보류라고 할 수 있다. 이 기능을 적용하면 전송량이 설정한 용량에 도달하면, 그 이상 트래픽에 대해서는 버리게 된다. 즉 먼저 처리된 패킷들에 대해서는 계속 처리가 가능하기 때문에 부분적인 제한을 가하는 것이라 볼 수 있다. 장비가 멈추는걸 방지하고, 어차피 DDoS 공격은 장비 성능을 넘어가면 어쩔 수 없이 서비스 자체가 불가능하기 때문에 이 설정을 통해 최소한의 서비스 품질은 확보할 수 있다. 단 Rate-limit는 설정을 하기 위해서는 사전에 장비가 처리할 수 있는 용량을 미리 산정하는 게 중요하다. 그럼 실제 설정 방법에 대해 알아보자.

// ICMP packets 대역폭 제한 설정

Router(config)# access-list 2020 permit icmp any any echo-reply

Router(config)# interface {int}

// ICMP에 대한 대역폭은 평균 3000000bps, 512000에서 786000까지(바이트단위) 대역폭을 허용한다는 의미이다.

Router(config-if)# rate-limit output access-group 2020 3000000 512000 786000 conform-action

Router(config-if)# transmit exceed-action drop

// Rate limiting for SYN packets 필터링

Router(config)# access-list 152 permit tcp any host eq www

Router(config)# interface {int}

// 웹 접속에 대한 대역폭은 평균 45000000bps, 100000에서 100000까지(바이트단위) 대역폭을 허용한다는 의미이다.

Router(config-if)# rate-limit output access-group 152 45000000 100000 100000 conform-action

Router(config-if)# transmit exceed-action drop

[실습] Rate limit 설정

마지막으로 DDoS공격은 완벽히 막을 수 없지만, 최소화할 수 있다는 말과 함께 DDoS 보안에 대한 글을 마무리하도록 하겠다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.