Docker系列 WordPress系列 安全插件

发布于 2022-07-02  47 次阅读


前言

内容更新概况详见底部日志部分。

如果你的博客要长期运营,并且有可能被其它人访问的话,你可能就需要做一些安全防护。毕竟互联网的世界里什么人都有,不乏恶意攻击者。

说到WordPress安全,我远不是专家。我只是做一些普通用户可以做的事。安全是降低风险,而不是消除风险。如果你的网站非常重要的话,还是让专业的团队帮忙维护吧!

我主要是通过插件来实现WordPress站点的安全防护的,而且还不止一个插件。下面我会介绍这些插件,它们是:WordfenceLogin LockDownWPS Hide LoginAkismet 反垃圾评论勉强也算是安全插件吧,只不过我们此前已经讨论过它,就不再重复了。我的博客站点安装这些插件已经有一段时间了,不过并未感觉到它们对WordPress站点的性能造成明显不良影响(比如访问卡顿)。所以放心食用!

另外,对于国内的VPS用户来说,WP-China-Yes可能是一个很重要的插件,主要功能是增强对大陆用户的wordpress支持,比如加快插件下载的速度。如果你下载插件时特别慢,可以先安装WP-China-Yes。我测试时用的是腾讯云VPS,但是不装WP-China-Yes插件也不觉得下载插件很慢。所以,你可以按需安装启用WP-China-Yes

Wordfence

经典的WordPress安全插件之一。

Wordfence的详细设置还是有点复杂的,你可以看一下这个视频来进行一步一步地设置:B站:WordFence Security 教程:强大 WordPress 网站安全插件(完整设定) 。虽然Up主有点湾湾腔,但希望大家不要介意吧!

如果你完全不懂Wordfence怎么设置的话,可以按照默认的设置。我这里主要说一些我觉得比较重要的设置。

安装

没什么特别,直接在插件页面搜索、安装并启用。用的人确实蛮多的:

image-20220429094431972

初始化时会要求输入一个邮箱,平时用来发送安全相关信息。填一个常用邮箱即可。

image-20220429094910185

当然,一般插件都会问你要不要购买高级版。我们直接谢谢即可。以后觉得它好用了,再买高级版也不迟嘛!

image-20220429095039236

一般这种经典插件不太可能有兼容性问题,所以我直接启用自动更新

image-20220429095144995

一般我们是通过左侧菜单栏进入设置wordfence的:

image-20220429095254328

修改设备后都要按保存更改。这种常规操作应该知道的吧!

全局设置

这里我给出一些全局设置的建议。可以从这里进入:

image-20220429095752599

需要通过电子邮件通知的选项中,改动:

  • 只报告中度及以上的安全选项。

image-20220429095936801

  • 登陆提醒:一般用新的设置登陆时才会有风险的,所以这将提醒等级调低一些。

image-20220429100126201

防火墙

这里值得一提的是限速功能。最近我发现,如果有人用工具扫描你的后台的话,会产生类似DDoS攻击的效应,从而导致网站瘫痪。比如类似于下面的流量(我请大佬特意扫一下我的网站。由于我设置了限流,所以这个虚拟ip被WordFence自动屏蔽了):

NVIDIA_Share_Mmrm6pjBl9

我们通过限速进入界面进行了以下设置。我已经是设置了系统推荐的最严格的参数,如果你再次降低参数值,WordFence会提示你规则太严格可能会“误伤友军”。如果你没有什么特别的意见,也可以参考我的设置:

image-20220606151232362

在测试中,那个扫描后台的虚拟ip由于触发了404请求的规则,所以被WordFence自动屏蔽了几个小时:

NVIDIA_Share_V4Nt41y25b

并且我自己也收到了安全通知邮件:

image-20220606151500630

扫描

我们可以去做第一次安全扫描。一般要几分钟的时间:

image-20220429100354923

一般新站点,你没做过什么事的话,都是蛮安全的。有问题你就按提示去修正即可。

image-20220429100642351

扫描选项和计划中,一般默认的是标准扫描。虽然它可调的参数很多,但我觉得默认即可。

image-20220429100756173

Login Security

这里有一个两步验证的设置。不过我自己就没这么夸张,要搞这个了。我主要是通过bitwarden设置了一个100多位的强密码来保证登陆安全。所以我应该不太需要这个二次验证。有需要的话你可以了解一下。

image-20220429101129549

在Setting中,我主要使用的一个东西是:Enable reCAPTCHA on the login and user registration pages

image-20220429101251515

reCaptcha是谷歌运行的互联网机器人检测仪,就是那个恶心的我不是机器人的验证,哈哈!不过,如果你使用 recaptcha v3 的网站上输入一个表单时,你只能在登陆后台右下角看到一个小小的图标:

image-20220429102011063

不过关于它的使用,也有人讨论过它的弊端。你可以看看:谷歌reCaptcha不再需要点验证按钮,但你的隐私暴露了。或者咨询一些专业人士的意见。总之要不要用看你自己喔!

你如果要用的话,按它的提示去申请一个即可。也不难。

Login LockDown

登录锁定记录每次失败登录尝试的 IP 地址和时间戳。如果在短时间内从同一IP范围内检测到超过一定次数的尝试,则对该范围内的所有请求禁用登录功能。这有助于防止暴力破解密码发现。

它对于某个人想要登陆你的后台时,可以起防御作用。不过Login LockDown对于防护DDoS应该没有什么作用。

Login LockDown对WordPress版本的兼容性测试不够及时,所以Login LockDown插件可以不启用自动更新

安装

没什么好说的:

image-20220429103218737

安装好后自己从设置——Login LockDown登陆。

image-20220429102841296

使用

我用的都是默认设置,因为它已经很贴近我的使用习惯。你自己有需要就改吧!看不懂英文用Google机翻。

image-20220429103013731

WPS Hide Login

安装

直接上图:

image-20220429103142086

设置——WPS Hide Login里面进去。

image-20220429103337354

使用

我们可以先产生一个毫无意义的字符,比如:

image-20220429103532304

然后填入下面的空格,保存更改:

image-20220429103658531

以后就用https://url/v5fl2evvh登陆。注意,都是小写字母喔!

当然,你要好好地保管这个地址,比如保存在chrome的收藏夹里。如果你不小心忘了,评论区留言吧!通过MYSQL的操作应该也是可以找回这个地址的。

Cloudflare

如果你使用Cloudflare,并且是通过Proxy代理了你的网站,其实你也有一些来自cloudflare的提示和防护。只不过我也不知道这个效果如何。有经验的小伙伴欢迎分享一下!

数据分析

image-20220429104138748

DDoS

不了解DDoS的话,可以看一下:百度百科-分布式拒绝服务攻击。还记得2019年新冠疫情那会,大家短时间内访问服务号去预约疫苗,这会造成非恶意的DDoS效果,从而导致服务器瘫痪。现在防疫常态化了,比如广东这边,一般都有个粤核酸1-8之类的,就是为了缓解这种集中访问的压力。

如果你的网站遭遇了DDoS攻击,基本上是没有什么好的办法解决的。我注意到Cloudflare有DDoS防御的相关设置:

image-20220429104322948

但自己没用过,不知道效果怎么样。你也可以了解一下。

日志

2022-06-06

  • 添加了WordFence防火墙关于限流功能的描述,以应对一般程度的恶意后台扫描。

小结

我觉得个人用户可以用好WordfenceLogin LockDownWPS Hide Login等插件,再加上一些域名托管商的安全服务,WordPress博客站点应该是蛮安全的了。这篇文章你也可以看一下:WordPress安全指南:19个步骤让您的WordPress安全防线坚如磐石,我觉得讲得不错。

WordPress站点安全暂时就这些。以后有什么其它发现再补充吧!

参考