自动封杀非法连接FTP的IP(fuckgo)
2005-08-24 10:00 am
作者:linux宝库 (http://www.linuxmine.com)
来自:linux宝库 (http://www.linuxmine.com)
现存:http://www.linuxmine.com/2863.html
联系:linuxmine#gmail.com
不明白?欢迎到 linux论坛 (http://bbs.linuxmine.com) 参加讨论!
作者:白金 网名: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
2005-08-24 10:00 am
作者:linux宝库 (http://www.linuxmine.com)
来自:linux宝库 (http://www.linuxmine.com)
现存:http://www.linuxmine.com/2863.html
联系:linuxmine#gmail.com
不明白?欢迎到 linux论坛 (http://bbs.linuxmine.com) 参加讨论!
作者:白金 网名: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