发现最近很多人收到了一个email。看样子是某个网站的用户数据库被盗了。这件事来看,这个网站的用户数据还可能是没有加密的。不然其实就是拿到了整个数据库,要还原密码也不是太容易。
这就是涉及到一个简单的问题,如何正确的保管和使用你的账户密码?
我接下来要说的,其实不是一个IT的新概念,有兴趣的可以自行放狗何谓privilege account security(PAS)。 这概念从千禧年前就有了,也催生了好些上市公司。详细的技术细节我就不讲了。不是本文关键。我要说的是从PAS里面剥离出来的,最核心的部分:如何保管和使用密码。
第一部分我想说说问题,不知道问题所在很难解决问题。
首先,现在一般人会有多少个上网账户呢? 你帮衬的每个金融机构会有一个。各种购物网站,保险,各种论坛社交....
保守估计每人有30个账户左右是正常的。如果是精买高手有4-50个不稀奇。 常用的至少10多个。那多账户怎么管理?密码怎么设置?
一般人有几个方法:
1 一个密码走天下。自不然说风险多大。无论密码多复杂。因为每个网站都用,那么安保最弱的那个网站出事你就好像内裤都没穿一样了。
2 分等级,大概3-5个密码。因应网站所保留的个人信息敏感程度而决定使用那个。这个要风险要低一点,只是呢,有你敏感信息的其中一个网站可以是被攻破的那个。
3 组合式。比如一个序列加网站名字。这个也不错,但是如果有心不难看出来。而且也会遇到不同网站密码长度限制不一,要求复杂程度不一的问题。比如有的特殊字符有的是不允许的。
4 每个网站都不同,超复杂,抄在纸张上。您还别说,这个只要那张纸不丢,这个方法相当保险。但是易用性就很差了。
那要兼顾易用性和安保要怎么做?
1 代理登录,比较洋气的说法叫saml. 一个密码多个网站分享就等于你要信任这几个网站都不会泄漏你的密码。与其相信那么多网站,还不如相信少一点。比如,现在有的网站支持SAML 登陆,背后技术我这里不解释。总之就等于你可以用你的google账户登入abc购物网站,abc购物网站并不直接保管你的账户和密码,它是把验证你身份的责任交给了google,google告诉它,对,这人通过我们验证了。abc购物网站就允许你你登入了。这样子你可以少几个账户的密码。我们的原则是,账户越少越好。
2 其实很多同学都提到了lastpass和1password。 这种账户保管软件。其实就是它会记录你在不同网站的账户,并且帮你随机生成一个比较复杂的密码。你可以不同的网站使用不同的密码。你自己并不需要记得每个网站的密码,你记得你的lastpass或者1password的管理者密码,master key就够了。当遇到你需要填入账户时,可以从这些软件上提取密码,甚至让它们直接帮你注入密码。
这样子等于你从信任很多不同的网站,到信任lastpass或者1password中的一家就够了。
网络上的网页安保漏洞最大的缺点就是每个网站的安保程度良莠不齐。有的很好,有的很差。你的密码通常都是从加密做的比较差的网站上丢掉了。而好像lastpass之类的网站,因为安保是它们的核心业务,所以通常都会投入很大的投资,定期会进行入侵测试,所以它们的安保程度比较高。
那作为面向个人用户的账户保护软件二者有什么区别呢?
其实从严格的安保角度来说1password只把密码加密后保存在本地,只有多设备同步时才上传。而lastpass的账户一只保存在它们的网路服务器上,通过加密通道在不同设备间交换。前者要更保险一些。不过我要推荐的倒是lastpass。因为对于个人用户来说,易用性太重要了。
lastpass的chrome插件可以很方便的检测到你在输入密码,并且把密码自动记录在它的密码库里面。并不需要特别花时间去把账户一一登记在lastpass上,用过你就知道这个onboarding的过程有多方便了。不知不觉之间就把几十个密码都存到lastpass里面了。具体教程网路上很多,我就不具体写了。真的不难学。你到时其实不需要知道你的密码,你能登入到last pass就好了,它会帮你填写密码。也就是说,与其相信几十个网站,你不如相信lastpass会好好保管你的密码。
不过给了你利器,你还得注意使用方法。
1 你的master password非常重要,请保证它足够复杂并且只在lastpass或者1password上面使用。
2 记得为你的lastpass或者1password 开启2 factor authentication,就是双重认证。就是所谓的密码+通知。比如说你用密码在一台主机上登入了你的lastpass账户,lastpass会向你已经登记的手机发送一个认证信息。只有该信息得到确认才会允许登陆。lastpass支持非常多的双重认证方案,绝大部分免费,比如业界龙头duo, 免费的微软认证app,google 认证app。这样子,人家不但要知道你的master key还需要拿到你的手机方可登入你的lastpass账户。
3 lastpass和1password在手机上都支持touch id。 touch id的安全性是商业级标准的,比密码好多了,能开启就开启把。
4 首次使用lastpass的时候记得用它来把你的各个网站账户密码改一遍。一定要保证没有一个密码是相同的。
5 还是必须要遵循账户越少越好的原则,如果有些网站,你只是使用一次。我会建议你去那些可以申请“一次性邮箱”的网站来申请一个临时邮箱开通账户。用完即弃。如果一个网站可以允许你通过google账户通过saml机制登录。你还是不要开设一个新的登录账户了。
说完民用,略带提提商用。不涉及技术细节。就给大家一个概念。
商业应用篇
这个就泛泛而谈了,不涉及太多细节了。也不针对某一家的产品,而是很多产品的共性。
上面说的是低价甚至免费的解决方案。商业自然不可以这样,澳大利亚基本大银行都上了账户安保产品,世界500强至少300多用了。余下的100多我没有研究过。说不定也有。这些解决方案动不动就10万过百万乃至数百万美金的价格。自然不能和免费软件一样。在整个网络安保的生态里面,密码保护只是其中的一个部分。毕竟你的网页设计的很烂,人家不用密码,直接可以注入式破解掉。那么密码保护也是没用的。所以大公司,网络安保的复杂程度还有预算都是很厉害的。
一般来说商用会多了一些什么功能呢?
1 一次性密码,就是说在一些高度敏感的账户里面,密码都是用完一次就换掉的。
以前一个管理员在不同的系统下,随时拥有10几个高权限账户。当人离开了公司,经常这些高权限账户都不能得到有效的处理。江湖传说有人心血来潮,离职以后10个月试试自己的管理账户,还能登入劳动局的网络....
现在有了一次性密码系统,系统管理员自己也不知道密码是什么。所以在账户安全管理上可以说进了一大步。
2 全程监控。基本上整个登陆过程都被监控了。所以命令都会被记录下来。
举个例子把,你要通过密码管理软件去登录微软的云管理账户。以前是你直接登录。现在是你必须先登录到密码管理软件,密码管理软件帮你把密码和用户名注入到azure portal,你自己连密码是什么都不知道。你的所有操作都被监控。随时发现异常可以马上断掉链接。
3 智能分析,上面说到了命令了都会被记录, 谁,从那个地方登陆登陆,干了些什么一清二楚。记录下来的数据会送到SIEM系统, 进行安保分析。注意这里的SIEM是另外一套系统,又是花钱的地方了。
4 定期轮换里面,类似一次性密码,不过没有那么夸张,就是按照规定定期自动更换一遍。
5 更加强大的 密码库。 密码管理软件的核心是密码库。到了商用领域,密码库服务器要强很多了。基本上不用的端口和服务全部堵上了。也不放在domain里面。只有特定的密码管理软件可以进行存储。
6 流程管理。以前系统管理员基本上是有最高权限。现在不行了,要干什么,什么时候干要想上级批准。生成一个ticket, 只有持有这个ticket才能在规定时间和对象内使用真个密码。用完了以后。 这里会涉及到和serviceNow之类的ticket管理系统的融合。 如果启用了一次性密码会马上更换。
7 DR 和HA , LB 这概念在IT领域就很普遍了。做IT 接触到硬件的都懂,我就不解释了。
8 终极master key恢复功能。对于一个公司来说,既然密码库那么重要。一旦丢了管理密码问题就很大。所以商业系统一般会有一个终结账户,再配合一个复杂的算法来重制恢复最高权限账户master账户的密码。一般这个算法是高度机密,而master账户平时也是不被使用,这套机制不到万不得已不启动。而个人软件一般就没有这个功能了。
9...不断进化中,除了以上这些普遍的功能,各家还会有自己特色,每过几年又会多一些新功能。而且就算你学会了整个密码管理软件的每一个细节,这也不过是网络安保的一个部件。我就从来没有看到人可以收集器灭霸的5个宝石,把网络安保的每一个领域都精通...