Apache通过.htaccess文件修改防御WordPress被攻击的办法

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

起因

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

crontab -e

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

* 1 * * * echo > /data/wwwlog/xiaosiseo.com/access.log
* 1 * * * echo > /data/wwwlog/xiaosiseo.com/error.log
* 1 * * * echo > /data/wwwlog/xiaosiseo.com/ssl_access.log
* 1 * * * echo > /data/wwwlog/xiaosiseo.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文件无关,所以直接禁用就可以了。

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

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容