2.启用管理页面
对应的官方页面地址
强烈建议在启用此功能之前激活 HTTPS,以避免潜在的 MITM 攻击。
Vaultwarden 管理面板允许服务器管理员配置 Vaultwarden,查看所有已注册的用户和组织,以及删除它们。它也允许邀请新用户,即使禁用了注册功能。它还提供了一个诊断页面,您可以在其中生成支持字符串。
如何启用管理页面
要启用管理页面,您需要配置一个身份验证令牌。该令牌可以是任何内容,但建议使用一个长且随机生成的字符串,例如,通过运行 openssl rand -base64 48 来生成。
请保管好这个令牌。如果您将其配置为 ADMIN_TOKEN ,它将用作访问服务器管理区域的密码!由于配置通常以明文形式存储,建议保护管理令牌。
您也可以通过禁用管理令牌来启用管理员面板。由于这会给予管理面板无限制的访问权限,因此您只有在清楚自己在做什么的情况下才应该这样做。
会话管理
如果您输入 ADMIN_TOKEN 的密码,您将获得一个授权您使用 /admin 面板的 JSON Web Token (JWT)。管理会话默认长度设置为 20 分钟。您可以通过更改 ADMIN_SESSION_LIFETIME 来配置会话长度。
由于 JWT 的特性以及管理面板没有额外的会话处理,任何拥有有效 JWT 的人都可以使用存储的令牌访问 Vaultwarden 管理页面。更改会话有效期甚至管理令牌本身都不会影响当前已登录的用户,因此您应避免不必要地增加管理会话长度。
要使任何会话失效,可以从 DATA_FOLDER 中移除 rsa_key.pem 然后重启 Vaultwarden 以重新创建 RSA 密钥。
禁用管理页面
要禁用管理页面,请确保没有设置 ADMIN_TOKEN 或 DISABLE_ADMIN_TOKEN 环境变量,并且 config.json(如果该文件存在)中不存在 "admin_token" 键。之后重新创建容器并重启 Vaultwarden 以使更改生效。
保护 ADMIN_TOKEN
[译者注]:此功能自 1.28.0+ 后可用。
您可以通过使用 Argon2 生成 PHC 字符串来对 ADMIN_TOKEN 进行哈希处理。
PHC 字符串可以通过使用内置的 hash 命令或使用 argon2 CLI 工具生成。
使用 vaultwarden hash
vaultwarden hashVaultwarden 内置了一个 PHC 生成器,您可以通过 CLI 调用 vaultwarden hash 来运行它。默认情况下,此命令使用 Bitwarden 的默认设置(m=64 MiB,t=3 迭代,p=4 线程)。您可以通过传递 --preset owasp 来使用 OWASP 最低的推荐设置(m=19MiB,t=2,p=1)。
Vaultwarden hash 命令会要求输入两次密码,如果两次输入的密码相同,则会输出生成的 PHC 字符串。
运行该命令的一些示例:
使用 argon2
argon2您还可以使用大多数 Linux 发行版上提供的 argon2 CLI。
使用已生成的 PHC 字符串
在环境变量中使用已生成的 PHC 字符串作为管理令牌,或者将 PHC 字符串传递给 docker/podman CLI 命令。对于 docker-compose.yml 文件,请按照以下说明操作。
如果您通过 /admin 页面配置了 Vaultwarden,您应该将字符串粘贴到 Admin token/Argon2 PHC 字段(在 General settings 中):
设置 PHC 字符串后,您可以使用生成 PHC 字符串时使用的密码登录,例如上述示例中的 MySecretPassword 来登录。
如果您可以将整个 $argon2id$… PHC 字符串作为管理密码输入,那么您可能正在使用一个过时的 Vaultwarden 版本,该版本尚未支持 argon2id。请确保您至少在使用最新版本。
如何防止 docker-compose.yml 中的变量插值
docker-compose.yml 中的变量插值当使用 Docker Compose 并且您通过 environment 指令配置 ADMIN_TOKEN 时,您需要使用两个美元符号 $$ 来转义已生成的 argon2 PHC 字符串中出现的所有五个美元符号 $ 以防止变量插值,例如:
这可以自动完成,例如通过在上面的 argon2 命令行的末尾添加 | sed 's#\$#\$\$#g' 并使用 sed 来完成。
否则您将收到警告消息,变量将无法正确设置:
当为 docker-compose.yaml 使用 .env 文件时,不需要变量插值。如下面的示例所示。在这种情况下,只需使用单个 $ 变体。与使用 docker/podman CLI 时使用 -e ADMIN_TOKEN ,或者在配置为 Vaultwarden 使用 ENV_FILE 的方式相同。
.env:
确保在 docker-compose 所使用的 env 文件中使用单引号。
docker-compose.yaml:
您可以通过调用 docker compose config 来检查您的配置,您应该会看到 $ 符号已转义成了两个 $$。
故障排除提示
如果您一直收到 You are using a plain text ADMIN_TOKEN which is insecure. 消息,则说明您要么已经通过管理界面保存了设置,环境变量将不会被使用(请参阅配置优先级)。或者您需要验证是否使用了正确的格式。
您需要确保配置的 PHC 字符串被正确传递给 Vaultwarden,以避免实际值被加上不必要的引号(如 ' 或 " )包围,以及避免美元符号 $ 被重复转义为 $$,比如把
$argon2id$v=19$m=65540… 变成 $$argon2id$$v=19$$m=65540… 。
如果您使用环境变量传递了该配置,可以通过调用 printenv ADMIN_TOKEN (或者如果您使用 Docker,则运行 docker exec vwcontainer printenv ADMIN_TOKEN )来检查输出结果是否仅返回配置的 PHC 字符串,例如:
或者,如果您使用管理页面配置 Vaultwarden,可以通过运行 grep admin_token data/config.json 来检查是否返回预期的 PHC 字符串,如下所示:
使用 Vaultwarden 管理面板
设置
您在管理页面首次保存配置时,将在您的 DATA_FOLDER 中生成一个名为 config.json 的文件。该文件中的值将优先于相应的环境变量。
创建 config.json 会为当前配置中的大多数值设置默认值,因此您将来需要使用管理面板来配置您的实例。唯一的例外是只读部分中的配置选项以及更高级的配置选项。
在您点击 Save 按钮之前,管理页面中的配置更改是不会生效的。例如,如果您正在测试 SMTP 设置,您更改了 SMTP Auth mechanism 设置,然后点击 Send test email 来测试更改,这将不会像预期的那样工作 -- 因为您没有点击 Save,SMTP Auth mechanism 的更改不会生效。
用户
用户概览允许您管理所有用户账户,并检查他们是否已完成注册,他们加入了哪些组织以及他们的用户角色是什么。组织的颜色表示用户的当前角色:蓝色表示普通用户,绿色表示经理/自定义角色,紫色表示管理员,橙色表示所有者。
通过右侧的操作,您可以移除 2FA 提供程序,为用户取消授权任何现有会话,以及禁用或删除任何用户。
如果您点击组织按钮,也可以更改指定成员的角色。
由于组织至少需要一位所有者,因此您无法移除最后一位所有者的所有者角色。
您也无法通过管理面板将用户添加到组织中。您只能将组织中的现有成员晋升为其他角色。
组织
在组织概览中,您可以删除任何组织。由于您无法删除组织的最后一位所有者,您可能必须先删除所有者的组织。
诊断
诊断页面会收集一些基本信息,有助于定位某些配置错误,同时也会检查是否有可用更新。这也是您可以生成支持字符串的页面,该字符串会自动收集您系统中的最重要信息,并使其易于分享到我们的问题追踪系统(以及我们的支持论坛)。
最后更新于