|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅, g5 F2 I0 w% j- g
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
# ]0 j$ e3 s) m: Z, m嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗2 ?4 y' L. y* S+ h- ?
- 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
銴鋆賭誨蝣
1 `( D; B% L! P憒雿dmesg唬憿航炊嚗
; i ?4 u1 Q- v$ ^hitcount (200) is larger than packets to be remembered (20) $ J( ^! r7 L9 J1 B% t$ c
銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
9 u! H+ I! L& Z0 D- f5 i0 ?' d7 x' Y2 z/ b
皜祈岫銝銝:
3 z2 m( n" @8 [0 Z$ _6 y撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)& w. j# ^! j% m/ d, ^4 V
臭誑潛曉/var/log/message銝剖箇曆閮荔
, a) z, L0 ?% D; t1 j% e# bMay 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=05 A( n% n/ {! c2 y; \ j
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
! G* K# G* e' p( mOK嚗iptablesipt_recent module潭桐其3 [) p! j! C+ X( D( Y
+ J# D: B; g. O0 Z: S! ?. v蝯隢嚗" H5 ^ \+ Z+ E) T0 X: {
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠% C' b- P3 \* h$ O& s
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
7 K3 [! N2 l% Q# u7 C* a' ](3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
* \2 f( W, h/ x# y憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬. n* z" {% L1 B! R$ P2 l
- F2 u+ u+ k2 ?( |7 V, H- \
% e* w ^, j# M% A n& v( k4 X
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
) T& J, i3 a' E' F' A4 B& k6 z" L7 R" A) S/ j' P+ O% u' m
================================================+ t! z# C) f" G* Q
菜葫舐IP 隞:& p I: V8 {. m% N
sed 's/ .*//' access.log | sort | uniq -c | sort -n5 i* B: ^5 U6 [ i I. O
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
7 T/ w" E# s; l6 T2 ~8 R |
|
|