|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅9 F. M0 y. \' d8 {
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
& ^# [$ {7 N% `* O2 v1 v嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗; E# S. n5 ~6 I/ ~
- 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 ~. V0 |* w1 e$ K7 i2 A憒雿dmesg唬憿航炊嚗
( V: S1 X! F8 P" P& c3 Whitcount (200) is larger than packets to be remembered (20)
" G$ L" F S! \. v" P. N- K/ h8 a銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
6 j* E) l3 G# V. M( r5 k- ~: m9 w& y1 B
皜祈岫銝銝:
# ]: U1 O8 v) C6 H i' Q6 w+ J撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
, ]4 {9 g, K* a5 s, L臭誑潛曉/var/log/message銝剖箇曆閮荔* o0 l3 }2 P# w( `
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=07 z4 S9 O- @" k/ \, z$ O
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)& ^' N+ t$ X. @! ?4 ^& [
OK嚗iptablesipt_recent module潭桐其
5 N- L# ~9 d6 W4 e. l0 v
+ g6 C9 K1 i* z0 L$ c蝯隢嚗 J y( n6 A2 J4 I. C
(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
Y0 Q# d/ i4 ]! b, ]9 K- W(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
0 E4 k4 n6 V1 Y4 z! i(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver6 q; c1 j! d6 a B# i* F1 T" ^- l6 `
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬
6 \* ^+ `3 u( [, T# N2 |. u4 Z" ~( o2 g( s8 i% L: w2 _
& G- ^0 f- w& g$ M
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
+ R8 j" a: K5 B8 b% A5 S' h' l: Z. t4 R% j# |. e
================================================
% R. `) v! X8 l5 {菜葫舐IP 隞:
; B8 q3 \/ p! t2 }) Ased 's/ .*//' access.log | sort | uniq -c | sort -n
9 i9 h" Y* F9 k! gperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n4 N* C0 \1 `! L6 K$ y
|
|
|