| 关键词: nbsp 线程 print 白金 贪得无厌 iptables 蓝色 一下 fuckgo 橙色 |
作者:白金 网名:platinum(chinaunix) 超超白金(白金论坛) 欢迎转载,转载请保留上述信息 =========================================================================== 由于提供了FTP下载而又限制了线程,所以总发现有人不断用多线程进行尝试,这样会大大增加服务器的负荷,这种事“损人不利己”! 为了惩罚这种人,决定写个SHELL,在crond里每1分钟运行一次,自动统计非法线程的IP和线程数量,然后自动将他的IP地址写到iptables里,来惩罚一下他们! 在此,非常感谢“2002年夏天”!他给了我很大的帮助!!! 这下可以惩罚一下那些贪得无厌的人了…… 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 具体效果可以参看 400)this.width=400;if(this.height>450)this.height=450" border=0> 蓝色是总连接数,橙色是有效连接数 当蓝色超过橙色很多时,证明有人在贪得无厌地进行多线程尝试 从图上可以看出,蓝色瞬间值很高,但转瞬而逝,不会持续很久,因为那个人的IP已经进入了iptables“黑名单”为了避免误杀(因为有很多是动态IP地址),用crond每天凌晨4点执行一下fuckclean,来清除一天来被封杀过的IP 当然,如果该IP违规,fuckgo会以每1分钟一次的频率扫描,发现之后再次封杀,再次解开就只能等第二天凌晨4点了 vi /usr/local/sbin/fuckclean(呵呵,这回是我自己写了) _________________ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|