|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅! g- d; a) C( p' n
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"8 [2 J" H+ {& J, v9 [+ B9 E
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
. K- Q2 ~3 i4 g$ t& q- 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
銴鋆賭誨蝣
2 F6 e# D# T* `9 f憒雿dmesg唬憿航炊嚗
" o9 ] Y9 x8 ? q- f: chitcount (200) is larger than packets to be remembered (20)
. d6 s8 `: I- o+ o, H銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝0 `& G; k% e" s7 g* n, Y
, N' [! ~* Y8 Z5 m9 @. E0 l+ C
皜祈岫銝銝:9 f, ~$ A1 a. Q
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)& [+ `! s4 ~* ]' [0 o
臭誑潛曉/var/log/message銝剖箇曆閮荔. X9 c- z! V4 |9 u/ l, C5 `! m
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
" M- P' p$ Q' F- ]$ E+ i甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)7 y. T! P& J3 i- p! T( {! T
OK嚗iptablesipt_recent module潭桐其
3 d8 ?. w3 |. g) y, O. Z+ C
- g; J% l T. T" |蝯隢嚗 b9 |( A. N# q2 H& N& ?) {3 z
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
2 x$ T3 M1 o9 N- Q: X" ?(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port. T! |3 |+ l7 |# g& [; n# T
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver9 Z5 |( u( N9 ^* t) w' j4 j
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
1 N7 H2 ^2 V8 V
* M% ?6 l8 B1 z1 K! i
: `1 n4 Q: o& |: [5 t" Z9 {& ^: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
, z9 {" e4 o' b3 a3 @
$ u; o! C3 |; v$ T4 N- a================================================
3 @" D: J0 I5 G$ u" W% T# U4 e菜葫舐IP 隞:* ^6 q( T* @9 H8 h; m
sed 's/ .*//' access.log | sort | uniq -c | sort -n
) f, x" T( s8 S2 q+ {! V, ~8 }, `perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
8 C) |8 C Z* R& K$ t% x$ o0 \ |
|
|