|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
7 o9 I9 j5 p- K8 V( n: B靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
) T, B! T) A* A V& B) t嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
" n; e& z$ z d- 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
銴鋆賭誨蝣
% C5 D2 J0 g* M, q憒雿dmesg唬憿航炊嚗
2 I# a) ^) F% O0 ?6 phitcount (200) is larger than packets to be remembered (20) 9 v; E+ \$ S: q0 C' W% Z% c
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝/ \/ d' Q" v) r7 D" _. ~
- w9 _ I3 H; f- D
皜祈岫銝銝:
) [& J; q" Z2 k( Q撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
7 \" @; C6 [& s" h臭誑潛曉/var/log/message銝剖箇曆閮荔
0 L2 w$ k3 h. M" T4 A& YMay 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/ q8 i3 o, B0 o7 @
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
5 e9 _! f/ u, ~6 LOK嚗iptablesipt_recent module潭桐其: `% q, ]: i1 \. r+ Z- b
4 @2 v: x7 k: _( }/ C+ O) m" n2 m
蝯隢嚗- K. v; G% I* K5 j6 @) b
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
w, [. F: V6 o(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
" f, S8 b l* U6 M {" m9 T(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
3 P/ W6 c/ h7 R憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬; @2 R' ?9 `2 G1 s7 h2 a
' h" u7 V7 e5 {. W9 N7 |+ G/ H `! N$ Q0 k
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
! T- B8 D0 f" b/ k$ f
7 r( G0 |' S% Y0 r1 O: T& h# N================================================" |& n! ]# b+ i7 `# e
菜葫舐IP 隞:+ a# g* F) A$ u, A
sed 's/ .*//' access.log | sort | uniq -c | sort -n
6 U/ J4 m+ z4 d9 d" t/ Nperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
" }8 F' ~6 \5 y D% l& W: g |
|
|