专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell脚本欣赏>

用iptables自动封禁多线程连接ftpd的ip

百度收藏 QQ搜藏

使用metalog和iptables配合,对多线程连接ftp服务器的ip进行暂时的封禁

metalog.conf里ftpd的配置如下
代码:
FTP Server :

  program  = "pure-ftpd"
  logdir   = "/var/log/ftpd"
  command  = "/usr/sbin/ftpdchk" #将log分三个参数提交给处理程序,分别是:时间、进程名、内容处理程序如下:

代码:
#!/bin/bash
# ftpdchk - check and block xx ip
# benzy@bbs.pku.ecu.cn, 2003/8/1
# cp file to /usr/sbin/ftpdchk
#set -x

# Too many connections (1) from this IP: [211.71.208.1]
ip="`echo "$3" | grep -oe '\[[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\]'`"
if [ -n "$ip" ];then
        log="/var/log/ftpd/ftpdchk.log"
        ip=${ip#[};ip=${ip%]}
        time=$1
#       ftpd=$2
        # iptable配置略。总之建一个ftp链专门处理ftp请求:)
        /sbin/iptables -I ftp -j DROP -p tcp --dport ftp -s $ip
        # 5分钟后解封
        echo "/sbin/iptables -D ftp -j DROP -p tcp --dport ftp -s $ip" | at now +5minutes
        echo "$ip       $time" >>$log
fi

上一篇:shell实现拷贝进度条 下一篇:批量修改当前目录下文件后缀

power by soyo123 2007-2008