教程:WordPress的蛮力登录保护,SSHGuard

SSHGuard 2.1刚刚发布,并在此版本SSHGuard获得了对WordPress的检测和阻止暴力登录尝试的能力。这里是到您开始使用SSHGuard保护的WordPress。

一些先决条件,你开始在这个快速教程之前:

  • 您应该已经安装并配置SSHGuard(Fedora的说明;通用指令)。在你的包库检查SSHGuard版本2.1或更高版本,或者如果它不是在你的主包库可以从源代码安装它。
  • 您的Web服务器必须存储NCSA公共日志格式(CLF)的访问日志。大多数Web服务器在默认情况下(如Apache Web Server和Nginx的)做这一点,或者可以被配置为输出格式。扩展格式,并在最后的额外数据字段也支持。
  • 你的服务器日志必须包含真正实现了远程IP地址它是有效的。确保你不小心登录您的上游缓存代理的IP地址或CDN代替实际的远程地址。
  • 请注意,使用日志缓冲,如BufferedLogs在Apache的选项,会延迟日志,从而减少SSHGuard的响应。

所有你需要具有配置SSHGuard之后要做的就是给它你的服务器日志。在这里,你已经几个不同的选择。

WordPress的攻击择伐

根据您的Web服务器的流量负载,你可能不希望保持一个包容各方的访问日志,因为这可能会对您的Web服务器和SSHGuard的性能影响。相反,你可以配置单独的日志文件的任何相关要求的选择性伐木。

以下配置yabo亚博体育下载片段演示如何的请求设置日志记录WP-的login.php只用的CustomLog指令在Apache HTTP服务器:

SetEnvIf之后REQUEST_URI“/wp-login\.php"$ wordpresslogins的CustomLog “/var/log/httpd/wordpress-logins.log” 共同ENV = wordpresslogins

接下来的配置片段展示了相同的Nginx的:

位置 “/wp-login\.php”{的access_log “/var/log/httpd/wordpress-logins.log”;}

然后,您可以养活日志文件/var/log/httpd/wordpress-logins.log到SSHGuard使用文件的配置选项。这一点你就完蛋了。您仍想了解以下XML-RPC的部分。

记住禁用XML-RPC

SSHGuard不支持对堵在WordPress的XML-RPC服务的强力攻击。这种攻击可以用每个单一的服务器请求登录尝试几百被大量扩增,而无需在服务器日志中留下任何明显的签名。

除非您使用的Jetpack插件或WordPress的移动应用程序,你应该完全禁用XML-RPC服务。在XML-RPC的服务让你的网站容易受到多种类型的攻击。这是与应用程序和附加服务更广泛的生态系统WordPress的重要,但它不是必需的WordPress的本身。最好的办法就是干脆禁用它可能的情况下。

您可以通过阻止所有远程访问禁用XML-RPC/xmlrpc.php在您的Web服务器配置。