|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅9 j7 i; {( j7 Q8 D0 {
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
* d% m2 X7 k/ w5 d& [嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
* K. i! L( O% u7 L5 t$ c1 z& }% z- 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! e( @2 u. w! w
憒雿dmesg唬憿航炊嚗
" [: S' \4 f6 x/ C5 T7 Uhitcount (200) is larger than packets to be remembered (20)
# {1 {( W- [! l銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
' W. N8 G `. i+ l H' A9 G2 H# J
; f8 i2 n4 J* Y皜祈岫銝銝:
" B9 W- _4 N7 P5 ~; ]撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
# e- }- {5 m. a) c臭誑潛曉/var/log/message銝剖箇曆閮荔
& @7 r+ |& \: n* f4 [# i6 uMay 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
8 R. a' c7 W; U9 q: N. O9 v2 O甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
/ z7 U/ T9 A# m2 E9 ROK嚗iptablesipt_recent module潭桐其
; ~: l' U0 g$ r
) @# N8 ]/ n, C; n蝯隢嚗- [+ t |9 T& K: g
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
9 y+ P; |% y% E0 ~# x(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
8 Z7 w+ K% ~2 b1 F2 h, P(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
3 |1 i; E8 ~, C+ p$ x# r憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬) s& E" e" C4 \% v$ x: [& K0 B
: n6 I: V, F Q* \; z/ o6 |1 }
. M8 }+ x. R a2 ^# @# ^
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/. ]1 `1 g/ w9 U6 Q8 x6 [8 E5 x6 S
% o M$ D2 b( g================================================
6 D; K/ ^6 B7 K* m菜葫舐IP 隞:
) V) B) @& o. X' ]" K* Wsed 's/ .*//' access.log | sort | uniq -c | sort -n3 d5 `" |9 i9 I3 e {! @2 R2 G* l
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
' M* H0 |6 u5 [' A |
|
|