'DDOS'에 해당되는 글 30건

  1. 2009.02.23 DDoS 공격 최소화 (방어 방법)
  2. 2009.02.03 DDoS에 대응하는 원론적인 방법
  3. 2009.01.06 iptables/sysctl을 이용하여 DDOS SYN 공격 방어하기
2009.02.23 18:22

DDoS 공격 최소화 (방어 방법)

DDoS 공격은 원천적으로 방어는 불가능 하지만 최소화 수는 있습니다.

유명 툴들의 공격 포트 차단과, 장비 대역폭을 80%정도로 제한하여, 장비가

과도한 트래픽으로 인한 Crash되는 상황을 막을수 있습니다.

아래 Cisco에서 권장하는 설정을 알아 봅시다.

 

! the TRINOO DDoS systems

access-list 170 deny tcp any any eq 27665 log

access-list 170 deny udp any any eq 31335 log

access-list 170 deny udp any any eq 27444 log

! the Stacheldraht DDoS system

access-list 170 deny tcp any any eq 16660 log

access-list 170 deny tcp any any eq 65000 log

! the TrinityV3 system

access-list 170 deny tcp any any eq 33270 log

access-list 170 deny tcp any any eq 39168 log

! the Subseven DDoS system and some variants

access-list 170 deny tcp any any range 6711 6712 log

access-list 170 deny tcp any any eq 6776 log

access-list 170 deny tcp any any eq 6669 log

access-list 170 deny tcp any any eq 2222 log

access-list 170 deny tcp any any eq 7000 log

 

ip verify unicast reverse-path interface 명령 사용

라우터로 유입되는 각각의 패킷을 검사하여 소스 IP 주소가 CEF 테이블에서 패

킷이 도착한 인터페이스를 가리키는 경로를 갖고 있지 않을 경우, 패킷을 drop

한다.

 

ACL(Access Control List)를 사용하여 RFC1918 address space 필터링

access-list 101 deny ip 10.0.0.0 0.255.255.255 any

access-list 101 deny ip 192.168.0.0 0.0.255.255 any

access-list 101 deny ip 172.16.0.0 0.15.255.255 any

access-list 101 permit ip any any

 

rate limit ICMP packets 기능 사용

interface xy

rate−limit output access−group 2020 3000000 512000 786000 conform−action

transmit exceed−action drop

access−list 2020 permit icmp any any echo−reply

 

3000000 : maximum link bandwidth

512000 : burst normal rate

786000 : burst max rate

 

rate limit SYN packets 사용

access−list 152 permit tcp any host eq www

access−list 153 permit tcp any host eq www established

interface {int}

rate−limit output access−group 153 45000000 100000 100000

conform−action transmit exceed−action drop

rate−limit output access−group 152 1000000 100000 100000

conform−action transmit exceed−action drop

 

45000000 : maximum link bandwidth

100000 : burst normal rate

100000 : burst max rate


출처 : http://itka.kr/zbxe/secprot/11875


Trackback 0 Comment 0
2009.02.03 19:38

DDoS에 대응하는 원론적인 방법

이 문서는 SANS ISC의 How to handle DDoS Incidents?를 번역한 글입니다.

아래 파일로 첨부된 요점 정리 문서는 대다수의 침해 사고에 적용할 수 있습니다. 그러나 몇가지 침해 사고, 특히 DDoS 같은 종류는 별도의 대처 방안이 필요합니다.

원본은 zeltser.com 의 Security Incident Survey Cheat Sheet for Server Administrators 입니다.

원본은 zeltser.com 의 Initial Security Incident Questionnaire for Responders 입니다.


준비

실제 공격을 당하기 이전에 이 단계의 일을 미리 준비해놔야 합니다. 이 단계를 미리 끝내지 않는다면, 공격이 발생했을 때 초기에 대응하지 못 하고 몇 시간을 허비하게 됩니다.

  • ISP에 연락해서 DDoS 공격을 막는 ISP의 지원 서비스가 무료인지, 아니면 돈을 내야 하는지 확인하세요.
  • 서버 접근 권한을 가진 IP의 화이트 리스트를 작성하세요. 공격으로 인해 네트워크 접속을 제한해야 할 때 이 목록을 사용합니다. (고객, 파트너 회사등)
  • 공격당할 가능성이 있는 시스템에 관련된 DNS의 TTL 설정을 확인하세요. TTL을 낮춰 놓으면 시스템이 공격 당할 때 손쉽게 DNS 설정을 바꿀 수 있습니다.
  • ISP, IDS, 방화벽, DNS, 서드파티 보안팀 등 관련된 담당자들의 연락처를 확보하세요. 네트워크 설정(IP 주소, circuit ID등), 장비 목록, 네트워크 구성도를 정리하세요.
  • 회사의 위기 관리팀에 연락해서 DDoS 사고가 미치는 영향에 대해 어떻게 생각하고 있는지 알아두세요.

분석

공격을 탐지하고 사고의 범위를 파악하세요. 어떤 인프라가 영향을 받는지, 공격의 흐름은 어떻게 되는지 확인하세요. 이를 통해 공격을 전반적으로 이해할 수 있습니다.

  • 서버, 라우터, 방화벽 등 영향을 받은 장비들의 부하 상태를 살펴보세요.
  • 가능하다면 tcpdump, ntop과 같은 네트워크 스니퍼를 이용해 영향을 받은 장비들의 트래픽 흐름을 살펴보세요.
  • ISP와 사내의 팀들에게 연락해서 공격자의 출현을 알리고 도움을 요청하세요.
  • 공격 이전에 DDoS 공격자에게 금품 요구를 받은 적이 있는지 확인하세요.
  • NIDS 탐지 패턴을 만들어 정상적인 트래픽과 공격 트래픽을 구분하세요.
  • 회사의 이사와 법률팀을 참여시키고, 법적 대응을 검토하세요.
  • 정상 트래픽과 공격 트래픽의 차이점을 식별하세요. (출발지 IP, 목적지 포트, URI, TCP 플래그 등)

대응

DDoS 공격은 많은 양의 비정상적인 트래픽을 서버로 보내는 것입니다. 아래 항목들은 DDoS 공격의 영향을 줄일 수 있는 방법입니다. 그러나 몇몇 경우에는 ISP의 도움 혹은 특별한 장비의 도움 없이 공격을 막기 어려울 것입니다.

  • 라우터, 방화벽, 로드밸런서, 웹서버 등의 설정을 이용해 공격 트래픽을 차단하세요.
  • 가능하다면 DNS나 다른 방법을 이용해 네트워크, 컴퓨터 자원이 여유가 있는 곳으로 트래픽을 옮기세요. 그리고 원래 IP는 널 라우팅 처리해서 트래픽을 제거하세요.
  • 서버가 병목 지점이면 시스템의 TCP/IP 설정을 바꿔서 더 효율적으로 동작하도록 하세요.
  • 응용 프로그램의 특정 기능이 병목이라면 그 기능을 임시로 막으세요. 가능하다면, 서버와 네트워크 대역폭을 추가하세요. (물론 이건 끝없는 무장 경쟁일 뿐이죠.)
  • DNS와 라우팅 테이블을 이용해서 트래픽을 트래픽 검사 장비로 보내세요.

기타

  • 사고가 발생하면 너무 많은 사람들이 달려드는 경향이 있습니다. 사람이 많아지면 데이터 수집만 더 힘들게 될 뿐입니다.
  • 작업은 한번에 하나씩 진행해야 합니다. 두가지를 동시에 변경하면 어떻게 문제를 해결했는지 알기 힘듭니다.
  • 공격이 오랫동안 진행되는 경우에는 다음날 어떻게 대응을 이어갈지 고민해보세요.
  • 자료는 그리 많이 필요하지 않습니다. 사고 분석에는 로그가 최고입니다.

Trackback 0 Comment 0
2009.01.06 17:54

iptables/sysctl을 이용하여 DDOS SYN 공격 방어하기

Check whether it shows lot of SYN_WAIT / TIME_WAIT / FIN_WAIT. If yes its due to the high number of connections. You can reduce these by adding some rules to the Iptables.

# iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

# service iptables save
# service iptables restart

Adding rules to sysctl.conf

Also you can reduce these by adding some rules to sysctl.conf, the details given below.

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Put following in /etc/sysctl.conf

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 30

# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0

# Turn off the tcp_sack
net.ipv4.tcp_sack = 0


Then execute the command :-
# /sbin/sysctl -p

A quick and usefull command for checking if a server is under ddos is:

# netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Reference : http://linuxhow2.net/?p=9


# Set default policies
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F -t mangle
/sbin/iptables -X
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -d 127.0.0.0/8 -j REJECT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
### chains to DROP too many SYN-s ######
/sbin/iptables -N syn-flood
/sbin/iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
/sbin/iptables -A syn-flood -j LOG --log-prefix "SYN flood: "
/sbin/iptables -A syn-flood -j DROP

Reference : http://www.webhostingtalk.com/archive/index.php/t-355411.html


Trackback 0 Comment 0