태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

DDOS 대처 방법

ⓒ Network 2010.01.24 23:28

1. 요약

1) 공격목적은 네트웍무력화(트레픽Full,네트웍장비 과부하,서버처리불능)임.  2차 감염이 아님.
   초기엔 중국에서 많이 발생했으나, 최근엔 소스가 국내서버,발신지 IP변조 공격이 주임
   예로는 TCP공격으로는 초당 28,000건 sync공격등, UDP공격으로 과다 트레픽발생 (보통 1~3Giga)

2) 충분한 회선대역폭, 충분한 네트워크장비, 네트워크장비필터링, 보안장비필터링, 서버필터링 설정으로
   피해를 최소화 시킬 수 있습니다.
   상세 대처법은 DDOS방어편에 있습니다.
 

2. 문제점 및 대처법

1) 모니터링 시스템구축 필요
- 트래픽 Full, L3, L4 세션 초과로그, 서버로그에 대해 문제 발생 시 즉각 SMS수신되는 시스템 구축 필요.
  네트워크 장비 로그를 특정 서버에 수집하여, 임계치 초과 등 문제 발생 시 문자 발송.
- 어떤 도메인이 공격 받는지 확인가능해야 한다.
- Cacti 등 트래픽 모니터링 시스템 구축
- 기타 서버 스크립트 이용 주기적 서버 모니터링 ( http://cafe.naver.com/dnspro/591 )

2) 회선 트레픽 Full발생 서비스불가 대비
=> ISP협조로 필터링, 3Giga이상의 여분 대역폭준비가 필요.

3) 80포트로 패킷과다 유입으로 네트웍장비 처리불가(L3 CPU 급증, L4 처리세션 수 초과)
=> DNS로 분산처리

4) 서버 처리능력 초과
=> 예비 웹서버 준비, 처리용량을 증가 시켜놓을 필요있음. 리눅스 웹서버로 10여대 이상운영필요

참고: ISP,네트워크 장비에서 특정IP의 공격시 필터링 할 수는 있으나 L3단에서 현실적으로 필터링 잘 안됨.
(소스변조, 웹포트인 80포트로 공격)

참고: 네트웍장비가 다운되는 이유
=>  장비는 캐쉬테이블에 SRC IP/ DST IP 또는 포트정보를 포함함 Fow정보가 Hash자료 형태로 저장됨.
    이후 테이블 lookup으로 처리
    결국, 다량 Sync공격 -> Hash테이블 증가-> 세션처리불가-> CPU부하증가-> 처리성능감소-> 장비장애
    -> 서비스불능

스위치의 구조는 다음과 같다.                         


         CPU(라우팅테이블,브리지테이블)
                                    |
패킷->------------인터페이스---Cache Table -----인터페이스--------->----------패킷

5) DNS이용 트레픽 분산하여 조치준비

- L4사용하는경우
=> 네임서버에서 리얼서버IP로 변경하여분산.
   ( 전제조건: 리눅스서버로 구성된 충분한 웹서버가 충분되어야 한다. )
   DNS STTL이 5분으로 줄여놓음.
   특정 IP공격에 대비해 사이트 구축 시 L4 WEB서버 VIP는 2개권장
   (DDOS는 여러곳에서 한곳을 공격하는것이므로,분산하는게 효과적이라는 idea에서 착안)

Case1) 특정 VIP로 공격시 DNS에서 A레코더 제거하고, 네트워크 장비에서 해당IP로 유입막으면 해결됨.
Case2) 도메인으로 공격 들어오는경우는 가능한 부분에서 네트워크장비 ACL + 충분한 웹서버증설,
웹서버에서 필터링 밖에 없음.

6) 네트웍장비에서 기본포트외에 유입 차단
- 네트웍장비에서 사전에 비공인IP차단, IANA할당하지 않은주소는 차단
  실제공격시  일부는  존재하지 않은 IP List가 많다.
  예) ip가 0.0.0.1  0.0.0.2 에서 공격 - -
- IP Header이용 TTL값이 일정해지면서 발신지 IP주소가 변하는 SYN Packet차단.
- 기업 네트웍장비에서 ACL로 우선 막고, 트레픽 Full발생시 ISP에 협조요청
IP차단요청(사전에 UDP 80 필터링)
- IPS, Cisco가드 등을 통한 차단 -> 비용발생
- 회선증설에 대비해 여분의 네트웍장비 모듈 사전준비

7) 서버가 최대한 처리량 초과에 대비해 버텨야 한다. 웹서버에 DDOS 방지를 위한 필터링을 준비함.
- 여분 리눅스 웹서버 준비, DDOS 방지기능 사전 설정
- SYN cookies 설정, Linux에서 지원
  http://cr.yp.to/syncookies.html

SYN cookies are now a standard part of Linux and FreeBSD.
They are, unfortunately, not enabled by default under Linux. To enable them, add     
 
  echo 1 > /proc/sys/net/ipv4/tcp_syncookies to your boot scripts.

- IPTABLE의 Recent Module 사용
  http://cafe.naver.com/dnspro/2186

- mod_dosevasive 를 통한 apache 웹서버 Dos 막기
  http://cafe.naver.com/dnspro/2644

- 웹서버 튜닝 - 왼편 DDOS방어 서버편 참고.
 

3. 참고 자료

  아래는 홍석범님이 만든자료중 일부

- 트래픽 모니터링 체계 구축이 시급 : netflow등을 활용, 과다 트래픽의 특성(프로토콜, 대상IP, 피해범위)
파악이 시급

- 피해 범위가 큰 경우 victim(목적지 IP) 즉시 차단
 
  주로 상위 백본장비에서
  => null route       # ip route 1.1.1.1 255.255.255.255 Null 0

- 이후 공격지 IP를 찾아 차단(현실적으로 거의 불가능)
 
  -. access-list
     access-list deny 102 deny ip host 1.1.1.1 any 
  -. iptables 
     iptables ?A INPUT ?s 1.1.1.1 ?j DROP 


- 서버 수준의 공격시(1G이하)에는 Giga가 지원되는 방화벽으로 차단가능
 
  -. 한 IP당 동시 접속량 제한 e 접속량 제한 초과시 IP 자동차단 
  -. 국가별 차단(한국만 접속 가능)

- 네트워크 수준의 공격시에는 상위 기관(IDC,ISP등)의 협조가 필요함.  

# 1Giga이하 DDOS 공격에 대한 상위 백본장비에 세팅할 관련 룰

$iptables -A FORWARD -p icmp -j DROP
$iptables -A FORWARD -m geoip ! --src-cc KR -j DROP
$iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -m recent
                                  --name badguy --set -j DROP

# 차단 로그파일  : /var/log/messages

과다 접속으로 실시간 차단된 IP

# cat /proc/net/ipt_recent/badguy

src=192.168.65.15 ttl: 63 last_seen: 1174481 oldest_pkt: 2 last_pkts: 1174481, 1174481


4.  읽어볼만한 사이트


  1. Hardening the TCP/IP stack to SYN attacks : http://www.securityfocus.com/infocus/1729

  2. DoS Design Considerations : General Design Considerations for Secure Networks
       http://www.ciscopress.com/articles/article.asp?p=174313&seqNum=7

  3. Cisco  Defeating DDos :
  http://www.cisco.com/en/US/products/ps5888/products_white_paper0900aecd8011e927.shtml


  4. DDOS 자료 모음 : http://en.wikipedia.org/wiki/DDoS#Distributed_attack

   1) Understanding Denial-of-Service Attacks (US CERT)
   2) "Advisory CA-1997-28 IP Denial-of-Service Attacks" (CERT)
   3) Sop, Paul (2007). P2P Distributed Denial of Service Attack Alert.- http://www.prolexic.com/
   4) The "stacheldraht" distributed denial of service attack tool
   5) Intrusion Detection FAQ: Distributed Denial of Service Attack Tools: trinoo and wintrinoo
   6) US credit card firm fights DDoS attack
   7) Paxson, Vern (2001), An Analysis of Using Reflectors for Distributed Denial-of-Service Attacks
   8) Vaughn, Randal and Evron, Gadi (2006), DNS Amplification Attacks
   9) January 2001 thread on the UNISOG mailing list
   10) Honeynet Project Reverse Challenge
   11) OpenBSD's pf is a packet filter some providers use for exactly this purpose. http://gold.rayservers.com/ddos-protection
   12) "Some IoS tips for Internet Service (Providers) or points" (Mehmet Suzen)

   [edit] External links

   ● RFC 4732 Internet Denial-of-Service Considerations
   ● W3C The World Wide Web Security FAQ
   ● cert.org CERT's Guide to DoS attacks.
   ● surasoft.com - DDoS case study, concepts, and protection.
   ● honeypots.net Papers and presentations on DDoS mitigation techniques.
   ● denialinfo.com DoS attack resources
   ● ddos.org DDoS defence resources
   ● newssocket.com An article regarding a DDoS for hire incident.
   ● linuxsecurity.com An article on preventing DDoS attacks.
   ● Cisco IOS commands to prevent flooding.

 
 5. DDoS공격 조사보고서 중

지난 2월에 있었던 DDoS 공격을 측정하는 샌디에고, 캘리포니아 대학에서의 3주간의 연구에서 발견된 것들이다.
총 1만 2805건의 DDoS 공격이 있었으며, 주당 평균 4000회 이상의 공격이 2000여개의 조직에 상당하는
약 5000개의 인터넷 호스트들을 목표로 이뤄졌다.

공격의 목표에는 인터넷 서비스 업체들은 물론이고, 아카마이 테크놀로지, 아마존닷컴, 아메리카 온라인,
마이크로소프트의 핫메일과 백악관, 그리고 심지어는 전화회선을 이용하는 사용자들까지도 포함됐다.
피해자들의 약 65%는 한번 공격을 받았으며, 18%는 두 번이상 공격을 받았다.
공격은 어디서나 몇 분에서부터 몇일까지 계속됐다

대부분의 공격은 초당 1000패킷 또는 그보다 느린 속도로 기록됐으나, 가장 빠른 공격의 경우에는
초당 67만9000패킷이 공격당했다

[출처] [정리] DDOS 대처 요약본 Ver 1.0 (DNS카페발췌)|작성자 어진


'ⓒ Network' 카테고리의 다른 글

네트워크 모니터링 도구 20선  (0) 2016.09.07
[Cain&Abel] ARP Spoofing  (0) 2012.06.01
DDOS 대처 방법  (0) 2010.01.24
wireshark GeoIP 지원  (0) 2009.10.21
MS08-067 취약점 정리  (0) 2009.03.16
WPA가 크랙되었다!  (0) 2008.11.10
Trackbacks 0 : Comments 0

Write a comment