由于互联网的开放性,在我们搭建完自己的网站之后,来自世界上任何地方的人(即IP)都可以访问我们的网站。但是,在正常的流量之外也不乏恶意的流量,这些恶意的流量有些利用了Wordpress中一些特有的链接来获取我们的管理员用户名,有些则利用wordpress中一个特殊的文件实现对我们管理员用户名及密码的暴力破解,为我们的服务器带来了大量的性能消耗,也产生了网站运维上的安全隐患。接下来我将结合自己网站的实际运维经历,分“宝塔面板”和“Wordpress后台两类来分享目前我常用的安全配置。
一、宝塔面板
在宝塔面板中,点击左侧的“网站”,再点开需要设置安全防护的网站右侧的“设置”
在弹出的界面中,点击左侧的“配置文件”
①禁止访问xmlrpc.php
xmlrpc.php文件是什么?
为开发者提供远程发布端口,通过该文件开发者可以在多个渠道远程发布、编辑Wordpress网站中的文章
xmlrpc.php文件潜在的安全隐患?
恶意攻击者可以利用该文件暴力破解Wordpress管理员密码,不受错误次数限制
将上图的“配置文件”编辑窗口拉到底,复制粘贴以下代码:
# 禁止xmlrpc location = /xmlrpc.php { deny all; }
②禁止访问获取所有用户的用户名
为什么要禁止?
通过获取所有用户的用户名,恶意攻击者可以轻而易举地获取你的管理员用户名,极大地减小进入管理后台的难度
# 防止获取管理员用户名 location ~ ^/wp-json/wp/v2/users { deny all; }
(如果使用了CDN的话)③获取用户真实IP
为什么要这么做?
当网站套上了CDN之后,所有用户访问网站时都会自动与CDN的服务器进行通信,再由CDN的服务器对网站服务器发起资源请求。此时的网站服务器获取的访问IP将只有CDN服务器的IP,而不是访问者的IP,可能会影响宝塔面板的访问记录及Wordpress相关插件的功能实现,因此,需要对数据的解析做一些调整,以提取访问者的IP。
点击宝塔面板左侧的“软件商店”再点击“已安装”,最后点击Nginx右侧的“设置”
在弹出的窗口中点击“配置修改”
在“http”的大括号下补充以下两行代码
set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;
二、Wordpress后台
①安装限制登录尝试插件
为什么要安装?
在登录界面,Wordpress默认对登录次数没有限制,也就是说任何用户都可以无限次尝试登录账号与密码,这对于破解管理员账号密码是潜在的安全隐患
在插件方面,我安装的是“Limit Login Attempts Reloaded”,也可以安装其他类似功能的插件
②安装限制IP进入登录后台插件
为什么要安装?
对于个人站长而言,登录后台的国家和地区基本都是不变的,因此可以将该国家和地区之外的地理位置的IP全部封禁以达到过滤访问、增加安全性的效果,此过滤只会影响登陆界面,网站依然允许正常访问
在插件方面,我安装的是“Login IP & Country Restriction”,也可以安装其他类似功能的插件
参考资料:
①你的wordpress网站可能正处于危险之中,揭秘xmlrpc.php文件禁用方法
搭建网站的相关教程,也可以参考我写的文章:
①云服务器安装linux系统及部署宝塔面板教程(以雨云为例)-CSDN博客
②WordPress6.2.2安装及配置教程_wordpress-6.2.2安装-CSDN博客
活动提示:
本教程所用的服务器来自雨云,雨云的云服务器性价比个人感觉还是很高的,感兴趣的可以点击雨云官网进行了解