|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
; g4 K8 b2 g2 g% B, S/ h靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"6 R" `( r4 i; d( U8 @3 D8 a8 J
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
9 O3 K2 ?4 P) F: R/ x& F- 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
銴鋆賭誨蝣
: e. ]$ u& {; D3 Q0 E憒雿dmesg唬憿航炊嚗
( F, k( S5 e% }# S2 e5 Ihitcount (200) is larger than packets to be remembered (20)
" t' f& o. {- e p銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝1 D! e3 I7 k0 v4 m8 b1 i
( O7 l2 D' A6 N1 h% A9 x o
皜祈岫銝銝:( E0 E, A z( o! `# r( z6 ^
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
0 _2 y& }6 f* t$ E. ]+ G臭誑潛曉/var/log/message銝剖箇曆閮荔9 ]: G% a* ^) H9 p% I& A
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
* k* i" C" Q* a6 S% D) z甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)% O3 @; f0 d2 J; U# {
OK嚗iptablesipt_recent module潭桐其
' _$ D n s( \& p l! S- ^0 j Q$ l4 A) }7 n! n
蝯隢嚗
* x0 O6 I9 X; P, t. d5 \! q) a(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠( W1 q: m1 N8 ^/ L# F
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
# ?" j/ m# v$ k* Z& u(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver9 @+ N& S* H6 k9 x! c8 ^
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬2 P" y: T1 C+ p) I. Z8 j7 u, Y
5 C0 s; @! t: ?- V( X2 i& N
* a7 F& v. Y* l- W0 {6 I# l& X; j: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/2 D0 H, a6 O3 o6 |4 l
1 d4 Q1 w+ h* u; g
================================================
3 o5 c. q1 b8 o* [1 Q% n菜葫舐IP 隞:
7 b" E0 A4 f" `) }0 I% }sed 's/ .*//' access.log | sort | uniq -c | sort -n3 }% x9 C1 b% r l! @9 V
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n6 ^1 R' a$ t4 H4 [
|
|
|