|
|
嚜
Linux撘瑕之iptables嚗銝槐pt_recentmodule嚗賡餅DDoS餅
3 S P0 w6 J# Y9 E5 r靘憒嚗雿臭誑啣銝chain嚗 iptables -N WEB_SRV_DOS ":WEB_SRV_DOS - [0:0]"
2 |$ e3 |" ?2 O- y$ W嗅嚗其誑銝隞歹60蝘吩it port 80/443頞10甈∠IP餅銝西銝靘嚗
' ~0 ~1 O, G9 p ]; z- 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
銴鋆賭誨蝣 7 {& l# l0 i; ^) x- {
憒雿dmesg唬憿航炊嚗
) M& {2 \0 l2 {( ]7 E0 ^hitcount (200) is larger than packets to be remembered (20)
9 E* a7 ~/ n5 d9 x$ l2 W2 B' A銵函內雿閮剖閬閮蝞甈⊥詨之履pt_recent閮剖銝嚗舫隤踵惺pt_recent moduleip_pkt_list_tot訾閫瘙箝
: t: ?4 V- M& A: U; v% E% v+ s; k4 X9 C
皜祈岫銝銝:' o* R0 j/ U+ K7 O
撠皜祈岫site澆箏之 http request [size=13.376px](臭誑撖怎撘靘頝嚗冽雓撌乩犖箸 灸rowser憭TAB嚗銝瑞reload蝬脤)
! A$ D* ?" R- ~3 G& U臭誑潛曉/var/log/message銝剖箇曆閮荔1 w X$ I0 E7 {
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
3 c& W4 D8 f$ K2 G$ L9 F甇斗隞半rowser皜祈岫蝬脤嚗箇遨onnection refused嚗⊥銝(箸閮剖rule爹EJECT)( ~( L+ m* e. `# ?
OK嚗iptablesipt_recent module潭桐其% X/ B, T$ T6 B4 ~) X' {
9 r% t' N0 E9 D7 Q3 r" `; E蝯隢嚗
: k4 t) j2 x- ]7 ~(1) iptables函雯頝臬惜喲餅餅撠嚗撠serverloading敶梢輯撠
) V7 n1 U9 C) c% E/ S(2) iptables閮剖銝頛敶改舐其脰風80,443隞亙port. u0 d. d7 `, f# q) `! V) \
(3) iptables航身摰潛函銝餅嚗箏究erver寥脰靽霅瘀臭誑摰其霈餅撠脣叫erver
" n3 |9 e1 k: S4 A; A8 r F憒雿舐決S Windows + IIS嚗亙瑕嚗雿臭誑AQTRONIX WebKnight憟鞎餌web application firewall嚗鋆⊿W單脰風DDoS餅賬/ I& ?3 z# F; k% ~ I9 Q3 ~
# y' B4 u' N( p* X' `5 T4 f
: i( g0 Z# }. w8 J) }& o% r# e
: http://blog.eztable.com/2011/05/17/how-to-prevent-ddos/+ b4 e$ q6 i' F+ h( t9 T
5 A$ o3 `3 g w2 ^ a& e$ y$ z================================================- u4 k7 t7 i* s7 c
菜葫舐IP 隞:/ C3 e, S. h) N4 L
sed 's/ .*//' access.log | sort | uniq -c | sort -n
+ E3 s/ _9 h J$ t! I% vperl -ne 'print "$1*\n" if m#^((\d+\.){3})#' access.log | sort | uniq -c | sort -n; V+ o4 k# h& z2 C- _4 C+ w5 T2 p
|
|
|