|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
% P; n3 H" e L0 d6 M靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"( c& `4 }+ G6 G$ H
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
" K' a' o/ s, v/ ]8 e% ~- 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
銴鋆賭誨蝣 4 r2 b/ o, L ]$ [) f0 }
憒雿dmesg唬憿航炊嚗 ! I3 l4 h8 k' Q/ R
hitcount (200) is larger than packets to be remembered (20) / C" m" ?. S C6 ~7 O9 u! j! y
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
$ b' i! h% u9 C' r
+ m* p6 b" @- W, j- P, M皜祈岫銝銝:
; W, F5 @7 J5 S, T3 g撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)0 L/ h+ E5 v+ {6 c0 O
臭誑潛曉/var/log/message銝剖箇曆閮荔
, u" t8 {& S/ s" B* OMay 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
/ [+ I( O8 j& w' m: g2 H2 D% B甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
+ ~1 j! I* N% Y' tOK嚗iptablesipt_recent module潭桐其* [( y- _# b6 Z. a6 a+ q# y- E6 @
% I! ^1 i8 G' \6 b蝯隢嚗7 l: V: q P; h J3 |9 ~% L! ]5 b
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
9 _( R8 P: Y! k, J! N: X(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port+ a& H2 B8 @2 K9 o% K& `# k }
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
% [8 ^: b) B5 c9 l憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
E8 O9 Y/ d; p# X5 n
0 m" v2 w/ b& ~9 ?2 L) e
Y* K0 e1 \+ @" x: K3 |: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
0 @! A1 o, o5 ?, b. z$ @, E. E& K: F4 h* O) E
================================================
6 L+ C8 g9 \7 D, V- X菜葫舐IP 隞:4 R9 B3 k2 c! y/ e# K
sed 's/ .*//' access.log | sort | uniq -c | sort -n I* s/ @, T' y: H
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n, ?+ ] k6 F$ e! h6 v- p
|
|
|