应该对持续的Web应用程序破解做出什么样的反应?

我有一个连续的,一致的破解尝试在网站(编码在PHP)的问题。 主要的问题是在Debian服务器上运行的sql注入尝试。

这个问题的一个次要影响就是被networking蜘蛛一再发现或反复发送垃圾邮件,虽然已经closures了一个安全漏洞,但显然还是有相关的破解网站的尝试,并且继续给网站添加负载,因此应该被阻止。

那么我可以采取什么措施来:

答:阻止已知的入侵者/已知的攻击机器(特别是通过僵尸networking或中继服务器进行匿名攻击)来防止他们重复的连续的定时访问影响站点的负载,

B:报告并回应攻击(我知道向执法部门报告几乎肯定是徒劳的,可能是向攻击发起者的ip /机器报告,但是欢迎采取其他回应)。

对于选项A,您可以调查mod_security ,但是您应该首先在报告模式下对其进行全面testing。

我想你的申请是相当硬化的:

  • 数据库用户php连接只有足够的权限来做他们需要的东西
  • 你的phpconfiguration是硬化的

而且它正在运行的盒子已经完全修补,并禁用了所有不必要的服务。

此外,您可以考虑在不同的主机上运行数据库。

根据我的经验,你可以做的事情不多,但要阻止违规的IP。 如果你已经成为一个常规的目标,并且在过去发现了一些弱点,那么让外部公司做一个安全审计可能不会有什么坏处。 我们使用了一家叫做7safe的公司来做这件事。

如果知识产权来源于你自己的国家,而黑客的企图是成功的,那么涉及警方就不是一个坏主意。 我们在英国有这样的运气。

今天早些时候,我正在看一些黑客企图在我自己的网站上展开。 不用说,他们没有得到任何地方! 但是黑客行为是互联网上的事实。

我对此的标准回应依然如此 :你不能阻止人们在互联网上做坏事。 你看到的攻击无疑是自动化的,而且是宽带的:它们并不是在你的网站之后,特别是在任何地方的任何易受攻击的网站之后。

你可以花费大量的精力去追逐“已知不好的”主人,追踪主angular,做侦探。 但是唯一最终有用的东西就是保护你的系统不受其应用程序的影响(应用程序以非特权用户的身份运行,可能是chroot,合理的ulimits,最新的内核等),保护应用程序免受其用户的威胁(可靠的身份validation和授权,占位符SQL查询构build,使用networking安全工具进行笔testing),并监视未经授权访问的成功尝试。

根据我的经验,在有礼貌的电子邮件中向networking所有者报告这种行为虽然并不经常有效,但依然可能比依靠本地或攻击者的当地执法获得更令人满意的结果。 特别是如果他们提供“滥用”地址。

只需向他们提供显示问题的日志条目(请记住提供date/时间的任何时区转换的详细信息)。

虽然您可以开始阻止访问这些地址,但您可能需要考虑通过PHP autoprepend来实现类似“fail2ban”的function,所以如果您发现有人调皮,可以使用OS防火墙自动阻止他们的访问。