<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    寫了一個簡單的防止IP攻擊的腳本
    由于工作需要我就自己寫了一個簡單的防止IP攻擊的腳本,可以防止linux虛擬主機一些小方面的IP攻擊

    系統是基于RHEL的centos,包括3,4,5三個版本,當然自己也初學shell,中間肯定用了很多笨的辦法,效果也不一定怎么樣,請大家給點意見

    注意:這個腳本是根據apache服務器的server-status和系統的dmesg分析結果進行防范的,所以非apache用戶和沒有開啟server-status的朋友沒法使用

    可以在服務器的crontab里設定每一分鐘運行一次腳本,
    復制下面的腳本到autoblock.sh,
    root用戶下# chmod u+x autoblock.sh

    #!/bin/bash
    # author hao32

    # basic setting
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies

    # find? server-status? name
    ss_name="/usr/local/autoblock"

    if [ -e $ss_name/ss_name ];then
    ss_n=`cat $ss_name/ss_name`
    else
    mkdir /usr/local/autoblock >/dev/null 2>&1
    cat `locate httpd.conf|grep -E "httpd/conf/httpd.conf$|apache_ssl/conf/httpd.conf$"`\
    |grep "n /server-status"|cut -d/ -f2|cut -d\> -f1 > $ss_name/ss_name
    ss_n=`cat $ss_name/ss_name`
    fi

    # block setting
    #設定排除的IP地址
    ip_exclude="192.168.1.*|60.195.249.*|222.76.212.*|218.241.156.*|58.215.87.*|218.107.216.110"
    ip_amou=25
    ss_url="

    ss_tmp="/tmp/server-status"
    poss_ip="/tmp/poss_ip"
    real_ip="/tmp/real_ip"

    # block start...
    if [ -e "$poss_ip" ];then
    echo "" > $poss_ip
    fi
    if [ -e "$real_ip" ];then
    echo "" > $real_ip
    fi

    # analysedemsg
    dmesg |grep "short"|awk '{if($4!="From"){print $4} else {print $5}}'|awk -F: '{print $1}'|sort|uniq>$poss_ip

    wget -q -O "$ss_tmp" "$ss_url"

    grep "<i>" $ss_tmp|grep -vE $ip_exclude|awk '{print $1}'|sed 's/<i>//g'|sort|uniq -c\
    |awk '{if($1>'$ip_amou') print $2}'>>$poss_ip

    #iptables -nvL|grep "DROP? "|awk '{print $8}'|sort|uniq|sed 's/0\/24/*/g'>$rule_ip
    rule_ip=`iptables -nvL|grep "DROP? "|awk '{print $8}'|sort|uniq|sed 's/0\/24/*/g'|xargs|sed 's/\ /|/g'`
    if [ -z $rule_ip ];then
    for i in `cat $poss_ip`
    do
    /sbin/iptables -I INPUT -p all -s $i -j DROP
    done
    else
    cat $poss_ip|grep -vE "$rule_ip" > $real_ip
    for i in `cat $real_ip`
    do
    /sbin/iptables -I INPUT -p all -s $i -j DROP
    done

    fi

    主站蜘蛛池模板: 57pao一国产成视频永久免费| 亚洲av日韩av高潮潮喷无码| 99视频在线看观免费| 国产成人亚洲精品91专区高清| 亚洲国产高清美女在线观看| 亚洲精品无码久久久久sm| 国产免费人成视频在线观看| 无码视频免费一区二三区| 最近中文字幕免费完整| 你懂的在线免费观看| 欧洲乱码伦视频免费国产| 久久亚洲欧美国产精品| 亚洲AV无码一区二区三区人| 亚洲一区中文字幕久久| 亚洲中文字幕无码不卡电影| 亚洲成av人片一区二区三区| 国产成人免费永久播放视频平台| 成人免费a级毛片| 国产精品久久久久免费a∨| 久久久久久夜精品精品免费啦| 精品在线免费观看| 999zyz**站免费毛片| 在线视频网址免费播放| 一二三区免费视频| 国产精品hd免费观看| 一级特黄a免费大片| 久香草视频在线观看免费| 日本激情猛烈在线看免费观看 | 羞羞视频免费网站在线看| 水蜜桃视频在线观看免费| 色吊丝免费观看网站| 免费国产黄网站在线看 | 亚洲免费日韩无码系列| 免费a级毛片网站| 免费在线视频一区| 亚洲AV之男人的天堂| 日日噜噜噜噜夜夜爽亚洲精品| 久久久无码精品亚洲日韩软件| 亚洲一区二区视频在线观看 | 青青操视频在线免费观看| 久久亚洲免费视频|