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/articles/741.html

(1)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年11月07日 21:35
下一篇 2020年11月08日 18:12

你可能感兴趣的文章

发表回复

登录后才能评论

评论列表(11条)

  • 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这个代码块

  • 剑心的头像
    剑心 2022年03月20日 23:06

    古哥,现在这个失效了吗 我是宝塔,用的是你记录的第一段代码,保存以后退出网站登录,访问域名/wp-admin 或者是域名/wp-login.php 还是可以访问。

    • 古哥的头像
      古哥 2022年03月20日 23:12

      @剑心拿可能你的apache不支持这个功能。
      大概需要在apache配置文件里添加如下内容

      SetOutputFilter DEFLATE
      Options FollowSymLinks
      AllowOverride All
      Order Deny,Allow
      Require all granted
      DirectoryIndex index.php index.html index.htm

    • 剑心的头像
      剑心 2022年03月20日 23:16

      @古哥哦哦,那我搞错了我是Nginx,Nginx有办法吗

    • 古哥的头像
      古哥 2022年03月20日 23:18

      @剑心肯定有啊微笑
      比如这篇文章:https://www.cnblogs.com/irisrain/p/4319027.html

    • 剑心的头像
      剑心 2022年03月20日 23:19

      @古哥好的,我去看看 感谢

    • 古哥的头像
      古哥 2022年03月20日 23:13

      @剑心看看以上代码位置处有没有如下代码:
      Options FollowSymLinks

    • 古哥的头像
      古哥 2022年03月20日 23:13

      @剑心conf文件

    微信小程序
    微信公众号