• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

自动封杀非法连接FTP的IP(fuckgo)

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网

   
  作者:白金 网名:platinum(chinaunix) 超超白金(白金论坛)
欢迎转载,转载请保留上述信息
===========================================================================

由于提供了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 $5;}\\'|awk -F\\'=\\' \\'{print $1;}\\'|sort|uniq -c|awk \\'{print $1\\"=\\"$2;}\\'
}

for _un in $(fuck_who)
do
if [ $(echo $_un|awk -F\\'=\\' \\'{print $1;}\\') -gt 9 ]
then
iptables -I INPUT -s $(echo $_un|gawk -F\\'=\\' \\'{print $2;}\\') -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

具体效果可以参看
[myimg]http://platinum.3322.org/mrtg/proftpd-day.png[/myimg]

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

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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网