4.启用管理页面
对应的官方页面地址
强烈建议在启用此功能之前激活 HTTPS,以避免潜在的 MITM 攻击。
该页面允许服务器管理员查看并删除所有已注册的用户。它也允许邀请新用户,即使禁用了注册功能。
要启用管理页面,您需要设置一组身份验证令牌。该令牌可以是任何字符,但建议使用随机生成的长字符串,比如运行 openssl rand -base64 48
命令生成。
此令牌是您访问服务器管理区域的密码!请确保其安全性。您该如何确保管理令牌的安全。
要设置令牌,请使用 ADMIN_TOKEN
变量:
此后,管理页面将在 /admin
子目录中可用。
在管理页面首次保存设置时,将自动在 DATA_FOLDER
文件夹中生成 config.json
文件。该文件中的值优先于环境变量值。
需要注意的是,在您点击 Save
按钮之前,管理页面中的配置更改是不会生效的。例如,如果您正在测试 SMTP 设置,您更改了 SMTP Auth mechanism
设置,然后点击 Send test email
来测试更改,这将不会像预期的那样工作 -- 因为您没有点击 Save
,SMTP Auth mechanism
的更改不会生效。
注意:更改 ADMIN_TOKEN
后,当前已登录的任何管理员仍可以使用他们现有的登录会话直到到期。管理会话生命周期是可配置的,默认为 20 分钟。
禁用管理页面
要禁用管理页面,您必须取消设置 ADMIN_TOKEN
并重新启动 Vaultwarden。
注意:如果环境变量 ADMIN_TOKEN
的值持续保留在上述的 config.json
文件中,则移除环境变量 ADMIN_TOKEN
并不会禁用管理页面。要禁用管理页面,请确保没有设置 ADMIN_TOKEN
环境变量,并且 config.json
(如果该文件存在)中不存在 "admin_token"
键。
保护 ADMIN_TOKEN
此功能自 1.28.0+ 后可用。
优先使用环境变量。
但是,如果您通过管理界面更新了设置,则需要通过相同的 Web 界面更新管理令牌!
请不要手动编辑 config.json
文件,因为如果操作不当可能会引起故障!
要在保护令牌后登录管理页面,您需要使用令牌创建期间提供的密码(而不是令牌本身)。
以前 ADMIN_TOKEN
只能是纯文本格式。您现在可以通过生成 PHC 字符串来使用 Argon2 对 ADMIN_TOKEN
进行哈希处理。这可以通过使用 Vaultwarden 中的内置 hash
命令或使用 argon2
CLI 工具生成。在 Vaultwarden 应用程序中,有两个预设,一个使用 Bitwarden 默认的,一个使用 OWASP 推荐。
如果您一直收到 You are using a plain text ADMIN_TOKEN which is insecure.
消息,则说明您要么已经通过管理界面保存了设置,环境变量将不会被使用,或者您需要确认使用的格式是否正确。请仔细阅读下面的如何防止 docker-compose.yml 中的变量插值部分。
有关如何生成 Argon2id PHC 哈希的一些示例。
使用 vaultwarden hash
vaultwarden hash
Vaultwarden 中内置了一个 PHC 生成器,您可以通过 CLI vaultwarden hash
运行它。这可以通过已经运行的实例上的 docker exec
来完成,或者通过在您自己的系统上的 docker 在本地运行它。
下面使用 vwcontainer
作为容器名称,请将其替换为您的实例的正确容器名称。Vaultwarden CLI 会要求输入两次密码,如果两次相同,它将输出已生成的 PHC 字符串。
示例:
使用 argon2
argon2
您还可以使用大多数 Linux 发行版上提供的 argon2
CLI。
请在您的 docker/podman CLI 命令中使用这些字符串。对于 docker-compose.yml
文件,请按照以下说明操作。如果您使用的是已有的设置,请不要忘记通过管理界面更新您的密码/令牌。
如何防止 docker-compose.yml
中的变量插值
docker-compose.yml
中的变量插值当使用 Docker Compose 并通过 environment
指令配置 ADMIN_TOKEN
时,您需要使用两个美元符号 $$
来转义已生成的 argon2 PHC 字符串中出现的所有五个美元符号 $
以防止变量插值,例如:
这可以自动完成,例如通过添加 | sed 's#$#$$#g'
到上面的 argon2
命令行的末尾。
否则您将收到警告消息并且变量将无法正确设置:
为 docker-compose.yaml
使用 .env
文件时情况并非如此。如下所示。在这种情况下,只需使用单个 $
变量。与使用 -e ADMIN_TOKEN
的 docker/podman cli 相同。
.env:
确保在 docker-compose 所使用的 env
文件中使用单引号。
docker-compose.yaml:
您可以通过调用 docker compose config
来检查您的配置,您应该会看到 $
符号转义成了两个 $$
。
最后更新于