|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅+ o4 r3 z, I& n3 x6 t9 @/ N3 ^
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
1 q! \7 x% v& m& t嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗4 E0 b. S8 B/ ?& j2 j% t7 ?, J
- 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
銴鋆賭誨蝣 L+ ~; ^/ ~% o; z& d$ f5 U
憒雿dmesg唬憿航炊嚗
( c4 I& u2 {9 Q, zhitcount (200) is larger than packets to be remembered (20) % R2 E2 ]% f3 D4 C$ I6 R+ U0 x
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
' D& M/ P' ]6 i' z9 g" C3 |6 W+ H* r# d
皜祈岫銝銝:
8 l& n+ k8 h+ k撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
' X6 y5 }; F$ p0 w' o臭誑潛曉/var/log/message銝剖箇曆閮荔. w" S, x0 h4 Y! Y' M. S
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
+ o7 @+ q7 ~5 L( w% q- }8 h) h甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)# S, m4 c5 s% Q: {; w
OK嚗iptablesipt_recent module潭桐其+ d" [5 u( k9 [! x' a" s& Y$ |5 U
& O0 z6 D j5 S0 F7 q
蝯隢嚗
( v/ N/ ?' `5 t7 J' Z+ O(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
- O* @, A6 G, x P+ b6 E; T0 ^9 M Z(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port% K& Y) L* T$ K4 X( ^
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
- q$ S5 O! _3 A2 p! F& A1 I憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬# C) |7 \/ w- Z) i# p
2 x, f" N& x; m/ S* `3 F/ Q
- U1 P& u; f0 B& x: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
# o. b) r% W$ r
o" m% h; i7 l% d/ C: b2 w1 S================================================
. ~# d# g( @( F' I0 [菜葫舐IP 隞:
3 P5 N4 `' M* S; @sed 's/ .*//' access.log | sort | uniq -c | sort -n
. O1 i$ z/ z( _: rperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n3 Q# s) j/ d" q" B H0 F* x
|
|
|