|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅' V2 F* D' y6 ~% f2 F' ~3 k
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"9 ?3 a/ [/ Y g. I: n2 d6 {
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗- ^% t8 K. m9 E. n$ [! Q9 _
- 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 V) S8 n2 `2 e, s* T憒雿dmesg唬憿航炊嚗 4 M {1 H' ]1 y
hitcount (200) is larger than packets to be remembered (20)
# W6 a7 k7 c: H) O: s ` `3 t銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
% J0 K! n# b/ r( m/ }& e: h! a, ] @4 r) w
皜祈岫銝銝:( V/ A2 F- s/ A( l6 j% D
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)# @9 k6 e. D6 C1 |4 P5 l
臭誑潛曉/var/log/message銝剖箇曆閮荔4 B( e* I: D5 `0 @1 c! 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=06 o% }6 @3 f4 J0 n( O0 P" P" Q; o
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)0 Y8 J. {* r# ^0 h
OK嚗iptablesipt_recent module潭桐其
. }/ Z6 i) C0 ]+ q/ t( k, `0 M8 r9 y8 v) N& v& M! _4 J& F( O
蝯隢嚗
. G& j# W5 k' i2 o4 }" U! h' j* e(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
* d' \; |$ ?- R8 q. Y& J(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
; }+ R8 \$ z( h4 o(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver( f% _1 s% ^- \# q: M/ ^. x8 e4 ~2 g
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬2 U* D6 J8 a. b: d& ?
$ c* g8 u. U+ I+ ^
' X" w$ p! r. [( H( L: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
; n4 d& G; ^) ^1 g- q; i0 C3 r- C. g% h# n; C) k6 f' W
================================================
$ E* k0 i+ S* s, r) u' \. s! p' q菜葫舐IP 隞:* K+ r' L N- b% _
sed 's/ .*//' access.log | sort | uniq -c | sort -n
# S/ Y- V9 m H0 K& Bperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n9 l3 G/ }0 D* r5 Q1 I% U9 b
|
|
|