找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1053|回复: 0

[【工具软件】] 自动封杀非法连接FTP的IP

[复制链接]
发表于 2007-6-5 13:34:20 | 显示全部楼层 |阅读模式
由于提供了FTP下载而又限制了线程,所以总发现有人不断用多线程进行尝试,这样会大大增加服务器的负荷,这种事“损人不利己”!
为了惩罚这种人,决定写个SHELL,在crond里每1分钟运行一次,自动统计非法线程的IP和线程数量,
然后自动将他的IP地址写到iptables里,来惩罚一下他们!
在此,非常感谢“零二年的夏天”!他给了我很大的帮助!!!
这下可以惩罚一下那些贪得无厌的人了……
vi /usr/local/sbin/fuckgo
代码:
#! /bin/bash
fuck_who()
{
    netstat -an|grep \"210.51.184.197:21\"|grep -v LISTEN|grep -v ESTABLISHED|awk '{print ;}'|awk -F'=' '{print ;}'|sort|uniq -c|awk '{print \"=\";}'
}

for _un in $(fuck_who)
do
    if [ $(echo $_un|awk -F'=' '{print ;}') -gt 9 ]
    then
        iptables -I INPUT -s $(echo $_un|gawk -F'=' '{print ;}') -p tcp --dport 21 -j DROP
    fi
done
vi /etc/crontab

添加
代码:
00-59/1 * * * * root /usr/local/sbin/fuckgo

/etc/rc.d/init.d/crond restart

具体效果可以参看

蓝色是总连接数,橙色是有效连接数
当蓝色超过橙色很多时,证明有人在贪得无厌地进行多线程尝试

从图上可以看出,蓝色瞬间值很高,但转瞬而逝,不会持续很久,因为那个人的IP已经进入了iptables“黑名单”

(转贴)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-9-23 02:21 , Processed in 0.117767 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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