|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅$ F5 l5 q3 t5 |' E* B
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"( [0 j- v- X. ^
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
2 w8 P2 f6 F, Y6 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
銴鋆賭誨蝣 ( _' N) h; e, V# p @# ]3 M) a
憒雿dmesg唬憿航炊嚗
# H1 ~3 J( ~' ~4 { J" T3 n* b* whitcount (200) is larger than packets to be remembered (20)
$ J3 Q. i" g3 X j銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
9 q) S ]- _* H; [3 U5 P
! O1 o0 P+ k; i0 B皜祈岫銝銝:
d7 B) y* u- ~% Y Y撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
# k8 O# l3 R9 V ? @臭誑潛曉/var/log/message銝剖箇曆閮荔
$ P- x+ w$ U# K# Q. P2 Z2 G" OMay 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! M: F% `' K r- U
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)" r h; m; ?: K$ N' a) l% n
OK嚗iptablesipt_recent module潭桐其8 U+ P# i! M* G Z
) x6 _3 [" K* c9 q" R
蝯隢嚗
) F; X2 h, ^: W# L3 o; v(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠/ M6 M0 G3 z3 H8 l( D
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port2 h; x0 y2 Y O; b; Q* u# V; o
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver L. m, L: R* \6 H1 W
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
/ j, `) d. N& q8 r/ B2 f6 R
9 {! M- s0 j4 W. v0 X6 m5 e' x9 f% m' ~$ @# C- r
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
. s* w' }$ v4 K. u- k& x2 ?+ G& _4 K7 L) p! u& C( Z
================================================- [0 A% D1 T" a0 s# E) O" x
菜葫舐IP 隞:
8 x( a' c3 ^+ t6 }7 q Xsed 's/ .*//' access.log | sort | uniq -c | sort -n
. T. x& n% L+ \perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n, t3 L8 _/ u7 ?5 T( X, A: l
|
|
|