Apache修改配置防止WordPress被爆破

4.5
(6)

最近发现有人疯狂扫描Wordpress的xmlrpc.php文件及wp-login.php文件,大概是想爆破后台密码或者想撞库获取密码吧。今天,古哥给大家带来Apache通过.htaccess文件,简单几行代码就实现禁止访问xmlrpc.php文件及wp-login.php文件,并返回403的简单方法。

Apache修改配置防止Wordpress被爆破

起因

每天,我都会看网站日志文件。然后,凌晨一点自动清理网站日志。可以通过以下命令完成日志的定时清理任务:

crontab -e

输入i进入编辑模式,插入如下代码。完成后,摁下esc退出编辑模式,再摁下:wq退出并报错

* 1 * * * echo > /data/wwwlog/iymark.com/access.log
* 1 * * * echo > /data/wwwlog/iymark.com/error.log
* 1 * * * echo > /data/wwwlog/iymark.com/ssl_access.log
* 1 * * * echo > /data/wwwlog/iymark.com/ssl_error.log

以上即可,每天定时一点清理日志文件(注意修改日志文件目录)

然后,我刚才发现有人在恶意扫描wp-login.php文件,查询恶意扫描ip,提示有撞库风险:撞库即用其他网站的数据库里的账号密码来登录你的网站,就叫撞库。所以,一般建议不同网站用不同密码,也是这个道理。当然,Wordpress除了/wp-login.php可以恶意登录,还有xmlrpc.php文件(用于发送pinback,即当你文章引用别人网站文章时,会自动给对方发送一条pinback,告诉对方你引用了;反之,亦然)可以恶意登录。

.htaccess文件

我们只需要在.htaccess文件中,加入如下代码即可完成禁止访问wp-login.php及xmlrpc.php文件,并返回403拒绝访问代码:

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
# protect wp-login
<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

修改完,无需重启,立即生效。

白名单的设置

当然,如果你自己也在用wp-login.php登录自己网站的后台,很显然,这么做是不合理的。那么你可以加入登录白名单的ip即可,代码如下:

# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
# protect wp-login
<Files wp-login.php>
Order Deny,Allow
Allow from 192.16.1.1(这里改成自己的ip即可)
Deny from all
</Files>

如果你的网站有前台登录的方法,那么直接禁止访问wp-login.php是没有任何问题的,比如本站的登录跟注册,都与wp-login.php文件无关,所以直接禁用就可以了。

Apache修改配置防止Wordpress被爆破

也就是说,如果你平时登录网站并不是通过WP的默认登录页面去登录后台,直接禁止访问wp-login.php,是没有任何问题的。而且也不影响你用户平时登录你的网站。当然,最好加个验证码,更加安全。

共计6人评分,平均4.5

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

原创文章,作者:古哥,如若转载,请注明出处:https://iymark.com/website/apache-deny-access.html

发表评论

登录后才能评论

评论列表(4条)

  • 2322
    2322 2020年11月24日 11:18

    大佬 这个代码块样式是二次开发过了吗,有教程吗

    • 古哥
      古哥 2020年11月24日 11:21

      @2322https://iymark.com/questions/328.html
      我用的enlighter插件,上面是针对该插件,justnews主题的魔改代码,用于适配插件

    • 2322
      2322 2020年11月24日 11:26

      @古哥安装了插件,添加css样式。然后在编辑文章的时候插入代码块就能实现了吗?

    • 古哥
      古哥 2020年11月24日 11:33

      @2322这个插件会提供一个代码块的,你插入代码用它提供的代码块就可以了。
      enlighter这个代码块

    分享本页
    返回顶部