|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
! S3 H! F! H/ D( x. \靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
1 ]/ {. L' M# J+ \& y嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
. J# f2 o" F' E5 k6 }& C) E- p8 S$ ~- 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
銴鋆賭誨蝣 ( G! t' m3 d7 s% i" r3 s! o
憒雿dmesg唬憿航炊嚗
' e5 f4 S( k( ]( ohitcount (200) is larger than packets to be remembered (20)
0 Y3 i! }+ d& M6 m銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝/ a1 u1 T. |& E C
6 h: a r# V' v2 c" s6 Q
皜祈岫銝銝:) R2 ]! C8 p1 x! _9 P1 p
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
, r6 b4 [" F0 }1 r0 W臭誑潛曉/var/log/message銝剖箇曆閮荔5 G! n8 D7 h# t
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
% q, y5 P. l' S+ c. B% }4 q5 R甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
# k3 Z0 k" @' o- U/ lOK嚗iptablesipt_recent module潭桐其6 O& k/ @, i3 O) a
2 Q( z# j$ ~- ]: ^
蝯隢嚗
: U2 @' _" C8 D(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠0 d' I) e- a# @: o9 W: ?
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
2 U* e3 I/ g" d- s: j; h9 |1 I3 }(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver% g$ a+ P Z3 ? o1 v5 @
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬% o' ] K# ? L+ Q+ i
* W) w( ]/ n& b% B1 y/ \) `0 T4 q+ ~ r; E; j0 X
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
7 c5 l. s' x3 s; w2 V# j
1 z& u' u, \, ~9 @- h================================================* M! ]4 N' V5 c7 E$ Y( a! x
菜葫舐IP 隞:
9 V" [) s+ W' B |sed 's/ .*//' access.log | sort | uniq -c | sort -n
2 t5 i& H! }/ ~2 y+ M! Jperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n' Y! M" \: Z% e: }( y0 z; c- ^
|
|
|