<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

    主站蜘蛛池模板: 毛片基地免费视频a| 两个人看的www高清免费观看| 最近新韩国日本免费观看| 亚洲a在线视频视频| a一级爱做片免费| 久久精品国产精品亚洲| av网站免费线看| 久久夜色精品国产亚洲av| 国产免费人成视频在线播放播| 国产亚洲人成网站在线观看| 国产中文字幕在线免费观看| 精品亚洲永久免费精品| 久久亚洲AV无码精品色午夜 | 曰批全过程免费视频在线观看| 亚洲人成在线免费观看| 午夜精品在线免费观看| 免费激情网站国产高清第一页| 久久亚洲国产精品123区| 中文字幕乱码一区二区免费| 久久精品国产亚洲77777| 国产精品成人免费视频网站京东| 亚洲AV永久无码精品一福利| 1000部免费啪啪十八未年禁止观看 | 日本免费高清一本视频| 国产成人久久精品亚洲小说| 国产福利在线免费| 国产精品亚洲一区二区三区在线观看 | 亚欧洲精品在线视频免费观看| 国产亚洲成av片在线观看| 99热在线观看免费| 亚洲精品无码专区在线| 亚洲无码高清在线观看| 国产 亚洲 中文在线 字幕| 亚洲 国产 图片| 国产精品永久免费10000| 青青免费在线视频| 亚洲AV无码一区二三区| 国产精品免费高清在线观看| 亚洲午夜无码久久| 亚洲欧洲无码AV电影在线观看| 无码人妻一区二区三区免费|