创业团队有许多公用服务需要内部共享账号密码(比如公众号,官微账号,企业应用市场账号),账号密码应该如何管理?还有各种内部工具,SaaS服务的账号如何管理?本文推荐几个团队账号密码管理工具。

很多人用云笔记或者云盘等工具共享账号密码,不过这是非常不安全的,因为你没办法控制团队里每个人的个人账号的安全级别,一旦个人的账号由于弱密码或者被撞库泄露,那所有的安全都等同虚设。前一段时间一某厂员工的笔记被撞库,黑客用该员工账号在内网游历一圈就是例子。

有一次,我去帮一创业的朋友解决技术问题。需要看下他们的dns,结果他不知道管理账号密码,于是打电话问技术同学。后来又要看云服务的管理后台,结果也不知道,又打电话问技术同学。看了一圈,电话打了几个,密码电话里还说不太清楚,一番折腾。前两天一创业群里又有同学问起这个问题,所以就分享几个团队账号密码管理的工具。

1Password for team

1Password是agilebits出的一款密码管理工具,最近推出了team版本。

1Password是个纯客户端应用,加密方式是公开的,密码数据库在用户的Dropbox或者iCloud上,服务器也不保存用户的主密码,这样避免了1Password自己的服务被黑导致的数据泄露问题。用户如果忘记自己的主密码是无法恢复数据的。如果要盗取用户的密码数据,需要先盗取到用户的iCloud/Dropbox上的密码数据库,再盗取到用户的主密码。所以安全掌握在用户自己手里。

1Password for team 由于要在多个用户之间共享数据,密码数据库要保存到云端。不过1Password依然承诺不保存用户的主密码,云端的数据库是加密过的,每次访问的时候解密。具体的技术说明参看 Introducing 1Password for Teams 

1Password的同步功能是通过桌面客户端实现的,安装浏览器扩展是方便输入账号密码,浏览器扩展里并不会要求用户登陆或者输入主密码,所以避免了网站伪造主密码登陆界面钓鱼的风险。比如,同样的密码管理工具 LastPass这两天就遭遇了网页钓鱼攻击

使用1Password for team比较简单,创建一个team,通过邮箱邀请成员,成员在自己的客户端上绑定团队账号,即可同步团队密码数据到用户本地。管理员可以创建不同的保险库(vault),来控制权限问题。适合规模比较小,成员之间比较信任的团队。

付费机制:1Password对国内用户来说还是比较贵,Mac版本¥163,iOS版本¥68,不过基础功能免费版可用。

Onelogin

如果团队成员流动比较大,频繁改密码又比较麻烦,如何处理?这里推荐下Onelogin。

Onelogin支持管理员在后台设置账号密码,然后给团队生成一个应用面板,成员点击应用图标,打开连接,Onelogin的浏览器插件会自动填充用户名密码然后提交,成员看不到用户密码,也无需知道用户密码。当然,这个机制也是防君子不防小人,如果成员自己用抓包工具,还是可以获取到密码的,但至少不需要把密码传来传去。

另外Onelogin支持同步LDAP,Active Directory,Google APPS SSO等账号中心(高级版),也支持SAML,方便其他应用集成,它的目标是企业应用的认证中心。

付费机制:初级版每人每月2$,高级版每个月每人4$

最大缺点是它是国外服务,国内访问非常慢。

开源的LDAP服务

如果团队内部的应用多,建议搭建LDAP服务做统一账号密码管理。推荐以下LDAP服务:

  1. Apache Directory Apache下的java的开源LDAP服务
  2. Open LDAP 开源LDAP服务
  3. ltb-project 一组php的LDAP工具,包含一个LDAP自服务web项目,允许用户自己修改自己的账号密码。LDAP服务本身不包含自服务工具的。

国内企业应用账号管理之痛

原来的企业应用都是私有部署模式,部署在内网,统一使用LDAP就可以搞定账号认证的问题,但移动互联网时代,为了便利,许多内部应用要在公网上访问,同时各种SaaS服务涌现出来,每个都有一套账号系统,每个成员加入或者离职,都需要管理许多服务的账号。于是出现了Google APPS,Onelogin等SaaS账号中心服务。然而这两个服务,一个被墙,一个很慢,在国内都不太具有可用性。

而国内的邮箱服务厂商,也没有提供类似服务,对国内企业应用开发者和用户来说都是一种痛苦。

其他同类服务

其他类似服务,但笔者未做分析比较,感兴趣的可以看看