Appearance
安全功能
DStatus 的安全功能分两类:一类需要你按需开启,另一类系统会默认保护。建议先保证能稳定登录,再逐步增强,不要一次打开所有开关。
建议开启顺序
- 先配置通知渠道,确保登录异常和入口变化能收到提醒。
- 开启 2FA,并保存备份码。
- 如需 GitHub 登录,先完成 GitHub OAuth 配置和账号绑定,再考虑禁用密码登录。
- 开启动态登录入口前,确认通知可用。
- 已经配置 HTTPS 和反向代理后,再开启 HSTS、强制 HTTPS、Secure Cookie。
- 面板暴露在公网时,优先考虑前后台域名分离。
- 不希望 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 验证。