如何防止对WordPress wp-login.php页面的攻击

时间:2010-12-14 21:13:31

标签: wordpress login

在我的网站上,最高的GPU使用率实际上是在WordPress登录页面上,而不是主页上。我基本上得出的结论是它受到暴力攻击或类似的攻击。<​​/ p>

我已经安装了一个防止机器人密码攻击的插件,但它并不能阻止机器人首先实际访问该页面

我想将登录页面的位置更改为wp-login-here.php,或者可能有更好的解决方案。 Stealth Plugin似乎可以解决问题,但它与最新版本的WordPress不兼容。有什么想法吗?

编辑:这个问题的真正解决方案是让我彻底安装WordPress,这次是在Stealth插件支持的版本中。在这个早期版本的WP上安装WP和Stealth插件后,我使用了插件创建的.htaccess文件,并将其复制(经过一些修改后)到生产站点。我接受我的答案的原因是因为不良行为最终成为一个好的插件,而其他建议很有用。

10 个答案:

答案 0 :(得分:7)

  

如何将密码添加到单个文件中?

将此添加到WP的当前.htaccess

<FilesMatch "wp-login.php">
    AuthName "WordPress Admin"
    AuthType Basic
    AuthUserFile /path/to/.htpasswd
    require valid-user
</FilesMatch>

答案 1 :(得分:4)

bad behavior可以阻止某些已知的恶意IP地址。它与ProjectHoneyPot一起使用,并在您的网页完全加载之前将其保留在您的网页之外...

另外,hide your login page有一种方法可以使用.htaccess
如Jimmy已经指出的那样,锁定所有试图登录多次的人

除此之外,你应该强制执行以下做法:

  • 不要使用管理员帐户(使用管理员权限创建另一个帐户,但用户名不同于管理员,然后删除默认管理员帐户)
  • force using SSL
  • 使用强密码

答案 2 :(得分:2)

仅限制IP地址的登录尝试次数有什么问题? http://wordpress.org/extend/plugins/limit-login-attempts/

答案 3 :(得分:1)

为wp-admin目录创建.htaccess规则,并将其设置为IP的集合列表或用户/密码组合。你不想开始黑客攻击wordpress如果你可以避免它,因为下一次升级只会撤消你的更改,而将其设置为Apache .htaccess级别将比尝试修补wordpress更有效。

答案 4 :(得分:1)

作为建议,如果您使用静态IP,则可以使用.htaccess .passwd文件将admin目录的访问权限限制为已知的IP地址列表。虽然这不会阻止访问尝试,但它至少会降低资源使用量。

答案 5 :(得分:1)

作为安全性的补充,您可以尝试使用这个简单的WordPress插件:

<击> http://themext.com/protected-wp-login/

该网站不再可用,只有code is still on GitHub

它可以防止暴力破解管理员的登录页面(通过在网址中使用安全密钥)。

答案 6 :(得分:1)

要更新编辑上方的 epaps 并回答类似问题Is there any way to rename or hide wp-login.php?,我也发现(现已长期放弃)隐身登录插件生成的.htaccess规则为防止直接访问wp-login.php / wp-admin并防止各种攻击(特别是暴力破解)的最简单但最有效的方法。

其他&#34;解决方案&#34;我已阅读要求php函数,更改为wp-config.php和.htaccess重写。或者安装另一个(庞大的)插件!其中许多只是阻止/ wp-admin / URI(通过直接转到wp-login.php容易破坏),或者破坏评论者/客户登录。

stealth-login插件的最终版本是v1.3,并且与WordPress版本2.3到2.7.1兼容。可以找到2011年10月15日的最后一个Internet Archive快照here,其中可以下载stealth-login.1.3.zip。可以从发布存档中下载兼容版本的WordPress - https://wordpress.org/download/release-archive/。做着名的5分钟安装,将隐藏登录插件解压缩到/ wp-content / plugins,现在您可以生成一个供您自己使用的规则集。

Mine如下所示,并且正在使用WooCommerce 3.0.5在WordPress 4.7.4上完美运行。我做的唯一改变是在第12行添加重写条件。有必要防止WooCommerce / my-account / customer-logout中断(它是302重定向而没有/wp-login.php URI - 意味着查询字符串打开它本身不会执行注销,因此没有任何反应。注意字符串已经打开以拾取wpnonce变量。

如前所述,这是我发现的最佳解决方案 - 它甚至可以与WooCommerce合作。如此简单但又如此有效 - 感谢 epaps 指出这一点。

RewriteRule ^signout wp-login.php?action=logout&_wpnonce=a3d57642ab&stealth_out_key=ow4hzd5lxudcetbgbfreaox6c1 [L]
RewriteRule ^signin wp-login.php?stealth_in_key=05gvov4wuuruahpuchpohavitl&redirect_to=https://yourwebsite.com/wp-admin/ [R,L]
RewriteRule ^admin wp-admin/?stealth_admin_key=f4ji1q6tpwr55s5a0h65clg0qk [R,L]
RewriteCond %{HTTP_REFERER} !^https://yourwebsite.com/wp-admin 
RewriteCond %{HTTP_REFERER} !^https://yourwebsite.com/wp-login\.php 
RewriteCond %{HTTP_REFERER} !^https://yourwebsite.com/signin 
RewriteCond %{HTTP_REFERER} !^https://yourwebsite.com/admin 
RewriteCond %{QUERY_STRING} !^stealth_in_key=05gvov4wuuruahpuchpohavitl 
RewriteCond %{QUERY_STRING} !^stealth_out_key=ow4hzd5lxudcetbgbfreaox6c1 
RewriteCond %{QUERY_STRING} !^stealth_reg_key=rue2bekyask21pwtegavqbbp5n 
RewriteCond %{QUERY_STRING} !^stealth_admin_key=f4ji1q6tpwr55s5a0h65clg0qk 
RewriteCond %{QUERY_STRING} !^action=logout&redirect_to=https%3A%2F%2Fyourwebsite.com%2Fmy-account%2F&_wpnonce= 
RewriteRule ^wp-login\.php https://yourwebsite.com [L] 
RewriteCond %{QUERY_STRING} ^loggedout=true 
RewriteRule ^wp-login\.php https://yourwebsite.com [L] 

答案 7 :(得分:0)

我已经创建了一个插件,允许您自定义登录URL,并通过检查请求的URL来阻止远程表单$ _POST命令。

它没有完善工具栏中的其他WP登录URL并且丢失了密码链接,但是在2013年的暴力攻击期间,它已经将登录尝试减少了几天零。

http://wordpress.org/extend/plugins/stealth-login-page/

答案 8 :(得分:0)

它可能是我的暴力攻击

将以下代码添加到主题文件夹中的functions.php底部,它将停止ping回请求。

add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
function remove_xmlrpc_pingback_ping( $methods ) {
unset( $methods['pingback.ping'] );

return $methods;
}

并更改wplogin页面 using the following plugin

答案 9 :(得分:-2)

我似乎找到了答案。

我一直在努力与theese登录尝试很长时间,并决定做一个实验。

首先,我不使用admin作为我的管理员用户。因此,他们不会进入,因为所有攻击都基于“admin”用户名。

我设置了一个名为Admin的用户帐户,并将密码设置为“12345”。我将此帐户转发到我称之为“破坏”的html页面。起初我很惊讶机器人仍然无法进入。

两个星期前,一个机器人终于进入了。从那以后我没有受过任何攻击。之后没有任何攻击。

这可能是运气,但它也可能有效。