账号与安全
JEC 只有一个管理员账号,在首次访问时用初始化令牌创建。账号相关的设置位于设置页的“账号和安全”。
密码与登录
- 密码以 argon2id 哈希存储。
- 同一客户端连续输错 5 次后锁定 15 分钟;部署在反向代理之后时,
JEC_TRUSTED_PROXIES须包含该代理(docker-compose.yml默认已设置),否则锁定将作用于代理之后的全部用户,参见反向代理与 CDN。 - 登录有效期可选 1 天、7 天或 30 天,默认 7 天。
- 修改密码后,其他位置的登录全部退出。
两步验证
在设置页开启两步验证后,登录时还须输入验证器 App 生成的 6 位验证码(TOTP)。开启时,其他位置的登录全部退出。
重置密码
遗失密码或验证器时,可在服务器上重置密码。该操作同时关闭两步验证、注销全部会话并删除全部 API 令牌:
sh
docker exec -it jec /jec reset-password单点登录
“单点登录(OIDC)”模块支持经 OpenID Connect 身份提供方(如 Authelia、Authentik、Keycloak、Google)登录,密码登录照常可用:
- 在身份提供方为 JEC 创建客户端,并登记设置页给出的回调地址。
- 在设置页的“单点登录(OIDC)”中填写发行者地址、客户端 ID 与客户端密钥(公开客户端可不填,登录过程受 PKCE 保护),以及允许登录的人:每行一个经身份提供方验证的邮箱或用户标识(sub)。
- 打开单点登录后,登录页出现对应的登录按钮。
API 令牌
在设置页的“API 令牌”中创建令牌,权限为只读或读写。令牌以 Bearer 方式使用,参见 API。任何令牌都不能修改密码、两步验证与令牌本身。
审计日志
“审计日志”页记录经面板执行的各项操作(GET、HEAD 以外的请求,例如登录、修改设置、下载私钥与导出含密钥的配置),包括操作账号、来源地址、客户端与结果。记录保留一年,可筛选并导出 CSV。
其他安全措施
- 私钥与凭据以 AES-256-GCM 加密存储,界面不回显已保存的密钥;下载私钥须再次输入密码。
- 每个响应均带有安全响应头,包括内容安全策略(CSP);
JEC_HSTS=true时另发送 HSTS。 - 会话 Cookie 具备 CSRF 防护;
JEC_BASE_URL为https地址时,Cookie 仅经 HTTPS 发送。 - 由用户填写地址的通知渠道与部署目标默认只连接公网地址,防止被用于访问内网。