|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
! A/ X0 g% U% E靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
i$ r$ k: \' k3 D: H; N嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗9 d" g# D, T: v
- 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
銴鋆賭誨蝣
) ?9 I0 b% c" \8 F. g$ f7 I! q憒雿dmesg唬憿航炊嚗
5 U8 _ o) V$ }! l$ B' \hitcount (200) is larger than packets to be remembered (20) * s% O; ]3 |* `' {' O: H, h7 c
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
1 R: {: ~* J! j8 |, G
% [( v3 S% K9 o% q/ F6 [% Y皜祈岫銝銝:. p& |" u+ B- y; u
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)% U! K5 O" W) W
臭誑潛曉/var/log/message銝剖箇曆閮荔
1 z+ n) s" J4 PMay 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" q( e5 h' u5 E7 z1 N9 z4 B
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
4 Q/ s7 C+ u( z4 H# x* h9 F! \+ bOK嚗iptablesipt_recent module潭桐其
5 C- m* T- b% T8 t. n2 M! Y3 R
# w/ [6 A2 L0 c$ Z蝯隢嚗
) x/ D- J6 f1 K" C3 m- d2 W- Q(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠 x) C: I( T1 `5 s
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
- G3 \+ f, w, k6 K, D; c(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
6 H7 x8 j. P1 b/ r" i9 W2 I% a- b憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
( W+ l" e" `9 X$ _4 _4 k6 _. O' H7 S8 L: ~ S1 e2 p
`8 \& n T4 I3 z$ L3 T; o4 _: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/! K# k* j- _/ _8 @
$ B2 n2 y# N: o================================================/ `4 Q; T6 V$ g/ ^' R- R3 F
菜葫舐IP 隞:& c8 n7 W# D0 p/ t' E( T, G
sed 's/ .*//' access.log | sort | uniq -c | sort -n
" D) A2 p2 T, T* _perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
" ]. R4 y0 y8 k' G0 M6 l% @ |
|
|