|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅' t# u+ m i* \" V+ \7 z) j0 W
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
& i! M9 P* c/ O: J4 R- M嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗% U; I; ] N6 t0 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
銴鋆賭誨蝣 ; u, I+ k4 n2 M. N
憒雿dmesg唬憿航炊嚗
4 H7 t( K2 H2 M& D. vhitcount (200) is larger than packets to be remembered (20)
! |9 L) Y8 O% m' w8 r6 n銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
: _! Z0 w! S# P. }! l6 R- u5 u9 u0 d. v
皜祈岫銝銝:# _9 M M' k) r6 y/ a, w
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
5 y& m8 K. i4 N e8 V臭誑潛曉/var/log/message銝剖箇曆閮荔
1 E+ P3 f' [! U1 {3 hMay 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- X7 }, e/ `) o6 Q) i
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)5 g9 s# u5 w7 q1 u3 k
OK嚗iptablesipt_recent module潭桐其" Z4 M+ U) x5 Z- k3 B1 m
( I5 L; ~& Z* r. V蝯隢嚗
3 B7 A- `/ u/ ]5 D8 @(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
7 E# P$ Z* i+ D. A(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port, M3 j+ I0 C( y$ t: P$ G
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
/ n) Z. T9 ?" J. C憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
; ?. [$ K. N& c7 P3 Z( H" v8 P+ s8 |/ i" s+ b1 t; ]9 B
1 n3 l+ f& f+ W, x5 Q: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/9 h# `: P6 z$ z. [4 w9 m& ~
( u- r2 |4 \' q8 I================================================- ?# i2 Q' {, e: Q
菜葫舐IP 隞:
6 p2 o0 y; p- @ f& ~sed 's/ .*//' access.log | sort | uniq -c | sort -n, m) N5 E5 l! J8 c$ l$ [
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n3 H0 I! i# Y! w
|
|
|