如何使用Bitwarden在Active Directory上进行密码保护
Bitwarden是用于管理密码的绝佳工具。 它具有适用于每个平台的应用程序,浏览器插件和自托管版本,并且提供了一些很棒的密码管理技巧,例如文件夹和集合。 我最喜欢的功能之一是它将保留您的旧密码的历史记录,这对企业用户来说是一个很棒的功能。
如果您是企业用户,则您可能是Bitwarden的自托管主机,并希望将您的用户与人员目录同步。 我的组织使用Active Directory(AD),这是用户目录的标准,并且与Windows桌面无缝集成。 我还需要它与我们的开源工具配合使用,这就是本文共享的秘密之处。
允许您执行此操作的工具是Bitwarden目录连接器 (BWDC)。 如果您进行Google搜索,则不会在Linux上找到有关将BWDC与AD一起使用的更多信息。 如果您使用的是Windows版本,则Bitwarden的博客是一个不错的起点,但并不能帮助您将其集成到Linux环境中。 您可以在Bitwarden的GitHub页面上找到执行此操作的说明,但它们并不十分清楚。 因此,在这里,我将说明如何使您的Linux自托管版本的Bitwarden与您的企业Active Directory集成(并希望为将来寻找此信息的Google搜索者提供更有益的结果)。
在我的设置中,Bitwarden和Active Directory都托管在AWS上,前者托管在EC2实例中,后者托管在AWS Simple Directory中。 Bitwarden Docker容器安装在名为bitwarden的用户的主目录中。 Bitwarden的说明使其易于设置。 但是,设置BWDC尚不清楚,因此我将尝试在此处进行修复。
安装BWDC
首先为BWDC设置目录,然后下载ZIP文件并将其解压缩:
cd /home/bitwarden
mkdir directory-connector
cd directory-connector
wget https://github.com/bitwarden/directory-connector/releases/download/v2.6.2/bwdc-linux-2.6.2.zip
unzip bwdc-linux-2.6.2.zip
chmod +x bwdc
(在撰写本文时,BWDC 2.6.2是当前版本;可能会更改,因此请确保下载最新版本。)
您现在将拥有一个名为bwdc的二进制文件和一个名为keytar.node的文件; 将两个文件都放在正确的位置。
接下来,编辑位智者用户的个人资料:
vi /home/bitwarden/.profile
并添加以下行:
export BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS=true
export PATH=$PATH:/home/bitwarden/directory-connector
注销并重新登录以获取新设置,或者您可以通过以下方式获取配置文件:
. ~/.profile
BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS = true行告诉BWDC不要使用任何基于桌面的密钥库。 由于这是一台服务器,不太可能安装台式机,因此您必须将密码保留为纯文本格式(但是稍后将采取预防措施来保护它)。 第二行设置了bwdc二进制文件的路径,因此它可以从您所在的任何目录中运行。
配置BWDC
一旦安装了BWDC,请将其配置为连接到您的Bitwarden实例:
bwdc login
? Email address: <your email for your master account>
? Master password: [hidden]
登录后,就可以使用data.json文件了。
如果使用上述步骤设置BWDC,则其配置信息将存储在/home/bitwarden/.config/Bitwarden Directory Connector / data.json中 。 该文件包含appId和访问令牌 ; 这些是您的Bitwarden实例的登录凭据。 但是您说Active Directory呢? 您可以通过编辑data.json文件来手动添加(我假设您在服务器上并且正在使用Vi):
vi '/home/bitwarden/.config/Bitwarden Directory Connector/data.json'
在appId行下方添加以下内容:
"rememberEmail": true,
"rememberedEmail": "<the email address you logged in with>",
"organizationId": "<your organization id>",
"directoryType": 0,
"directoryConfig_0": {
"ssl": false,
"sslAllowUnauthorized": false,
"port": 389,
"currentUser": false,
"ad": true,
"hostname": "<hostname of your active directory>",
"rootPath": "<root path of AD, something like; dc=com,dc=au>",
"username": "<username with privilege to read the AD; DOMAIN\\Username>",
"password": "<password for the above account>"
},
"directoryConfig_2": {},
"directoryConfig_1": {},
"directoryConfig_3": {},
"syncConfig": {
"users": true,
"groups": true,
"interval": 5,
"removeDisabled": true,
"overwriteExisting": true,
"useEmailPrefixSuffix": false,
"creationDateAttribute": "whenCreated",
"revisionDateAttribute": "whenChanged",
"emailPrefixAttribute": "sAMAccountName",
"memberAttribute": "member",
"userObjectClass": "person",
"groupObjectClass": "group",
"userEmailAttribute": "mail",
"groupNameAttribute": "name",
"userFilter": "(&(memberOf=CN=bitwarden,OU=groups,DC=work,DC=corp))",
"groupPath": "OU=Groups",
"userPath": "CN=Users"
},
"environmentUrls": {
"base": "<base url of your bitwarden instance; https://bitwarden.yourdomain>",
"api": null,
"identity": null,
"webVault": null,
"icons": null,
"notifications": null,
"events": null
},
如果仔细研究,您将发现需要更改此条目中的几个值,包括userFilter , groupPath和userPath 。 (我假设您熟悉LDAP和AD,并且知道这些值对于您的实例应该是什么。)保留CN = bitwarden部分作为您稍后创建的Bitwarden AD组的一部分。 您需要更改的另一个值是OrganizationID ,您可以在bwdata目录中找到该ID作为JSON文件之一的名称。 列出文件:
ls /home/bitwarden/bwdata/core/licenses/organization
这应该返回目录列表,其中包含单个文件名,格式为<organization id> .json 。 文件名本身就是您组织的ID。 将其插入以上代码中的organizationID行中。
正确获取data.json文件后, 强烈建议您备份此文件 。 如果BWDC发现与此文件有关的问题,则似乎有一个问题将此文件设置为默认设置。 这意味着,如果您无辜地对该文件进行了更改并且有错误,则将丢失整个配置。
接下来,以位智能用户的身份测试与AD的连接性:
bwdc test
这应该返回您广告中组的转储。 为了保护您的密码,请对该文件设置权限,以便只有位高位用户才能读取它:
chmod 700 '/home/bitwarden/.config/Bitwarden Directory Connector/data.json'
建立你的小组
现在将一个组添加到您的广告中(我的组称为bitwarden ),您将在其中添加和删除需要访问Bitwarden的用户。 该组是必需的,因为如果您不基于此组过滤用户,则BWDC会尝试使用AD中的所有用户。 如果用户数量大于您的Bitwarden许可所允许的数量,则BWDC将无声地失败,并且您将恨自己很长时间……。 就像我一样!
组建立并拥有至少一个用户后,请再次运行测试。 您应该在输出中看到用户的电子邮件地址。
现在该同步了。 同步后,出现在bitwarden组中的所有用户都将被添加到Bitwarden,并且将向他们发送电子邮件以邀请他们注册。 以位用户身份使用以下命令同步目录:
bwdc sync
假设data.json文件中的removeDisabled设置为true ,则可以设置cron作业以使bitwarden组的成员和Bitwarden用户保持恒定同步,以便您在AD中所做的任何更改都立即反映在您的Bitwarden实例。 将以下内容添加到您的/ etc / crontab中 :
# Sync for Active Directory to Bitwarden
* * * * * bitwarden export BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS=true ; /home/bitwarden/directory-connector/bwdc sync >/dev/null 2>&1
完成自动同步后,您将在Bitwarden中获得所有广告组的完整列表。 从那里开始,只需将一个组分配给一个集合,然后将成员添加到AD中的组,这很简单。 将自动为用户分配正确的密码集合,并查看他们所需的密码。
潜在陷阱
最后,我将告诉您一些有关设置的陷阱。 首先,请注意AD Primary Group 。 如果您的任何Linux或其他POSIX系统都从AD获得登录凭据,则可能已为用户设置了此选项。 如果该组设置为主要组,则AD似乎不会在该组搜索结果中包括该用户。 这可能会将用户从组中删除,从而失去对集合的访问权限。
https://<your bitwarden site>/#/recover-delete
输入用户注册的电子邮件地址。 他们将收到一封电子邮件,指示他们单击链接以确认删除该帐户。 完成此操作后,可以将用户放回Bitwarden AD组中,并再次进行登录过程。
现在,您知道如何使自托管的Bitwarden与AD一起工作。 我认为您仍然会遇到一些问题,但是只要稍稍耐心和修改配置,它就会起作用。 只是不要在工作后就乱扔它!
翻译自: https://opensource.com/article/19/11/bitwarden-password-protection-active-directory
如何使用Bitwarden在Active Directory上进行密码保护相关推荐
- 在Windows XP 中使用Active Directory(活动目录)
http://www.aiview.com/2005/10/windows_xp_active_directory.html 在Windows XP 中使用Active Directory(活动目录) ...
- java ldap操作实例_Java Spring Security示例教程中的2种设置LDAP Active Directory身份验证的方法...
java ldap操作实例 LDAP身份验证是世界上最流行的企业应用程序身份验证机制之一,而Active Directory (Microsoft为Windows提供的LDAP实现)是另一种广泛使用的 ...
- Java Spring Security示例教程中的2种设置LDAP Active Directory身份验证的方法
LDAP身份验证是全球范围内最流行的企业应用程序身份验证机制之一,而Active Directory (Microsoft针对Windows的LDAP实现)是另一种广泛使用的LDAP服务器. 在许多项 ...
- Nextcloud集成Active Directory(AD)LDAP用户身份验证
1.概述 Nextcloud可以与身份管理解决方案(例如LDAP应用程序或Active Directory)集成在一起,以便LDAP或Active Directory上的用户可以出现在我们的Nextc ...
- Active Directory网域
Active Directory网域 3.1Windows网络的管理方式 3.1.1工作组模式 工作组由一组用网络连接在一起的计算机组成,他们将计算机内的资源共享给用户访问.工作组网络也被称为&quo ...
- 详解MOM2005监控Active Directory:MOM2005系列之二
用MOM2005监控Active Directory 上篇文章中我们介绍了如何部署MOM2005,本文我们来介绍一下如何利用MOM2005监控Active Directory.Active Dire ...
- Active Directory架构管理
Active Directory由对象(用户,计算机,打印机,组等)及其属性(属性)组成.Schema 是Active Directory的重要组件,因为它定义了用于存储数据的所有对象和属性.Acti ...
- python操作Active Directory
该说明基于python3和ldap3 2.5,只在Windows2012 R2的Active Directory上测试过 常见操作 1. 连接 server = Server(ldap_url, us ...
- 查询Active Directory
目录 查询Active Directory BaseDN 过滤规则 LDAP高级搜索语法 LDAP 查找中的位操作 LDAP 查找中的objectCategory和objectClass 查询Acti ...
最新文章
- 1.12 改善你的模型表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- 如何成为一名入门级 iOS 开发者
- 爱摸鱼的Dillonh
- boost::shared_ptr用法测试程序
- BigDecimal转String,int,double及简单操作运算、方法
- 2019 The 19th Zhejiang University Programming Contest
- LINQ to SQL语句(1)之Where
- 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
- linux 启动启动服务_更快地启动Linux
- 试点高校网络教育部分公共基础课统一考试计算机应用基础答案,2019年6月试点高校网络教育部分公共基础课统一考试顺利结束...
- Unity3D内存释放
- librdkafka的安装和使用
- 流媒体技术学习笔记之(七)进阶教程OBS参数与清晰度流畅度的关系
- Android-环境搭建
- arduino调试的流程图_Arduino 的调试以及相关问题
- Alienware Area-51M 安装Win10+Ubuntu18.04 双系统
- java生成二维码(链接生成二维码)
- 微信开发者工具更换默认用户存储目录(User Data)方法
- 复旦python课补考_复旦学姐说:“这段科研,最终帮助我这个零经验小白拿下了量化岗实习!”...
- #一日一图#自己的小窝舒服
热门文章
- 亚马逊 html格式转换,亚马逊七种产品描述常用HTML代码,文字颜色代码让Listing更出彩...
- NIO和Netty经典面试题
- gitlab搭建与使用
- Vue 自定义指令上报 Google Analytics 事件统计
- 解读新突破“中国量子计算机”,真比神威·太湖之光还厉害?
- 2016年第二季度DDoS攻击同比增长129%
- Gallery 相册管理系统项目将不再维护
- 时间选择插件Foundation datepicker
- Hadoop之MapReduce分布式计算
- 2014年第一季度总结报告