处理低级别攻击者?

我有一个小型的游戏网站,有400名成员(约50人活跃)build立在MySQL数据库周围。 我是唯一的开发者,而且我是一个业余爱好者,所以我会公平地分享一些错误。

为了保护我自己,网站和我的成员的贡献,我有一个纯文本“我们遇到了错误”的消息,并自动给我发送PHP错误信息的服务器设置死硬。

当然,这在企业环境中永远不会工作,太过于沉重,但是我们的成员都很了解,因为我们一起发展了这个网站,而且我和他们中的大多数人都有私人关系。 他们也是一般技术性不善的老人,这意味着软弱的情况会让他们感到困惑。

该网站还使用PDO,无处不在。

/ backstory完成

我今天早上醒来发了90封错误邮件。 exception!

所有这些都是在2分钟的时间内触发的……最不寻常的!

错误信息是类似的东西

PDOStatement::execute() expects parameter 1 to be array, string given 

看了我的代码,没有外界的干涉是不可能的。

所以我去抢我的stream量日志,发现东京的IP 219.117.193.20正在锤击我的网站,请求如下:

 GET /search.php?type=basic%20AND%201%20=%201 

第一个: GET /search.php?type=basic是有效的,并列在主导航栏中。 他(它?)正在追加的其他一切。

看起来像一个简单的Bobby Tables攻击。

所以这个进行了几分钟,100个电话,然后停了下来。

我向你们提出的问题是:

我是否应该打算对这个IP采取任何行动?

还是这只是知名度的代价,太频繁了呢?

你禁止IP? 子网? 你联系ISP吗?

只是好奇专业的服务器pipe理员在这种情况下做什么,我想它会发生得非常频繁…?

这是名气的代价。 每隔一段时间,有人会尝试与几乎每一个网站(例如,每两天对一个易受攻击的版本的phpMyAdmin进行一次扫描)。 由于所涉及的机器几乎都是僵尸terminal用户机器,所以对他们采取行动是没有用的(任何一种“主动对策”当然是完全错误的,但是即使试图向受害者报告受感染的机器也几乎是肯定徒劳)。

确保你的网站是安全的,只是继续你的一天。

既然你也是开发者,你可能会考虑编写一个适当的error handling程序来忽略和/或甚至触发一个“焦油坑”响应/处理。

你要做的第一件事是validation你接收到的每一个input,并完全参数化你传递给数据库的每个查询。 这样SQL注入攻击将不会成功。

正如@ womble所说,试图禁止IP或子网是毫无价值的。 无论如何,运行攻击的人甚至不在该IP上。 他们会转换到另一个僵尸,并保持它。

确保一切,完成任务。 攻击会失败,他们会感到无聊,继续前进。

您可以尝试使用自行生成的客户端密钥来保护您的网站。 只将密钥分发给您的会员,并每年刷新一次。

缺点:您将必须解释如何在所有types的networking浏览器中安装和使用该密钥。

更简单的方法可能是使用.htdigest密码保护您的服务器的保护。