在LXC容器中安装Bitwarden密码管理器的完整指南

102 阅读1分钟

在LXC容器中安装Bitwarden(例如Proxmox环境)

背景与动机

作为注重安全的技术人员,我坚信不可从互联网直接访问的服务更难以被攻击。对于密码管理器而言,选择变得困难:KeePass及其衍生品仅依赖主密码和终端设备安全,而Lastpass或1Password等云服务的双因素认证重置功能存在安全隐患。

Bitwarden提供了与商业密码管理器相同的功能级别,但它是开源的,可以在自有服务器上托管。通过不向互联网开放且仅通过VPN远程访问,极大地减少了攻击面。

LXC容器配置

使用Debian 9创建LXC容器(2GB内存,>5GB硬盘)后,不要立即启动。首先在/etc/modules-load.d/modules.conf中添加:

aufs
overlay

若不希望启动时加载模块,可运行:

modprobe aufs
modprobe overlay

此步骤可避免安装体积膨胀(超过30GB)。接着在/etc/pve/lxc/.conf中添加:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

Docker与Docker Compose安装

安装Docker所需依赖:

apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

添加Docker仓库:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

安装Docker:

apt-get update && apt-get install docker-ce

由于Debian自带的Docker Compose版本过旧,需要手动安装:

curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

将/usr/local/bin/添加到PATH环境变量中。

Bitwarden部署

执行以下命令完成安装:

curl -s -o bitwarden.sh https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh
chmod +x bitwarden.sh
./bitwarden.sh install
./bitwarden.sh start
./bitwarden.sh updatedb

现在您已拥有支持Google Authenticator(基于时间的一次性密码算法TOTP)作为第二因素的自托管密码管理器服务器。

注意事项

当前配置仅适用于特权容器,存在一定安全风险。若发现非特权容器的解决方案,欢迎通过邮件或评论分享。