自己搞了个简易防火墙,应对最近发生的恶心事儿。自从撤掉360网站卫士之后,VPS经常遭遇“坏人”攻击。最令我无奈的是几个垃圾蜘蛛,它们的抓取速度过快导致网站性能下降很严重;最令我恶心的事儿是CC攻击,隔三差五就会有一些无聊的人发起CC,网站就会变得很慢,可以说基本打不开了;最令我恼火的事儿是暴力破解密码,某天下午从1点开始一直持续到晚上7点,访问记录几乎全是wp-login.php。

undercca

忍不下去了,写了一个简易的类似防火墙的东西应对这些恶心行为,大体上是这样运作的:

1.首先是判断,访问者IP是否在黑名单中,如果在黑名单中直接退出,并保存此次访问记录,最大程度减少服务器资源的浪费

2.访问者不在黑名单中:打开访问记录,统计指定时间段内此IP访问次数,如果没超过预定值(比如1000)继续;超过预定值退出,并将IP加入黑名单

3.生成访问记录,以便做下一次分析

4.开始加载WordPress

这样一来,三个恶心问题全部解决。试运行一周,感觉效果还是很不错的。垃圾蜘蛛已不再来骚扰;暴力破解者只有1000次机会,这也谈不上暴力破解了;CC攻击也只能造成很短时间的冲击,网站很快就会恢复正常。

经过几天测试,网站运行状况有了很明显的改观,几个频繁攻击的IP也被记录下来。被记录下来的IP除了垃圾蜘蛛以外,其余几个IP的位置信息基本都是XXX机房、XXX IDC之类的。感慨啊,爱搞破坏的大多是IDC圈内人。

标签: PHP, 防火墙, CC, DDOS, 破解

已有 44 条评论

  1. 一直觉得……那种吃饱饭没事干写病毒来害人的能人们都是聪明不放在正路上

    1. FROYO

      美女,这种防火墙不是用来对付病毒的

      1. 帅哥,为什么那么多人看到评论,都习惯性以为一定是跟文章内容有关?

        我留言分为:跟文章有关的、看到文章让我联想到其他的,就顺带说一下

        所以,你说防火墙了,就让我想到传统意义上的防火墙是用来防病毒的,所以我觉得想吐槽下写病毒的人

        1. FROYO

          不要误会,看到你提起病毒了,我也只是顺带的陈述一个事实,我这个不是病毒防火墙

  2. 牛掰
    膜拜

    1. FROYO

      :bobo_xianhua: :bobo_xianhua: :bobo_xianhua:

  3. 我自己用的代码是:用php session,如果访问次数超过正常值,记录php session并重定向至127.0.0.1

    1. FROYO

      重定向至本机好评

  4. 牛人啊。这样也行。

  5. 差点看成自制灭火器,哈哈

  6. 防火墙都能写出来。真是高手啊。很不错的。

    1. FROYO

      类似防火墙的东西,不是系统底层的防火墙

  7. 这个办法不错 :bobo_paoqian:

    1. FROYO

      :bobo_xianhua: :bobo_xianhua: :bobo_xianhua: :bobo_xianhua: :bobo_xianhua:

评论已关闭