我目前正试图加强一个运行在wordpress上的网站的安全性(单独安装,而不是在wordpress.org/.com上)。我已经安装了Wordfence,它阻止了所有试图立即使用无效用户名的ip(大约200+被阻止的ip/天)。
因为我们的ISP给出了像
这样的主机名www-xxx-yyy-zzz.my.isp.tld
并且除了我之外没有其他用户需要登录,我想我应该添加一些方法来进一步防止暴力攻击。
WP Codex有一节关于阻止未提交表单的人访问WP -login.php。在我看来,这应该摆脱任何试图强行进入的脚本,如:
www.mydomain.tld/wp-admin.php?log=admin&pwd=alex
现在对于任何提交表单的人来说,这都不起作用,所以我在wp-login.php
的顶部添加了一个部分,该部分将检查主机名,然后在与我们的ISP不匹配的情况下重新定向:
<?PHP
if (strpos(gethostbyaddr($_SERVER['REMOTE_ADDR']),'my.isp.tld') == false) {
header('Location: http://www.google.com/');
}
?>
我检查了它,这片工作良好,以及,当我试图访问wp-login.php
在我的手机它把我扔回谷歌,另外我得到一封电子邮件,当有人尝试这个。到目前为止,我使用这种方法只阻止了3-4次登录尝试。
现在从我的角度来看,我已经处理好了所有的事情,但是Wordfence仍然会向我发送关于阻止登录尝试的通知。
看看它是否有帮助,我在Wordpress主文件夹中的。htaccess文件中添加了以下内容,据我所知,除了来自我的ISP之外,它应该拒绝所有访问:
<Files "wp-login.php">
order deny,allow
allow from my.isp.tld
</Files>
电子邮件仍然飞来飞去。现在的问题是:
是否有其他方法调用wp-login.php
,以便尝试登录,我还没有想到?似乎仍然有一些方法可以使用,而不是上述场景的一部分。
如有任何意见、评论等,我们都非常感谢。
这么长时间您可以使用htaccess:
密码保护wp-admin目录和/或wp-login.phphttps://codex.wordpress.org/Brute_Force_Attacks Password_Protect_wp-login.php
这样做需要两个级别的登录——一次是在服务器级别通过弹出窗口,另一次是在WordPress级别。
我们通常只对wp-admin进行密码保护,但这仍然使wp-login.php可以被尝试访问(尽管即使有人能够登录WordPress,他们仍然无法在没有登录的情况下访问wp-admin目录中的任何内容)。换句话说,你可能是安全的,但你仍然会看到有人在尝试。
你还可以做很多其他有用的事情来加固WP,详细说明如下:
http://codex.wordpress.org/Hardening_WordPress有些很容易在现有的安装中完成,有些则需要更多的工作。但我觉得密码保护wp-admin/wp-login.php可能是最简单的方法,而且能给你最好的结果