|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
$ k7 u6 ]" n3 ~+ e4 S5 o! O. Z% N- T靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"7 x, `8 W1 w, ?+ r! I
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
. Z/ z1 L4 U0 e8 }+ I# x' r- 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
銴鋆賭誨蝣 , c, J% L- b& E* d# c
憒雿dmesg唬憿航炊嚗 / C4 M6 e. ^3 K( l( }7 |( d, u
hitcount (200) is larger than packets to be remembered (20)
% R3 x& g; D) I) J8 r銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
* k; e2 u1 a9 g. \7 f2 E( D
/ y, T. h! x2 T* D3 Q皜祈岫銝銝:
4 E# i7 i& y1 y$ E5 O撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
# s6 s4 Z" t" c/ O8 e臭誑潛曉/var/log/message銝剖箇曆閮荔
; ?' ]8 E9 v; P7 L1 @6 O: V; g5 F# lMay 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' d! f- `& y6 U7 S) A9 {, P
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)$ m/ o# O. o* }1 A) ]% y7 u9 }
OK嚗iptablesipt_recent module潭桐其
9 c% j% Z( g; u. [ W
% _1 d# U% H: K8 y# Y" K' @蝯隢嚗
. g' z, D9 N0 C5 N(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠4 z# B. u; G" `% h9 I
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
% ^) y! i7 F4 V/ @2 V(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver8 d& I4 X* l: A5 i
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
3 V2 h0 q$ Q2 C
' z8 [* Z% E( V: o; U
7 i: H1 I3 I) K: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
" ]8 |; f% N# Z- U! p1 |9 K& h0 i( q
================================================: T+ u2 q7 K- H8 s$ b" n( x4 u
菜葫舐IP 隞:
1 ?$ N% P$ c7 j) \sed 's/ .*//' access.log | sort | uniq -c | sort -n
( M7 l& ?0 I; f, Operl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
. O, @4 a7 Y! ?( p6 _) w |
|
|