今天给大家分享一下 WordPress 站点的基本安全防御措施,这些都是明月多年使用 WordPress 的经验总结,至少都是“实测有效”的,甚至不少还是明月正在使用的,希望可以帮助到各位 WordPress 博客站长们。
WordPress 面对恶意请求、恶意登录的基本安全防御措施
使用 WordPress 的博客站长们应该都经历过被恶意登陆、恶意 Url 请求、恶意 XLS 注入、恶意扫描等等恶意行为吧?这些“恶意”的请求会造成站点服务器的负载持续飙升,配置低点儿的服务器(特别是共享虚拟主机类)更是会频繁的宕机和卡死,像是阿里云的共享虚拟主机服务器一旦碰到这种情况就会被主机商停机(可参考『因为阿里云主机资源耗尽停机』一文)。并且明月发现受到这类恶意请求骚扰的大部分是新手站长们。
其实这类恶意请求在网络上是非常普遍的,其主要原理一般也就是 PHP 代码后门、木马、恶意植入代码造成的,WordPress 站点在使用某些插件或者免费破解版主题的时候几乎可以百分百招来这些恶意的请求,在『说说 WordPress 的插件(Plugins)』和『说说 WordPress 的主题(Theme)』两篇文章里明月就多次的强调了这个隐患,所以明月在这里再次啰嗦一下,插件和主题要慎用!
那么出现这些恶意请求后怎么办呢?
一旦发现自己的 WordPress 站点被恶意请求了,那么就以为着你的服务器真实 IP 已经泄露或者你的 WordPress 站点被后门、木马了,这时候不要急,首先要做的是有条件的话先停止 DNS 解析或者停止服务器上的 WEB 服务器,这样可以让这些恶意请求不会对服务器性能产生大的影响和资源占用。然后就是给自己站点加个 WAF 来拦截和屏蔽这些恶意请求了,
什么是 WAF
Web 应用防护系统(也称:网站应用级入侵防御系统 。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web 应用 防火墙 是通过执行一系列针对 HTTP/HTTPS 的 安全策略 来专门为 Web 应用提供保护的一款产品。
WAF 的功能
支持 IP 白名单和黑名单功能,直接将黑名单的 IP 访问拒绝。
支持 URL 白名单,将不需要过滤的 URL 进行定义。
支持 User-Agent 的过滤,匹配自定义规则中的条目,然后进行处理(返回 403)。
支持 CC 攻击防护,单个 URL 指定时间的访问次数,超过设定值,直接返回 403。
支持 Cookie 过滤,匹配自定义规则中的条目,然后进行处理(返回 403)。
支持 URL 过滤,匹配自定义规则中的条目,如果用户请求的 URL 包含这些,返回 403。
支持 URL 参数过滤,原理同上。
支持日志记录,将所有拒绝的操作,记录到日志中去。
更多有关 WAF 的介绍,大家可以参考『LNMP 1.5 测试版体验之 ngx_lua_waf 初体验』一文里的介绍附录即可。
从上述的 WAF 的功能里就可以看出 WAF 的作用就是拦截这些恶意请求并都返回 403,随着返回 403 的频率越来越高,这种恶意请求就逐渐的减少了直至消失。高级点儿的 WAF 可以自定义规则,大家可以根据自己的需求来制定适合自己站点的 WAF 规则。
WordPress 站点如何使用 WAF?
WordPress 站点使用 WAF 有两种办法,一种是自己再服务器上给当前使用的 WEB 服务器(如:Nginx、Apache)部署一个 WAF,比如『LNMP 1.5 测试版体验之 ngx_lua_waf 初体验』一文里的 Nginx 模块 ngx_lua_waf 就是,有兴趣的朋友可以参考一下自己部署。
WordPress 面对恶意请求、恶意登录的基本安全防御措施
WordPress 面对恶意请求、恶意登录的基本安全防御措施
另外一种方法就是借助第三方免费的站点 WAF 服务了,一般 CDN 服务里都会有 WAF 功能的,比如:阿里云 CDN、又拍云 CDN 这些自带的 WAF 还是不错的。不过,明月首推的是 360 网站卫士这个专门的云 WAF 服务,虽然一直以来都是当免费 CDN 使用的,但其实严格意义上来说 360 网站卫士是个免费的网站 WAF 更准确一些,因为其提供的加速(CDN)服务的节点数量跟专业 CDN 相比实在是太少了,所以把 360 网站卫士作为一个站点 WAF 使用还是真心很不错的,至少明月感觉至今为止 360 网站卫士的效果是最好的,甚至有时候配合服务器防火墙可以抵挡一定流量的 DDOS 攻击。
总结
就目前的互联网安全形势给 WordPress 站点添加一个 WAF 可以说是个标配了,可惜很多新手站长们都给忽略了,并且明月发现不少新手站长被网上各种垃圾插件推荐软文给忽悠了,采用安全插件来应对恶意请求,殊不知这样不但徒劳无功还会“雪上加霜”,不少安全插件并不“安全”,甚至有些打着“安全”的幌子其实行的是“恶意代码”传播的事实,而今天明月推荐给大家的 WAF 都是基于规则的,可以说是最有效的应对方法了,当然方法一需要一定的技术门槛,所以明月比较推荐的是方法二,再说给站点加个 CDN 还可以给站点加速,一举两得何乐而不为呢?好在像 360 网站卫士还是免费的,这对个人博客来说绝对是个利好了。同时,给站点加了 CDN 服务后,还可以起到隐藏服务器真实 IP 地址的作用,这对站点的整体安全还是非常好的,毕竟大家都不想自己的站点经常被人攻击和骚扰吧?
最后明月建议大家站点在上线运营之初就用上一个 CDN 绝对是个应对网站安全的好习惯!