|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅' b( Z# T5 c9 u" \4 s' S
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]". Q' N5 M" l4 A/ ]
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
" e% g' u9 s5 ?, z# Q1 @; m- iptables -A INPUT -p tcp -m multiport dports 80,443 -j WEB_SRV_DOS
- iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --rcheck --second 60 --hitcount 10 -j LOG --log-prefix "[Possible DOS Attack]"
- iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --rcheck --second 60 --hitcount 10 -j REJECT
- iptables -A WEB_SRV_DOS -p tcp --syn -m multiport --dports 80,443 -m recent --set
- iptables -A WEB_SRV_DOS -p tcp -m multiport --dports 80,443 -j ACCEPT
銴鋆賭誨蝣
s% b; K, y+ K# Z9 `憒雿dmesg唬憿航炊嚗
4 I) X: m. {# {0 Q+ `hitcount (200) is larger than packets to be remembered (20) ; ]% u- ]0 d5 @" @; F
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝$ {9 o4 S6 c9 q _$ ]' @4 t d. p( F. K
! a9 V3 M" W7 r
皜祈岫銝銝:7 N2 y+ \! L5 R0 n+ S" \ O
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)% i* G' |& c# x2 ~3 K- w6 {4 S
臭誑潛曉/var/log/message銝剖箇曆閮荔. x. @1 W4 E5 n/ @5 A
May 17 07:12:00 localhost kernel: [Possible DOS Attack]IN=eth0 OUT= MAC=XX:XX:XX:XX:43:77:00:1f:YY:YY:YY:YY SRC=192.168.0.105 DST=192.168.0.102 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=45026 DF PROTO=TCP SPT=59437 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0
7 N5 M# Y/ @7 d. ^! Y; ]甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)5 c& e7 F: |) d7 j9 x+ N( L6 Y
OK嚗iptablesipt_recent module潭桐其
7 b+ l/ d/ i+ s' ^
/ m( g# V9 K8 h0 g& R9 e1 i, ~! j蝯隢嚗
/ J' W9 ~8 T) G9 t9 t2 O/ f3 m(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠$ c) P3 D* F) Q- Z( r( d- c
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port" K: ^: z1 ~5 K" e+ D$ ^+ x
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver* S! J5 H- n) Y% Y7 U; ~2 X0 M
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
& e( m/ Q5 ?2 b& _1 h3 `+ k w& T; m0 A; h! `# q' e
6 d7 t% X5 A% M: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
) b7 X, f( e3 V- e
* |5 ]1 X4 U# v2 L' f, r+ |3 e================================================
& y" ?, ?. g8 m5 T( Q& k菜葫舐IP 隞:2 p& A8 x5 y) o I
sed 's/ .*//' access.log | sort | uniq -c | sort -n9 F$ r# X/ [' x
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
: Y. J1 L7 _8 t9 D$ u( K |
|
|