|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅9 o! J8 C W0 j/ b
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
4 ~+ @* N4 _% P" R嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
% {6 z0 K0 v1 _, e7 q) W/ \+ B- 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
銴鋆賭誨蝣 ; Y0 Y) l8 |. O( F: d. a
憒雿dmesg唬憿航炊嚗
$ e+ r$ L! q# Nhitcount (200) is larger than packets to be remembered (20) 3 v6 i* i% A: T
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
. i" P: G, a- o% @$ B4 M, T, T
1 m! s: U0 h5 W5 T7 I2 P皜祈岫銝銝:
* R3 A' `- u ^( j: X撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)9 T# V f4 I1 e$ C4 ?- ?
臭誑潛曉/var/log/message銝剖箇曆閮荔
$ p3 S6 i5 m$ ?; k) V% uMay 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 C3 P: O7 J: o- i2 p: m3 w( m$ f
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT): W& W. K% v8 ?( W! ^( Y% p3 W# v
OK嚗iptablesipt_recent module潭桐其# j+ u0 c: E) q8 H
4 ?& M) ~7 `$ m* b7 P* S蝯隢嚗% ?8 [) w2 j" A( b
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠6 M( `) F: x* S8 x4 p' z; t; h# Z
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
+ u8 v2 |% |% V L: z3 E+ n: n(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
+ ]/ V, [5 K$ T) i憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
) m; O H3 m$ |
. a; ?8 {; Z; U9 m) D
2 n( c$ [$ G9 \6 ~: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
) O9 z1 u3 i0 [4 o
& J4 w% G* y. E4 e================================================+ _5 O6 M9 k3 x
菜葫舐IP 隞:/ E$ b1 q- w; p/ [, t3 P/ T
sed 's/ .*//' access.log | sort | uniq -c | sort -n/ t( v7 G+ x# {! H) j
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
( L: ~$ D# g) o* l& C. @+ J1 S |
|
|