我的网站安全吗?给企业主的 15 分钟自查
今天下午就能在自己网站上完成的六项检查,不用碰代码,另外还有五个该问负责网站的人的问题。
你的网站大概不是你自己做的。几年前有人搭好了它,从那以后一直在运行,只要联系表单能发邮件,网店能收订单,你就没有理由去看看里面是什么样。
大多数所有者只有在出了事之后才想到安全:客户提到有奇怪的跳转,Google 显示了警告,或者主机商暂停了账户。到那时,修复的成本更高,损害也已经造成了。
不需要任何技术知识,你就可以更早发现很多问题。下面是六项检查,加起来大约十五分钟。它们都不碰你的代码,也不会弄坏任何东西。
1. 用 Google 的视角看你的网站
打开 Google,输入 site:yourdomain.com,换成你自己的网址。你会得到 Google 所知的你网站上的全部页面。
翻一翻。你要找的是你不认识的页面:你从没卖过的商品名称、日文或中文的文字、关于药品、赌场或贷款的链接。被入侵的网站常常被悄悄加上成千上万个这样的垃圾页面,因为攻击者想借用你网站在搜索结果里的信誉。Google 甚至为其中一种常见的变种写了指南,叫作日文关键词攻击。
如果你有 Google Search Console 的访问权限,打开左侧的安全问题报告。Google 会在那里列出它在你网站上标记的所有内容。报告是空的,就是好消息。
2. 确认那把小锁是真的
点击浏览器里网址旁边的小锁,打开证书详情。看到期日期。大多数主机套餐里证书会自动续期,但这句话里的“大多数”分量不轻。证书过期,访问者会看到整页的警告。
然后手动输入你的网址,用 http:// 而不是 https://,再分别试试带 www 和不带 www 的。这四个版本都应该落到同一个安全的地址上。如果其中有一个停留在普通的 http,那个版本上的表单发送的数据就是未加密的。
3. 弄清楚上次更新是什么时候
如果你的网站运行在 WordPress 上,并且你能登录,打开仪表盘 > 更新。记下三件事:WordPress 的版本,有多少插件在等待更新,主题有没有待处理的更新。
一年没更新的插件,是 WordPress 网站最常见的入口。Patchstack 是一家追踪 WordPress 漏洞的公司,它年复一年地报告,新漏洞中绝大多数出在插件里,而不是 WordPress 本身。
顺便打开插件页面。凡是标着未启用的,仍然留在你的服务器上。不管开没开,它们的文件常常都可以被直接访问。如果你不用某个插件,请让人把它删掉,而不是只停用。
4. 数一数能登录的人
仍在后台,打开用户,筛选管理员。对每一个名字,问问自己,这个人现在还和你合作吗。
离职的员工,两年前分手的制作公司,修过一个问题的自由职业者:这些账户往往一直存在。每一个都是一个你控制不了的密码,而且可能已经在别处泄露了。把不需要的删掉,保留的要确保使用两步验证。
5. 查查谁能以你的名义发邮件
打开 MXToolbox 这样的免费检查工具,选择 DMARC 查询,输入你的域名。SPF 也同样查一遍。
如果没有 DMARC,任何人都可以发出看起来来自你地址的邮件。你的客户看不出区别,而一张带着你的标志、却把你的银行账号换成别人的假发票,是针对小企业最常见的诈骗之一。自 2024 年起,Gmail 和 Yahoo 还要求批量发信的人必须有 DMARC,所以记录缺失也会影响你真正的邮件订阅。
写着 p=none 的记录虽然存在,但只是在观察。p=quarantine 或 p=reject 才是真正保护你的。切换到它是管理你域名的人的事,在 SPF 和 DKIM 已经就位的情况下,只需几分钟。
6. 问问备份放在哪里
这一项是一个问题,不是一次点击。问负责你网站的人,备份存在哪里。
如果答案是“在同一台服务器上的某个文件夹里”,值得再谈一次。放在网站文件夹里、名字类似 backup.zip 或 site-old.tar.gz 的备份文件,任何猜到地址的人都能下载。里面是你的整个网站,常常包括客户数据库和它的密码。机器人在它访问的每个网站上,都会试这些文件名。
好的备份放在别处,按计划运行,并且至少有人试过一次恢复。
这些检查看不到什么
上面六项检查,涵盖的是你坐在椅子上就能看到的东西。需要工具才能发现的,它们查不到:你的表单是否接收了本该拒绝的输入,带有已知漏洞的旧 JavaScript 库,被遗忘的测试子域名,开放的服务器端口,或者放在谁都能读到的位置的配置文件。
这个缺口,就是我做 ShieldWave 的原因。你输入网址,大约 90 秒内,它会像攻击者那样,从外部运行 20 多项这样的检查。报告用大白话解释每一个发现,把它们分成本周要修、本月要修和以后再修,并给你一份可以直接转发给开发者的说明。第一次检测免费,无需账号。
给负责你网站的人的五个问题
你不需要详细听懂答案。你需要听到的是,有人想过这些问题。
- WordPress、主题和插件上次更新是什么时候,由谁来做?
- 备份存在哪里,多久运行一次,你们恢复过吗?
- 现在谁拥有管理员权限?
- 我们的域名设置了 SPF、DKIM 和 DMARC 吗,DMARC 是隔离还是拒绝?
- 如果网站明天被入侵,你首先会做什么,我会怎么知道?
如果回答含糊,这本身也说明了问题。小企业网站的安全,是例行的维护,很像给汽车做保养。它很少需要大笔预算。它需要有人按计划去查看,而你现在知道了该请他们看什么。