部署矿神版本VaultWarden

VaultWarden是一个非常优秀的密码管理器,之前使用1Password,一年不少的订阅费用,切换到VaultWarden,开源免费,自托管安全可靠。

VaultWarden可以使用Docker快速部署,也可以使用矿神源的VaultWarden。

Docker部署版本使用上存在如下问题:

  1. 无法感知到新版本;
  2. 注册表总是抽风不可用。

直接使用矿神源的VaultWarden,则定期自动升级套件即可。

1. 创建专用共享文件夹

专门为VaultWarden创建一个共享文件夹,该文件夹启用加密特性。

设置好加密密钥,并且勾选将加密密钥添加到密钥管理器,这样在设备重启时可以自动挂载该共享文件夹目录,避免还需要手动执行挂载才能使用VaultWarden服务的情况。

2. 安装矿神源VaultWarden

矿神源地址如下:https://spk7.imnks.com/

配置好后,可在套件中心的“社群”分类中找到VaultWarden

安装该套件。

3. VaultWarden套件配置

3.1. 修改主数据文件夹

安装好后,从桌面打开VaultWarden,将打开配置窗口。

找到数据文件夹分类设置,修改主数据文件夹的路径,让数据可以在Web Portal中管理,若不修改,则数据缺省将保存在如下目录中/volume1/@appdata/Vaultwarden/data,并且属主为Vaultwarden,内容将无法通过DSM Portal看到并管理,最致命的是无法通过HyperVault来执行备份。

为了让数据更方便、安静地控制在自己的手中,修改主数据文件夹的位置。

在新创建的VaultWarden共享文件夹下创建data目录,作为VaultWarden的主数据目录。

接下来要注意修改/volume1/VaultWarden/volume1/VaultWarden/data目录的权限,使得Vaultwarden用户可以读写。

常规页签中的内容不变,不用变更拥有者。切换到权限页签,新增一个用户权限,用户名为Vaultwarden,权限赋予读取和写入的所有权限,并勾选应用到这个文件夹、子文件夹及文件

修改如下内容:

## 主数据文件夹
# DATA_FOLDER=data

为:

## 4. 主数据文件夹
DATA_FOLDER=/volume1/VaultWarden/data

在套件中心重启VaultWarden套件,这时,在File Station中可见的共享文件夹中就有VaultWarden的所有数据了。

3.2. 允许新用户注册

常规设置分类中,设置VaultWarden允许注册。

修改:

## 5. 控制新用户是否可以注册
# SIGNUPS_ALLOWED=true

为:

## 控制新用户是否可以注册
SIGNUPS_ALLOWED=true

在套件中心重启VaultWarden套件。

3.3. 设置ADMIN_TOKEN

高级设置分类中,找到管理界面令牌的Token设置,修改掉默认的ADMIN_TOKEN为一个新的随机串(手动改一下原来的字符串的部分字符也可)。

修改:

# ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$MmeKRnGK5RW5mJS7h3TOL89GrpLPXJPAtTK8FTqj9HM$DqsstvoSAETl9YhnsXbf43WeaUwJC6JhViIvuPoig78'

为:

#  ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$MmeKRnGK5RW5mJS7h3TOL89GrpLPXJPAtTK8FTqj9HM$DqsstvoSAETl9YhnsXbf43WeaUwJC6JhViIvuPoig78'

ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$MmeKRnGK5RW5mdjfdskjgkdfjgkdfjdfkjgfdkgjdfkgjdfksl4jkdjgfkjgfkggfkjlhkfldljgdkjgkjfgjfk'

注:上述为示例,非真实TOKEN。

在套件中心重启VaultWarden套件。

4. 防火墙设置

此时,需要在防火墙上放开全链路合适的访问权限,并创建第一个用户。

因此,需要在DSM上设置仅允许从WAF服务器来访问8507端口:

然后在WAF所在的192.168.3.10服务器上设置允许所有至开放的公网VaultWarden端口的访问:

然后,在WAF防火墙中新建反代的站点:

至此,则可以通过公网访问VaultWarden了:

5. 创建第一个用户

此时,若不想再开放新用户注册,强烈建议回到VaultWarden配置中,关闭允许新用户注册,参考3.2章节。

将配置项修改为:

## 控制新用户是否可以注册
SIGNUPS_ALLOWED=false

6. 导入密码库数据

如果是从旧的密码切换到新建的密码库,则通过导出导入将密码数据导入到新的密码库中。

7. 密码库安全设置之设置“两步登录”验证TOTP

必须为用户启用两步登录,以保证身份认证的安全。在设置 -> 安全设置中,切换到“两步登录”,启用“验证器App”的TOTP认证。

启用后,再次登录需要校验TOTP:

至此,VaultWarden配置完成。

8. 备份VaultWarden数据

最后,VaultWarden数据的重要性不言而喻,那么我们需要遵从3-2-1,甚至3-2-1-1的备份策略保护数据的完整性与机密性。建立 3-2-1 备份策略,即至少要有 3 份数据备份,将这些备份存放在 2 种不同的存储设备上,至少异地备份 1 份,避免硬件或软件的故障、数据损坏、勒索病毒攻击造成的数据丢失。

整体的措施如下图所示:

其中:

  • 3 : 一共需要3份副本,本方案中3份副本如下:
    • 生产一份数据;
    • 生产通过Snapshot Replication复制快照至另一个存储空间一份;
    • 生产通过Hyper Backup备份至远程NAS一份(容灾);
  • 2 : 存储在2种介质上,其中本地NAS存储在2个不同的存储空间上;
  • 1 : 一份远程,异地容灾一份快照;
  • 1 : 一份不可变存储,异地容灾的备份再通过Snapshot Replication复制到WORM的共享文件夹中;

8.1. Snapshot Replication本地快照计划

打开Snapshot Replication,设置快照计划:

该快照是创建在存储空间本地的。为了保持多副本在不同介质上,再创建复制计划:

8.2. Snapshot Replication本地复制计划

将数据在本地NAS上从存储空间1复制一份至存储空间2

是否再“复制计划拍摄的本地快照”,这个可以勾选也可以不再重复复制。

复制计划将新创建一个VaultWarden-1的共享文件夹,并且将继承源共享文件夹的加密特性及加密密钥,需要保持为卸载状态,以保证复制任务可以正常执行。

8.3. HyperBackup远程备份计划

先在远程NAS目标端创建一个加密的共享文件夹:

在本地启用Hyper Backup,并按照向导一步一步配置备份任务。

注意:需要在目标服务器上在防火墙上开放6281端口,否则,可能无法创建备份任务。

立即执行一次远程备份:

8.4. 远程备份本地复制至WORM存储

远程NAS上现在在存储空间1已经有一份加密的备份文件,保险起见,可以再在远程NAS上通过Snapshot Replication将存储空间1的备份复制一份至存储空间2的加密共享文件夹中,并对文件开启WORM不可变特性。

上面配置的远程备份是每天早上8点,远程NAS上的本地复制则设置到上午10点,晚2个小时,保证远程备份已完成。

配置好后,系统将立即执行首次复制:

至此,全部妥当。

转载请注明来源:星期九 » 部署矿神版本VaultWarden

相关文章

评论 (0)