|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
3 s$ T& a) K$ _' a Y! Z0 }靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"2 v# K7 m0 s+ t' c
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗$ F- I/ {/ y. L5 L; k @' }& U! R
- 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
銴鋆賭誨蝣
6 R4 M) l- B2 G, o8 E$ ?憒雿dmesg唬憿航炊嚗
' [1 o$ K3 K$ h6 t: X% U; Nhitcount (200) is larger than packets to be remembered (20)
8 s3 n$ d$ ]9 F6 X7 D銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
7 O9 p% U4 X. O) g0 P' o W: D/ V) _! J
皜祈岫銝銝:8 |8 w! h k* D5 T/ }
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
% x, L9 }9 t1 U$ G( u& @6 P R臭誑潛曉/var/log/message銝剖箇曆閮荔& M! p$ _& t8 F- h2 v
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
: |- g1 j/ O5 W+ U甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)) Z9 Q' f M; M" F ?0 P
OK嚗iptablesipt_recent module潭桐其4 F3 {" D1 Q: t; [
) e$ S/ W/ {+ Y蝯隢嚗% n* t* ?; R) @( g7 p
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠5 v) Z4 F z$ j
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
; U) a* I. l6 q1 F(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
% s1 e2 h+ b- j憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬8 E( |. L7 k* ]7 K( u: C
. I4 p# `$ N7 ]
/ e' V4 e/ A5 e( |: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/) M1 K/ C( [9 k* W' E
3 P4 X( m7 A+ ^9 W+ |
================================================
3 o5 H- R) ?* W* n, M& r3 ?% X菜葫舐IP 隞:' k5 i) O( ^ V" u0 K- k2 F
sed 's/ .*//' access.log | sort | uniq -c | sort -n
% ^; E2 U8 @2 a7 q" |perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n( y+ y0 L% d3 u, ?, o5 i
|
|
|