|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅) r8 v& T9 Q: M; R/ H
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
" r. k* D) Z# f0 x4 P$ M0 s3 W/ ]嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
2 [1 o3 J* x! G4 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
銴鋆賭誨蝣
: f& C: l$ x' P( i+ X' x; V憒雿dmesg唬憿航炊嚗 ; C. n0 e: s9 F' C4 `
hitcount (200) is larger than packets to be remembered (20)
" Z/ @$ ?( \6 [% r) ]銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
/ Z, Z2 Z$ p6 G7 g/ z! f) b/ U P S a5 } E' ]
皜祈岫銝銝:
' S4 K2 A6 o- C2 R! r撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤): ?- K* Y# W% \
臭誑潛曉/var/log/message銝剖箇曆閮荔2 e# |+ h! {9 |. ^/ q1 N4 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: y8 G8 ]1 r0 p2 G# U
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
" H2 ?. K z8 qOK嚗iptablesipt_recent module潭桐其
* x! P7 s0 ]9 V9 S" s2 o
. i: ~0 N- ]+ D# X( e8 y蝯隢嚗4 i+ f: d$ t2 Q9 v d0 F7 R# v+ O
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠; }9 z! E* S# B( T9 Z/ Z, x
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
8 K! Z) z5 I) v" O(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
, h% r5 d" g5 Y! \( F# e: D憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬2 l3 g$ k: t2 p: J# r
+ h' F6 i2 ? Q* h F
( H3 T( u5 a, {3 w T: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/& }3 A6 b/ l" [7 ]3 C5 j0 Z5 I
6 P- F' x3 c+ Z j3 S! b. U* t1 r
================================================
* m M* e7 p$ _/ w菜葫舐IP 隞:
8 }. u. h" e$ P. dsed 's/ .*//' access.log | sort | uniq -c | sort -n
9 B! X( t: [( T' operl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
7 Q# l3 h6 S) d8 ^0 i3 j |
|
|