我一直是我自己的两个WordPress站点的蛮力攻击的目标。 攻击者正在使用旧的XML-RPC来扩大暴力密码攻击。 幸运的是,我们有非常好的密码,所以我非常怀疑他会得到任何地方。
我刚刚使用iptables阻止他的请求,当他再次popup(总是从同一个虚拟云提供商),但我宁愿修改服务器,以便每当他的IP地址要求任何页面,他得到一个回应告诉他获得生命。 大部分请求都是POST,所以我最好只是修改响应头,以包含“下次更好运气! 或者同样满足的东西。
这可能吗? 我远离Apache的专家,所以我不确定这将是多么困难的实施。 但即使需要我几个小时,满意度也是无价的。
作为参考,我正在运行Ubuntu 16.04.2 LTS,Apache 2.4.18托pipeWordPress的4.7.3。
只需安装适当的监狱fail2ban ,并完成它。 不要费心去给自定义的回应,因为它很可能永远不会被看到。
有可能,我们做了很多,以扭转可能的攻击。 使用iptables将云提供程序(地址范围)redirect到不同的端口 – 即使在普通的头文件中,攻击者也可以提供响应。
在Apache中,您可以通过示例修改标题:
Header set GetOut "Better luck next time!"
我会去fail2ban并从已知的滥用地点删除请求。 如果您认为攻击者的服务提供商不是责难,请将攻击报告给他们的滥用电子邮件地址。
如果你想花时间做一些会使攻击者放慢速度的东西,那么你可能要试试做一个tarpit 。 首先,你当然必须知道袭击的来源。 然后你可以使用apache将请求从ip(range?)redirect到一个特定的脚本。 这可能会做的伎俩,虽然我没有尝试过自己。 然后,只需实现一个脚本,例如,每15秒打印一个点(或从/ dev / null的东西),以保持攻击者的连接无限期地打开。
由于攻击者很可能使用脚本攻击您的站点,因此可能需要一些时间才能注意到攻击已经停止,因为连接看起来都很活跃,不会有超时现象,请求也不会被拒绝。
问题是,你把时间和资源投入到一些可能不会像更重要的问题那样有用的事情上:保护你的login。 当你不知道该去哪里攻击的时候很难攻击。 考虑以下几点:
ModSecurity是Apache的第三方WAF模块,这非常简单。 尽pipe它涉及到学习规则语言的语法。
您也可以使用ModSecurity来删除连接,而不是回应。
说,安装ModSecurity只是为了这个,如其他人所暗示的那样,可能会忽略这些响应可能是过度的。