前言:本文中所引用的文档均为Redhat 技术专家杨金锋所提供。此方案,大卫也多次请教红帽技术专家陈镇。
密码管理系统的必要性
在大多数客户数据中心内部,密码管理都是一个很令人头疼的问题。为什么呢?
第一,数据中心中设备:Linux、AIX、Windows、数据库等的密码复杂度要符合要求,避免轻易被破解。
第二,数据中心设备的密码,需要定期修改,以保证安全性。
针对这种情况,我们当然可以定期手工修改数据中心设备的密码,但这带来三个问题:
那么,能否构建一个全数据中心密码管理系统呢?
当然,有一个选择,是使用堡垒机。我们可以通过堡垒机,来管理如Linux操作系统用户的密码。但是,堡垒机依赖于网络。如果一个Linux操作系统物理网卡出现问题,堡垒机无法与被管系统通讯,这时候,如果需要对被管Linux系统进行维护,还是要访问Linux操作系统的。这时候,就需要构建密码管理系统-----Password Management System,简称PMS。通过PMS来查询密码,登录系统。
需要指出的是,堡垒机与PMS绝对并不是互斥的,而是协同工作的。PMS可以在很大程度上降低客户手工修改密码、频繁修改密码这样繁重、重复劳动。
构建全数据中心密码管理系统
借助于Ansible Tower,我们可以构建全数据中心密码管理系统---Password Management System,简称PMS 。被纳管的对象如下:
PMS的三大优势:自动化、安全、统一:
PMS设计要点如下:
PMS的四大功能
1.被管理端上下线管理
通过PMS系统接口从资产表中筛选互信正常的服务器列表,将这批列表通过pms更新密码流程纳管到后台系统中设置crontab 定时任务,周期性扫描pms与资产库,如果发现资产表中已经不存在纳管机器的记录,则通过 PMS delete接口对该机器进行下线。
2.系统密码可靠性抽样检查
通过定时任务调用 PMS 的 sshcheck 接口,每天抽取1% 的已经纳管的机器,自动查询出密码并且验证密码的正确性。将检查的结果写入到pms数据库中,通过看板端展示审计结果。
3.系统密码修改方式
方式一:定期自动修改密码
方式二:自动检入前一天检出的密码
方式三:手工修改密码
4.系统密码查询
管理员通过PMS系统接口,或者管理界面勾选服务器的方式,对服务器指定账号进行密码查询,查询到的密码以明文的方式告知管理员,管理员需要对被查询到的密码加以保密。
PMS的安全加固策略
PMS必要保证端到端的安全性,通过以下四点实现:
PMS日志管理
在PMS中,查询和修改密码的操作,都会有强日志审计。
PMS架构设计
接下来,我们看一下PMS的工作流程:
被管系统用户列表初始化
首先,在PMS上,先有一个init.csv文件,里面列出被管系统的IP、用户名、操作系统类型:
系统筛选
接下来,PMS会对init.csv文件进行初始化。PMS会对符合密码变更条件的系统(会检查检查被管系统的网络通讯是否正常)进行筛选,形成filter.csv文件。filter.csv将作为生成随机密码的源文件。
文件加密
接下来,针对filter.csv文件,生成随机密码(密码生成可以跟客户的密码安全策略整合),并把密码储存在store.csv文件中,文件是加密存放的。
生成pw_inventory文件,该文件将用户ansible批量修改密码的参照文件:
修改密码
Ansible 根据pw_inventory文件,对被管系统进行批量自动化密码修改。
密码入库
对store.csv文件进行加密处理,然后存入到mysql数据库。
密码入库以后,可以查看IP和用户的对照关系:
密码查询流程
查询mysql中存储的密码时,需要提供被管机的IP地址+用户名+查询密码。查询到的密码也是加密的。
需要注意的是,PMS的好处在于,我们查询某个系统、某个用户的密码以后,数据库中这一行将被锁定。别人再去查询mysql,将无显示。直到前一个人用完这个密码,还回去后,其他人才可以查询这个系统、这个用户的密码。
总结:
目前,PMS系统已经实现了图形化操作,通过Ansible Tower实现。并且红帽的PMS已形成整体打包方案,对于客户而言,是“开箱即用”。若有意购买者,请联系红帽公司销售。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/45286.html