我遇到了一个持续、协同的破解网站(使用 php 编码)的问题。主要问题是运行在 Debian 服务器上的 sql 注入尝试。
该问题的次要影响是被蜘蛛抓取或反复发送垃圾邮件,尽管安全漏洞已经关闭,但仍然明显与破解网站有关,并继续给网站增加负载,因此应该被阻止。
那么我可以采取什么措施来:
答:阻止已知入侵者/已知攻击机器(特别是通过僵尸网络或中继服务器使自己匿名),以防止其重复、连续、定时的访问影响网站的负载,
和 B:报告并应对攻击(我知道向执法部门报告几乎肯定是徒劳的,因为可能要向发起攻击的 IP /机器报告,但欢迎采取其他回应)。
答案1
对于选项 A,您可以调查mod_security,然而您应该对此进行彻底的测试,首先是在报告模式下。
我认为你的申请已经相当牢固:
- php 连接的数据库用户仅具有足够的权限来执行其所需的操作
- 你的 php 配置是硬化
并且运行它的盒子已经完全修补并且所有不必要的服务都已禁用。
此外,您可以考虑在不同的主机上运行数据库。
答案2
根据我的经验,除了阻止违规 IP 之外,您能做的不多。如果您已成为常规目标并且过去曾发现过漏洞,那么让外部公司进行安全审计可能没有什么坏处。我们曾聘请一家名为 7safe 的公司来做这件事。
如果 IP 来自您所在的国家/地区,并且黑客攻击成功,那么让警方介入并不是一个坏主意。我们在英国就遇到过这种情况。
今天早些时候,我看到有人试图攻击我的网站。不用说,他们什么也没做!但黑客攻击在互联网上是常有的事。
答案3
我对此的标准回应保持不变:你无法阻止人们在互联网上做坏事。你看到的攻击无疑是自动化的,而且是宽带的:它们不是专门针对你的网站,而是针对任何地方的任何易受攻击的网站。
你可以花费大量的精力去追踪“已知的恶意”主机,跟踪线索,做侦探工作;但你能做的唯一有用的事情是保护你的系统免受应用程序的侵害(应用程序以非特权用户身份运行,可能被 chroot,合理的 ulimits,最新的内核等),保护应用程序免受用户侵害(可靠的身份验证和授权,占位符 SQL 查询构建,使用网络安全工具进行渗透测试),并监控成功的试图进行未经授权的访问。
答案4
根据我的经验,通过礼貌的电子邮件向网块所有者报告此行为虽然通常不太有效,但仍然可能比依赖当地或攻击者的当地执法机构获得更令人满意的结果。特别是如果他们提供“滥用”地址。
只需向他们提供显示问题的日志条目(记得提供日期/时间的时区转换的详细信息)。
虽然您可以开始阻止来自这些地址的访问,但您可能需要考虑通过 PHP 自动添加实现类似“fail2ban”的功能 - 因此,如果您检测到某人行为不端,您可以使用 OS 防火墙自动阻止他们的访问。