|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅5 h1 u3 `; @. J/ T( D9 o( e
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
8 K5 F, y8 i$ g* W- |3 _嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
3 J- ]; |' j$ `7 u$ G- 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
銴鋆賭誨蝣 $ [: V b$ l0 `& O& s' j1 F9 X
憒雿dmesg唬憿航炊嚗
- U: z, m1 P6 Y( D: |) t, @; a1 lhitcount (200) is larger than packets to be remembered (20) " R# x) O9 c2 p; d! ?1 u- ^
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
+ e4 A- m+ g: U/ |9 k5 M* q* I% f' F& m6 A/ D
皜祈岫銝銝:
6 I3 W8 T. O& ~撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
# U' {* g( S4 s7 E) i' P9 v Q6 N臭誑潛曉/var/log/message銝剖箇曆閮荔
; ?) ?) w: w' b9 u% e: nMay 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
2 W$ P( n! {7 n1 w/ p$ ~* s甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)& c+ O# W: j# q9 p1 o! F$ L
OK嚗iptablesipt_recent module潭桐其
- t9 w6 _* E' q' U4 {
6 c# a# |2 ]( H w蝯隢嚗! \8 h/ K1 U' Y P/ I
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠/ X' T* T$ m* N5 B2 y; \
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
2 R4 ]! q' [; P5 `' |7 z(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver2 A, `6 s5 h$ R0 [* }4 N
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬8 ~+ a# g: L" N* J2 r. d
: V0 t% O6 ^: w8 ]7 q' W- ]/ T) j
' d+ e: R4 V5 W: A7 f' Z; I; ]: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/# i0 n( P& T# [- Z# ~; U$ }6 L7 g- Y
2 y U$ T7 p) Q================================================
" g8 x3 T4 Z# R9 i5 P% \# T1 D菜葫舐IP 隞:* M1 o0 ^9 r4 a3 p* J
sed 's/ .*//' access.log | sort | uniq -c | sort -n
8 E/ J5 n" }+ mperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
+ w9 T5 f5 z% \ |
|
|