|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅4 c6 E, _+ U5 |1 e
靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"4 f4 w" a' S- `
嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗4 }6 F, u& L- V/ x
- 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
銴鋆賭誨蝣
: J- L1 p2 ^: u. k憒雿dmesg唬憿航炊嚗
8 k: C& S% R; Y$ l2 ihitcount (200) is larger than packets to be remembered (20)
9 D7 Y+ R9 f! ~! c1 H6 d5 h- K( I銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
7 s$ k/ r' ^6 T7 b8 W$ S v* h' w4 \, G' Z6 C- |: G
皜祈岫銝銝:$ R) P1 H; p K9 _$ g0 H) ]
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)' t3 u7 t0 r4 Q1 t" g+ ]
臭誑潛曉/var/log/message銝剖箇曆閮荔
+ f1 l) ?+ h) h1 NMay 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( L5 E9 x3 q7 B/ L: Q& [4 M8 [. ?0 K
甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)
5 q# E8 c% Z2 `. s( N* `OK嚗iptablesipt_recent module潭桐其1 X$ K% ^: m9 C" W4 G+ ]
" Q' y) {+ F0 ?) P" {
蝯隢嚗
& Q% l0 D# U* ^7 X9 R! p(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠( e2 K( s& M* R# ^6 F
(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port
7 v9 |- U9 |0 _' K* R7 H$ P* ~(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver: J) _# n1 Z2 V' E2 J: Z
憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬& s# _' w T% _* k: j2 w: K
8 `$ m2 E6 N+ K1 u7 @1 k& y# ?: B I# z) C
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/
) |. ?' f- m) a8 s( y7 e3 `$ Y8 O& i/ C1 P7 U. O3 q, n4 P) Q. P; e
================================================% D2 E# s u" Q; u6 |+ D. S
菜葫舐IP 隞:1 U& U. f0 F0 a
sed 's/ .*//' access.log | sort | uniq -c | sort -n i* w# a$ L( j' ^
perl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n$ n: [; Z K6 r
|
|
|