|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅6 ~" j8 E6 w" v0 Y* Y$ K
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"& e: ^- g0 ^7 ~8 t
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗5 D/ p* P) w5 J1 a0 W
- 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 @9 C3 T3 R1 M0 J* o0 \* Q& b憒雿dmesg唬憿航炊嚗
V3 ~' O x( E! t9 a6 Y7 L8 Khitcount (200) is larger than packets to be remembered (20)
R1 r. c5 b2 B j銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
+ R2 ?* S0 n. h' ]8 |; a, p( w0 n- U' y! S1 j! o! |( P
皜祈岫銝銝:9 e+ @, f6 y- N$ f" q
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)# {, ^, H. j2 r' M9 f6 u3 K5 C
臭誑潛曉/var/log/message銝剖箇曆閮荔
2 F3 p" L, L9 k; h: DMay 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
, n! U) J; z/ x# s甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
$ J8 o& l4 U ^' sOK嚗iptablesipt_recent module潭桐其4 P" e' R. D; \1 U7 H* H
8 Z) |8 y8 g( I# n9 i
蝯隢嚗
' T& \8 k+ h; f5 u(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
}7 J/ c4 k/ d8 |- ^' c5 m- `4 m(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port7 N! y4 J$ q" p! j& w; w# @3 F
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver! R& r2 Y/ r! Y
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
! }' C- B+ D' m C, ^( Y. F' j. U! \; H1 x% b8 I
' @6 o6 q0 V8 C
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
" @# n# B% n$ S# F! F% L, j
: o+ |7 i) V$ ?2 f================================================
- k' P' L6 I! d$ j" j4 ~菜葫舐IP 隞:: O( c; h. W+ J3 B
sed 's/ .*//' access.log | sort | uniq -c | sort -n
+ f8 J1 j/ I3 G+ |2 Operl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n. N5 R. C. x& q2 e/ x
|
|
|