云网牛站
所在位置:首页 > Linux安全 > 使用Bitwarden和Podman管理Fedora系统上的密码

使用Bitwarden和Podman管理Fedora系统上的密码

2019-07-27 21:41:35作者:自源稿源:云网牛站

本文介绍使用Bitwarden和Podman管理Fedora Linux系统上的密码的方法。

使用Bitwarden和Podman管理Fedora系统上的密码

 

前言

常见且被推荐的密码管理器,比如有LastPass、1Password或Dashlane,密码管理器消除了记住所有网站密码的负担,您不再需要重新使用密码或使用易于记忆的密码,相反,您只需要记住一个可以解锁所有其他密码的密码。

通过使用一个强密码而​​不是弱密码,这可以使您更安全,如果您有基于云的密码管理器(如LastPass、1Password或Dashlane),您还可以跨设备同步密码,不幸的是,这些产品都不是开源的,不过有可用的开源替代品,以下讲讲开源密码管理器。

这些替代品包括Bitwarden、LessPass或KeePass,Bitwarden是一个开源密码管理器,它存储在服务器上加密所有密码,其工作方式与LastPass、1Password或Dashlane相同,LessPass有点不同,因为它专注于成为无状态密码管理器,这意味着它根据主密码、网站和用户名导出密码,而不是存储加密的密码,另一方面,KeePass是一个基于文件的密码管理器,它的插件和应用程序具有很大的灵活性。

这三个应用程序中的每一个都有其自身的缺点,Bitwarden将所有东西存储在一个地方,并通过其API和网站界面暴露给网络,LessPass无法存储自定义密码,因为它是无状态的,因此您需要使用其派生密码,KeePass是一个基于文件的密码管理器,无法在设备之间轻松同步,您可以将云存储提供程序与WebDAV一起使用来解决此问题,但是许多客户端不支持它,如果设备无法正确同步,您可能会遇到文件冲突。

本文重点介绍Bitwarden,参考在Linux上安装BitWarden开源密码管理器的方法

 

运行非官方的Bitwarden实现

服务器及其API的社区实现称为bitwarden_rs,这个实现是完全开源的,因为它可以使用SQLite或MariaDB/MySQL,而不是官方服务器使用的专有Microsoft SQL Server(参考:在RHEL/CentOS 8上安装Microsoft SQL Server的方法)。

重要的是要认识到官方和非官方版本之间存在一些差异,例如,官方服务器已经过第三方审核,而非官方服务器则没有,在实现方面,非官方版本缺少电子邮件确认和支持使用Duo或电子邮件代码进行双因素身份验证。

让我们开始使用SELinux来运行服务器,根据bitwarden_rs的文档,您可以构建一个Podman命令(参考:在CentOS 7、Fedora 30/29/28上安装Podman的方法),如下所示:

$ podman run -d \ 

 --userns=keep-id \

 --name bitwarden \

 -e SIGNUPS_ALLOWED=false \

 -e ROCKET_PORT=8080 \

 -v /home/egustavs/Bitwarden/bw-data/:/data/:Z \

 -p 8080:8080 \

 bitwardenrs/server:latest

这将下载bitwarden_rs映像并在用户命名空间下的用户容器中运行它,它使用1024以上的端口,以便非root用户可以绑定它,它还会更改卷的SELinux上下文,:Z以防止读写/数据的权限问题。

可以使用命令更改卷的SELinux上下文,以防止读/写/数据的权限问题。

如果您在域下托管它,建议将此服务器放在Apache或Nginx的反向代理下,这样,您可以使用80和443端口指向容器的8080端口,而无需以root身份运行容器。

 

在systemd下运行

随着Bitwarden的运行,您可能希望保持这种状态,接下来,创建一个使容器保持运行的单元文件,如果它没有响应则自动重新启动,并在系统重新启动后开始运行,将此文件创建为/etc/systemd/system/bitwarden.service:

[Unit]

Description=Bitwarden Podman container

Wants=syslog.service

[Service]

User=egustavs

Group=egustavs

TimeoutStartSec=0

ExecStart=/usr/bin/podman run 'bitwarden'

ExecStop=-/usr/bin/podman stop -t 10 'bitwarden'

Restart=always

RestartSec=30s

KillMode=none

[Install]

WantedBy=multi-user.target

现在,使用sudo启用并启动它:

$ sudo systemctl enable bitwarden.service && sudo systemctl start bitwarden.service

$ systemctl status bitwarden.service

bitwarden.service - Bitwarden Podman container

Loaded: loaded (/etc/systemd/system/bitwarden.service; enabled; vendor preset: disabled)

Active: active (running) since Tue 2019-07-09 20:23:16 UTC; 1 day 14h ago

Main PID: 14861 (podman)

Tasks: 44 (limit: 4696)

Memory: 463.4M

成功,Bitwarden现在在系统下运行并将继续运行。

 

添加LetsEncrypt

如果您有一个域,强烈建议您通过加密通道运行你的Bitwarden实例,如LetsEncrypt, Certbot是一个为我们创建LetsEncrypt证书的工具,参考使用Certbot:在Linux上安装letsencrypt的最简单方法

生成证书后,您可以按照有关HTTPS的bitwarden_rs指南进行操作,记得要追加:Z附加到LetsEncrypt卷以处理权限而不更改端口。

 

相关主题

安装以使用Podman可以在非root权限中运行Linux容器

精选文章
热门文章