|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
3 j9 d$ {# ]6 @- V. g4 E C; H. U) R靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
/ E7 f% Y1 b- x$ b) @& q嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗7 M9 p1 ]0 w& f* ]/ 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
銴鋆賭誨蝣 0 c! V8 r# V6 B& X
憒雿dmesg唬憿航炊嚗
2 v+ F0 d2 i1 ^6 y8 U2 O3 Thitcount (200) is larger than packets to be remembered (20)
5 ~' C) ^8 F5 C0 w銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝/ a- A/ c# \4 Z& Z; \/ a
6 i; }. x1 c( F1 z" u
皜祈岫銝銝:( A0 d( b7 j% w/ Y1 n
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
# d( d2 s& i5 l# _: O/ q臭誑潛曉/var/log/message銝剖箇曆閮荔- ]4 H8 H# Y: q: x
May 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
: H- n& z( X x4 }1 z甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
" @1 O8 R( `* l. R* wOK嚗iptablesipt_recent module潭桐其! @- ?' W$ X0 z0 F" |0 f5 O
: O9 \* N; g/ {9 u+ N7 r蝯隢嚗
- G3 o* g5 Y8 l6 ~) v" T- Y(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
B: h$ [' |) m( i8 {(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
8 |8 u( a1 b1 H# b! K) X(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
& T6 r4 B3 B1 Z2 _憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬0 s2 O- N0 H; D2 r8 ?5 @
4 k3 x2 Y# L- C1 j0 V" p
" J4 b4 E/ @! u/ W
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/4 G" k; `! v9 k3 Q1 ~
7 }1 E; u' e' B+ T0 p6 P
================================================
Y5 K( _0 {4 G& R, w: s6 H/ Y菜葫舐IP 隞:# r" [2 [8 @8 S' P: b1 S1 D
sed 's/ .*//' access.log | sort | uniq -c | sort -n5 h, e9 C7 v* L$ m- B$ E
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n+ M5 a/ Q/ U/ n* P q q( O" [; {( P
|
|
|