指南 · 约 3 分钟阅读

如何免费检查网站安全

简短回答:先运行一次免费的被动扫描(例如 HackGrade 的 A–F 评级),然后自己确认几项基础:HTTPS 和有效证书、主要的安全响应头、邮件域名的 SPF 和 DMARC 记录、软件已更新,以及没有可公开访问的备份或配置文件。这些都可以从外部安全地检查,大约十分钟即可完成。

更新于 · HackGrade

快速步骤

  1. 运行被动扫描. 在不进行任何攻击的情况下,获得总体评级和按优先级排序的问题列表。
  2. 检查 HTTPS 和证书. 确认 http:// 会重定向到 https://,且证书有效、没有临近过期。
  3. 检查安全响应头. 查找 Strict-Transport-Security、Content-Security-Policy、X-Frame-Options、X-Content-Type-Options 和 Referrer-Policy。
  4. 检查邮件记录. 查询域名上的 SPF TXT 记录,以及 _dmarc.你的域名 上的 DMARC TXT 记录。
  5. 检查软件更新. 更新 CMS、插件和主题,并删除不再使用的。
  6. 检查暴露的文件. 确认 .env、.git 和备份等文件无法从你自己的网站下载。

代码和配置保持英文。

1. 运行被动扫描

被动扫描只读取任何访客的浏览器本来就能看到的内容:网页、响应头、证书和公共 DNS。它不会登录、不会提交表单,也不会尝试攻击,因此可以放心地在线上网站运行。HackGrade 的免费扫描正是这样做的,并把结果转换为 A–F 评级,同时解释最先要做的三项修复。A–F 评级是如何计算的。

2. 检查 HTTPS 和证书

你的普通 HTTP 地址应当以永久重定向(301 或 308)跳转到 HTTPS:

Terminal
curl -sI http://yourdomain.com | head -n 3

然后查看证书的有效期和签发者:

Terminal
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

更多细节见 我的 SSL 证书配置正确吗?

3. 检查安全响应头

Terminal
curl -sI https://yourdomain.com | grep -iE 'strict-transport|content-security|x-frame|x-content-type|referrer-policy|permissions-policy'

缺少哪一行,就说明缺少哪个响应头。安全响应头指南提供适用于 nginx、Apache、Cloudflare 和 WordPress 的可复制修复方法。

4. 检查邮件记录(SPF 和 DMARC)

Terminal
dig +short TXT yourdomain.com | grep -i spf
dig +short TXT _dmarc.yourdomain.com

没有 SPF 或 DMARC 记录,任何人都可以发送冒充你域名的邮件。参见通俗讲解 SPF、DKIM 和 DMARC。

5. 检查软件更新

在 WordPress 中,打开仪表盘 → 更新。过时的插件是小网站被入侵最常见的途径。参见如何找出存在已知漏洞的过时插件。

6. 检查暴露的文件(仅限你自己的网站)

下面每一项都应返回 403 或 404,绝不能是 200:

Terminal
for p in .env .git/HEAD wp-config.php.bak backup.zip; do
  printf '%s ' "$p"; curl -s -o /dev/null -w '%{http_code}\n' "https://yourdomain.com/$p"
done

如果有任何一项返回 200,请按照屏蔽暴露的 .git、.env 和备份文件处理,并更换该文件中包含的所有密码或密钥。

免费检查看不到什么

远程检查看到的是互联网能看到的内容。它无法读取你服务器上的文件、数据库或主机控制面板,所以好的评级是一个有力的信号,而不是保证。更深入的测试(暴露的文件、注入测试、结账逻辑)只应在你拥有的网站上、在获得许可的情况下运行。HackGrade 只会在你验证域名并接受扫描授权协议后才运行这些测试。

常见问题

扫描自己的网站合法吗?

可以,检查自己的网站没有问题。被动扫描只读取公开信息,和浏览器一样。主动测试只应在你拥有或获得授权测试的网站上进行。

安全扫描会拖慢或弄坏我的网站吗?

被动扫描只发出少量普通请求,大致相当于一位访客,因此不会影响正常网站。

应该多久检查一次网站安全?

每次重要变更(新插件、主题、更换主机或修改 DNS)之后,以及至少每月一次。证书会过期,而且每周都有新的插件漏洞被公布。

评级好是否意味着我的网站不会被入侵?

不是。它说明从外部可见的问题状况良好。请保持软件更新,使用强且唯一的密码并开启两步验证,并保留经过测试的备份。

参考资料

相关指南

免费 · 即时 · 无需注册

抢在别人之前了解你的评级。

被动扫描。未经你的许可,不会进行任何攻击性检测。

免费开始。付费套餐每月 12 美元起,或 29 美元购买单次报告。 查看价格