快捷搜索:   nginx

自动封杀非法连接FTP的IP

由于提供了FTP下载而又限制了线程,所以总发现有人不断用多线程进行尝试,这样会大大增加服务器的负荷,这种事 “损人不利己”!

  为了惩罚这种人,决定写个SHELL,在crond里每1分钟运行一次,自动统计非法线程的IP和线程数量,然后自动将他的IP地址写到iptables里,来惩罚一下他们!

  vi /usr/local/sbin/fuckgo

  [code:1:f4eccf4a6f]

  #! /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

  [/code:1:f4eccf4a6f]

  vi /etc/crontab

  添加

  [code:1:f4eccf4a6f]

  00-59/1 * * * * root /usr/local/sbin/fuckgo

  [/code:1:f4eccf4a6f]

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

  具体效果可以参看

  [img:f4eccf4a6f]http://platinum.3322.org/mrtg/proftpd-day.png[/img:f4eccf4a6f]

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

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论