前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >密码管理的初步实现

密码管理的初步实现

作者头像
jeanron100
发布2018-09-29 15:07:30
6740
发布2018-09-29 15:07:30
举报

之前写了一版密码管理,主要针对的是对于发送密码方面的安全考虑,今天说的这个是对于密码的统一管理。

运维平台里的密码管理模块建设

我们的很多密码管理其实是混乱的,很难有规范或者标准,这样就会导致一些很严重的问题,密码这么重要的资源最后受到的重视度很低,对于很多人而言,密码就是一长串字符,没有任何意义,但是它存在的价值就足以压倒一切,如果一个核心业务的root密码我们泄露了,那么问题就是很严重的,或者说,我们把服务器的密码都弄丢了,这个代价就是很高的。

而且我们有时候密码管理的渠道很多,有些是放在keypass里面,有些是放在记事本里,有些是放在不同的文本文件中,密码的意义是什么,只有指定密码的人才知道,而难点就在于,对于环境的描述和密码有时候是脱节的,也就导致这个环境的密码只有你知道在哪个特定的文件中,通过某种特定的方式去查看,否则没有人知道密码的信息。

所以我和同事做了一个简单的密码管理模块,这个模块看起来实在是太简单了,简单到好像就是一些简单的信息维护,除此之外,好像没有亮点,恰恰相反。我们来逐个看一下。

首先密码的存储一定是加密的,也就意味着在数据库中存储的密码应该是加密后的。 我们可以有很多加密的算法,这个可以定制。

最终我们看到的就是一个基本的密码信息管理界面。

在这里我们对安全升级,我们可以有md5等加密方式,但是我们可以指定一个更加动态的方式,比如我们可以为每一个密码生成一个随机字符串,然后以这个随机字符串作为种子来继续加密,这样一来,种子是随机的,得到的随机串就很难破解。 所以密码管理界面是看不到真正的密码的。比如上面只显示了随机密码,加密后的密码也不显示。

还有几点,比如对于修改的方面,我们可以修改一些描述和基本配置信息,在这里密码是不可见的,比如都是*********这样的形式。如果要修改密码,可以重新制定,后台会重新根据随机密码来计算得到新的密码。

如果要删除密码信息,我们可以保守一些,即保持数据不删除原则,我们对于数据维护一个状态,即有效和无效。无效的信息不可见,但是还是在数据库中。在这里密码信息也是不可见的,而且也不可维护。

主要的功能就在于我们可以通过一个额外的功能来得到明文密码,也是经过了运算得到。

这样做的好处是什么呢,其实如果有1000套环境,我们按照这种方式来映射,就可以通过后台跑批量任务来校验密码信息是否正确,然后我们可以基于这个做密码的维护和更新,统一管理起来。

如果不出意外,原来的这种工作可能至少得花费你一摊,现在分分钟就可以搞定。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档