WordPress 安全插件的邮件太多?一条有用的提醒应该是什么样
安全插件为什么会把收件箱塞满,值得一读的提醒应包含什么,哪些事件需要立刻发邮件,以及如何调整任何一款插件,让重要的那一封被看到。
如果你的安全插件每天发来好几封邮件,你多半已经不看了。这就是提醒太多的真正代价:有人新建了管理员账号,这封邮件夹在二十封锁定通知中间,和它们一起被删掉。插件应该少发,每次发就多说一点,而这大部分只是设置问题。
安全插件为什么发这么多
大部分邮件量来自几个习惯:
- 一个事件一封邮件。 每次拦截登录、每次锁定、每次插件更新、每个文件变动,都是单独一封。互联网上任何网站每天都会遇到机器人的登录尝试,光这一项就可能是几十封邮件。
- 同一个问题反复报。 一个本周没法更新的过期插件,每次扫描后都会被再报一遍。
- 把弱信号当成发现项。 解码 base64 或调用 eval 的代码出现在很多正规插件里。逐处报告的扫描器,会把网站的正常代码变成一份嫌疑名单。
- 把失败当成问题报告。 扫描器连不上 WordPress.org 获取校验值时,有些工具会把所有文件都标成“未验证”,下一次扫描又把它们全部“修好”。
机器人的一次登录失败不是新闻。针对随机用户名的锁定是每个网站都有的背景噪声,而且锁定本身已经起了作用。
一条有用的提醒是什么样
拿你最近的几封提醒,逐条对照下面这份清单:
- 说的是新出现的事,或者变得更严重的事。 你已经知道的问题,不需要第二封邮件。
- 说明是什么、在哪里、有多严重。 哪个文件、哪个插件或哪个账号,以及一个能告诉你今天要不要处理的严重程度。
- 说明该做什么。 一两个步骤,或者该转发给谁。
- 说明有多确定。 “在这个文件中匹配到恶意代码”和“这个文件不寻常,请问了解网站的人”是两种不同的信息,看起来也应该不同。
- 附上可以直接操作的页面链接。
- 合并成一封发来。 一次扫描一封邮件列出所有新问题,好过同一次扫描发十封。
打开后一分钟内就知道该做什么,这条提醒就是有效的。必须登录进去才能判断重不重要,那就是噪声。
哪些事件需要立刻发邮件
少数几类事件需要马上通知,因为等到下一次扫描是有代价的:
- 有账号变成了管理员,
- 连续登录失败正在锁定某个管理员账号,说明有人在针对这个账号,
- 扫描发现了恶意软件或被改动的 WordPress 文件,并且证据明确。
其余的可以等到定期扫描后的邮件或每周摘要:可用更新、低严重度的提示、针对网站上并不存在的用户名的锁定。
如何调整任何一款安全插件
无论你用哪款插件,这些步骤都适用。
- 先数一周。 给这个插件的邮件建一个文件夹或标签,看看收到什么、多久一次,并记下哪些邮件真的让你做了点什么。
- 提高阈值。 大多数插件都有发邮件的最低严重度。先只收严重问题,等未解决的问题清单变短了,再调低。
- 关掉普通锁定的邮件。 保留锁定功能,去掉邮件。如果插件把管理员账号单独处理,就保留与之相关的提醒。
- 把提醒发给会处理它的人。 如果问题由你的开发者来修,就加上他的地址。检查名单里没有已经不再和你合作的人的地址。
- 对有意修改的内容逐项忽略。 有人特意改过的文件,可以标记为已知。确认插件在该文件之后再次变动时会重新报告,否则每一次忽略都会变成盲区。
- 发一封测试邮件,并查看垃圾邮件夹。 进了垃圾箱的提醒,和没人看的提醒一样没用。如果你的提醒落在那里,请负责你邮箱的人检查网站是怎么发邮件的。SPF、DKIM 和 DMARC 详解介绍了相关的记录。
- 不要把提醒转进一个你从不打开的文件夹。 如果你更想每周看一次,就开启摘要。
没有消息也要检查。如果好几个月没收到任何邮件,发一封测试邮件,并在插件界面里查看上一次扫描的日期。已经停止运行的扫描同样不会发出任何东西。
提醒出错的时候
误报是指对一个没有问题的东西给出了发现项。忽略之前:
- 打开这条发现项,看它指的是哪个文件或设置,
- 如果是 WordPress、插件或主题文件,和同一版本的全新副本对比,
- 问建站的人有没有改过,
- 到 WordPress.org 上该插件的支持论坛反馈,附上检查项名称和你看到的情况。
不要因为一条误报就关掉整个检查项。否则下一条真正的发现项就不会被报出来。
Ensomedia Security 如何处理提醒
以下是 Ensomedia Security 的代码和说明文件对其提醒的描述:
- 每次扫描一封邮件,只包含达到你所设阈值、且是新出现或变严重的问题,每天最多四封。超出上限的内容会等到下一封邮件。你自己点击“立即扫描”发起的扫描不发邮件,因为你已经在看结果了。
- 三档阈值,位于“设置”中的“邮件提醒”:“仅严重问题”、“严重问题”(默认)和“含较轻问题”。“发送至”最多可填五个地址,“发送测试邮件”可以确认邮件是否送达。
- 立即发送的情况:有账号变成管理员,以及管理员用户名因登录失败被锁定。锁定邮件每个网站每天最多三封。
- 每周摘要在每周一发送,默认关闭,需要自己开启。
- 无法运行的检查不会发邮件,也不会把任何东西标为已修复,所以 WordPress.org 出现故障时插件保持安静。
- 不确定的发现项从不发邮件。 它们归入“请开发者检查”。单个弱信号(例如文件里的 base64)从来不算发现项,只有高置信度的发现项才会发邮件。
- “忽略” 会让一条发现项不计入得分和提醒,被忽略的文件如果再次变动会重新出现。
所有检查、每日定时扫描(默认为网站时间 03:00)和邮件提醒都是免费的,无需账号。详情见插件页面。
从外部检测你的网站。 在 shieldwave.io 输入你的网址。大约需要 90 秒,不需要密码,也不需要安装插件。