Skip to content

安全功能

DStatus 的安全功能分两类:一类需要你按需开启,另一类系统会默认保护。建议先保证能稳定登录,再逐步增强,不要一次打开所有开关。

建议开启顺序

  1. 先配置通知渠道,确保登录异常和入口变化能收到提醒。
  2. 开启 2FA,并保存备份码。
  3. 如需 GitHub 登录,先完成 GitHub OAuth 配置和账号绑定,再考虑禁用密码登录。
  4. 开启动态登录入口前,确认通知可用。
  5. 已经配置 HTTPS 和反向代理后,再开启 HSTS、强制 HTTPS、Secure Cookie。
  6. 面板暴露在公网时,优先考虑前后台域名分离。
  7. 不希望 SSH 凭据长期保存在面板数据库里时,使用本地 SSH 保险箱。

账号与登录

2FA 双因子认证

入口:管理后台 → 安全设置 → 认证与登录

2FA 使用认证应用生成动态验证码。启用时会生成备份码,备份码请立即保存;遗失后需要重新生成。

GitHub 登录

入口:管理后台 → 安全设置 → 认证与登录

GitHub 登录适合用外部账号进入后台。配置完成后,建议先测试登录并绑定管理员账号,再决定是否关闭密码登录。

禁用密码登录

入口:管理后台 → 安全设置 → 认证与登录

开启后,后台不再接受密码登录,只保留已配置的 OAuth 登录方式。这个功能要最后打开:先确认 GitHub 登录可用,并保留应急登录方案。

动态登录入口

入口:管理后台 → 安全设置 → 认证与登录

动态入口会把默认登录地址改成随机路径,降低被直接撞登录页的概率。固定提示入口是 /admin-login,用于通过通知找回真实入口。

访问与传输

前后台域名分离

入口:管理后台 → 安全设置 → 网络与访问

前台域名只开放展示页和必要接口,后台域名单独访问管理功能。适合公网部署,特别是希望减少后台入口暴露的场景。

HTTP 安全

入口:管理后台 → 安全设置 → 网络与访问

这里可以开启 Helmet 安全头、HSTS、强制 HTTPS 和 Secure Cookie。只有在 HTTPS、证书和反向代理都配置正确后,再开启强制类选项。

CSP 脚本域名白名单

入口:管理后台 → 安全设置 → 网络与访问

CSP 白名单用于控制哪些外部脚本可以被加载。只有接入可信第三方服务时才添加域名,例如统计、监控或错误追踪服务。

通知与审计

登录事件通知

入口:管理后台 → 安全设置 → 总览

可以接收登录成功、登录失败和账户锁定通知。成功登录可按比例提醒,失败登录会合并重复提醒,减少正常使用时的打扰。

安全状态总览

入口:管理后台 → 安全设置 → 总览

这里可以看到 2FA、GitHub OAuth、登录通知等状态,并进行快捷操作。

审计日志

入口:管理后台 → 审计日志

系统会记录登录、登出、2FA 变更、登录入口变更、GitHub 配置变更等安全事件。审计日志用于排查异常操作,不会记录密码、令牌、密钥等敏感明文。

凭据保护

本地 SSH 保险箱

入口:服务器管理 → SSH 认证相关操作

本地 SSH 保险箱会把 SSH 密码或私钥保存在当前浏览器里。换电脑或换浏览器后不会自动带过去,需要手动导出和导入。

服务端 SSH 凭据加密

面板里保存的 SSH password / passphrase 会做服务端加密。新版本会保存稳定的 SSH 加密密钥,备份恢复或迁移时更不容易因为主机名变化导致旧 SSH 密码失效。

TOTP 密钥加密

2FA 的 TOTP 密钥会加密保存。迁移面板时,如果你使用环境变量覆盖过相关密钥,请同步迁移环境变量。

系统默认保护

这些能力通常不需要你手动配置:

  • 登录失败限速和账户锁定
  • 2FA 验证失败限速
  • “发送登录入口”限速
  • Cookie 登录下的 CSRF 防护
  • JWT 会话与刷新令牌
  • 安全事件审计
  • 敏感字段日志脱敏

应急恢复

忘记管理员密码,或迁移/升级后找不到登录入口时,先看 无法登录时的服务器救援

如果 2FA 设备不可用,请使用备份码。救援脚本不能解除已有的 2FA 验证。

相关页面

DStatus 文档