|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
: {3 _9 @! s) c; I靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
2 {2 N _2 o. f' c嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗 @! r/ F" ?0 }0 W8 w, e% @* `% p
- 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
銴鋆賭誨蝣 4 K& z+ A6 ?: i9 a; m3 o E k
憒雿dmesg唬憿航炊嚗
2 H% E) F- Y$ C* G0 c1 a3 Ghitcount (200) is larger than packets to be remembered (20)
: O, \# I7 ^% M$ R* c銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝: F" k$ l3 ^) q2 q7 N( ^
4 \" E, K, h1 @3 L0 W皜祈岫銝銝:) m4 Z; [3 W' A
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)8 n+ H' r7 f0 o7 C3 b
臭誑潛曉/var/log/message銝剖箇曆閮荔
9 X8 ]3 @, O7 w, s9 v) 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
0 |, `0 b" g: t甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
! e! d/ C7 e3 {* ?1 q4 T% yOK嚗iptablesipt_recent module潭桐其
- \. s- x6 y5 I5 Y0 W' M T+ l e3 n6 m$ d9 y7 ]
蝯隢嚗
/ Q2 a- v1 S& ?6 x9 L4 X$ B(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
) U, z5 P$ Y1 V! w+ F) e( F(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
- I3 c! E# u, }' `7 E(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver" ^3 {) X* x4 I
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬+ _1 b- r/ }; N2 a3 h6 l- n+ V
Q& {+ O) F& Z5 a; Y7 _. S0 u' @
# n0 H+ J$ w, I) M7 Y( t: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
4 U- c9 R& P6 p: }5 w
; {" Y8 h7 h: l0 r' y================================================
! Q; y3 f) w5 Q0 k& \ _2 ?/ F# l+ f菜葫舐IP 隞:
9 G/ \: k& d+ Tsed 's/ .*//' access.log | sort | uniq -c | sort -n1 T5 {7 d& ~6 c: I1 h1 S9 G7 z. P
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n
+ O% K$ Y( p3 K% p- ]- Z |
|
|