a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 79|回复: 0

[综合辅导] linux指导:简单处理CC攻击shell脚本

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
第一个脚本是通过查找日志中访问次数过多的ip,并用iptables屏蔽。
, K! T# @6 O7 \7 n7 O% w   
0 X2 r/ o* y4 ~1 c    1.#!/bin/bash
( T1 g1 o: {! t$ Z: a   
  e6 Q3 V0 R, r) E) m5 f    2.cur=`date +%H%M%S`
# _1 T5 a# r1 |6 {# J$ ?! m   
. z, h8 \8 ]: D2 y    3.becur=`date -d "1 minute ago" +%H%M%S`
0 x1 e4 R. a3 C" Y    2 b# g( W6 E8 L- H7 A( w; j, o- }6 T
    4.badip=`tail -n 10000 /home/www/log/access.log | egrep -v "\.(gif|jpg|jpeg|png|css|js)" | awk  -v a="$becur" -v b="$cur" -F [' ':] '{t=$5$6$7;if (t>=a && t=20) print $2}'`
0 C* O7 H( h. U6 G. ?    % _- n, d& }" N% C- M5 O$ g0 g
    5.if [ ! -z "$badip" ];then
3 n" m8 m& M& A7 f   
% C, _3 D1 i( q4 G* d% R. H    6.for ip in $badip;
8 Q; [& p' _. P4 ~   
! q/ Z( F+ m7 w: e    7.do
7 D* P1 q* L5 }" B: O+ F    & q" M6 \% }4 ?. R
    8.if test -z "`/sbin/iptables -nL | grep $ip`";then6 J1 `( b2 b7 g- ]9 W' P# T
   
, q; h* |" o7 X, M2 U    9./sbin/iptables -I INPUT -s $ip -j DROP
3 s; D; L$ _8 _, j   
+ R7 ?" K  r8 A3 C% \4 f6 l& D* ^0 Q    10.fi
$ K  W  m* O0 B9 M    4 Y& @& R! Y" C5 g8 z! ^) M7 y
    11.done# q! r: _3 n9 A8 N, Y" h
    , h& f0 u2 Y# ]! _( ?# h5 k) J5 l% b% M
    12.fi
6 }5 Z( X. c$ O0 P% b1 k7 J7 ~' Q    4 Y6 x' n& P8 P4 d
    将此代码保存为ban.sh,加入cronjob使每分钟执行一次。
, x* S8 J1 f# K: X5 m: u   
3 ]3 a  F* A5 U" {6 C/ R/ u% H7 a    此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。
7 ^8 d) t7 n' p  v$ a' J7 b- ]$ P    0 c5 S, c1 w  ?6 [
    第二个脚本是通过在日志中查找cc攻击的特征进行屏蔽。2 a2 Z0 \  B" Q
   
4 f' L/ x% {* U6 t  I4 l) i    1.#!/bin/bash0 W: \9 Q/ x2 x  N* b0 b
    . X; z2 i" C0 L3 r+ C' y. A4 f" |
    2.keyword="cc-atack"
' N0 e2 F6 f/ n4 |3 a   
8 }. i" M8 [+ h( B8 A    3.badip=`tail -n 5000  /home/www/log/access.log | grep "$keyword"  | awk '{print $1}' | sort | uniq -c | sort -nr | awk '{print $2}'`, \& {7 _, _6 x: C5 c; F
   
( q$ T) t8 A2 M1 c/ B    4.if [ ! -z "$badip" ];then1 T  i' R& w+ E5 f6 R: j
   
( `. J7 j1 L4 z  f  t    5.for ip in $badip;# C' @4 ?7 H  ^% ~7 r! j1 U
    ( _" {2 v- N& b' h
    6.do- w" s% n9 p7 X
    " O; O5 E9 [. N7 Z: M7 _1 e
    7.if test -z "`/sbin/iptables -nL | grep $ip`";then" o" k+ A7 H9 t* p, L4 o& i# o. _4 x- B
   
4 v" V8 i2 E& C! u1 F$ {    8./sbin/iptables -I INPUT -s $ip -j DROP
: P) W  i, c& a+ O    & K" Q+ @6 H+ u; L, G
    9.fi/ A5 B5 D) f7 p
    / R* d8 u1 c1 ~4 }
    10.done* Z; i8 Y5 ]0 Z4 ^/ h) O
    - o+ l3 V$ K5 V& l# s
    11.fi
+ w5 {4 J5 E+ R" _% i- a    - t0 K/ a6 n. X: C7 c
    keyword则是日志中cc的特征,替换成有效的即可。$ d7 m3 Z! Q/ f) Z
    - A* n6 ]$ u8 g2 W5 W
    No tags for this post. Posted in: 建站手札
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-17 08:41 , Processed in 0.381019 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表