企业应用级自动化运维如何做好安全风险控制?
常规的系统层面的自动化运维由于主要供系统管理人员使用,安全风控方面需要考虑的问题很少,而应用层面的推广使用由于人员复杂,这方面必须重视。
以下内容来自社区交流,由数位来自银行等金融行业、专注IT系统开发与运维的社区专家分享。
自动化运维安全性问题?
问题描述:如何对自动化运维所做的动作,进行结果评估,从而判断是否进行相关操作?同时,如何界定哪些自动化动作是否需要审核?需要哪些层面的审核?
个人感觉,自动化运维还是重点在日常巡检、趋势分析上;真正的自动化维护,故障处理有太多的处理模式,需慎重。(@seagl)
@mornsky:
自动化运维的推广应用,安全是重中之重,目前最多的系统层面的自动化运维都是针对系统管理员作出系统层次的巡检、补丁安装、重启等常规操作,没有权限概念。应用层面我们针对不同应用系统、不同类型操作作了相应的权限控制,具体有登录访问、双人复核、验证码、审核等,评估影响程度而加强控制,后台对操作用户也作了针对性的选择控制,并对操作包括输出日志作了详细记录。目前主要是平台超级用户的管理是一个问题。
在自动化运维平台的建设中,如何做好相关的风险控制?相应的安全权限如何进行控制与分配?
@mornsky:
自动化运维平台作为管理控制其它系统的系统,具有很大的权限,风险控制至关重要。风险从大来源有两个方面:开发和运行。即各类应用或系统中自动化运维的程序开发和运行控制。开发方面无疑是需要尽量全面彻底的测试验证,自动化运维只能做指导性规范性的工作。但在运行方面可多方面做些控制:
①操作系统用户层次作基本控制,各应用系统相关的运维操作只在各应用的生产用户或查询用户下执行,从根本上防止运行权限的扩大,防止意外或恶意操作的影响扩大化。譬如;程序中写在某目录下删除所有文件:rm -rf *,实际运行过程中,可能因为某些原因,当时目前为/根目录,如果是超级用户,就会导致整个文件系统,如果是普通生产用户,则只会影响当前应用系统,如果是普通查询用户,则基本上对生产运行影响不大。
②自动化运维平台对各应用系统,各种运维操作作多维度的精细化的运行控制,并根据重要性加审批、复核、校验等机制。
③自动运维平台对各类运维操作做操作记录,以便复查和监督审计。
@secretpower:
自动化本身就是双刃剑,提供便利的同时必定带来一定的风险,在金融行业尤其需要慎重。两方面思路可以考虑,一个是自动化在企业中的布局推进,可以采用先在开发测试环境投入使用,再投入生产环境使用,先使用读的自动化能力比如信息收集,再使用写的自动化能力比如批量更新。即先测试再生产先读后写的推进方式。另一个是遵循基础设施即代码思路,核心代码、脚本应该纳入到代码管理的范畴,使用版本控制系统对这些代码严格进行管理,遵循先开发、再测试、再发布的过程,管理好代码的迁入迁出、控制好测试环节,可以在一定程度上控制风险。
采用何种有效的验证机制确保自动化不会造成大范围的故障?
@mornsky:
自动化运维实质上的程序化的运维,是程序就可能存在考虑不周等缺陷,只能通过充分测试验证才能保证程序的可靠性。可以先在开发环境测试,无开发环境可在生产环境做运行逻辑的测试即不做实际的可产生影响的运行譬如将运行命令改为显示运行命令。
如此,在充分测试后,先做1台或少量范围的运行,然后才能大范围推广。
其次,做好运维的审批、复核、实时监控以及验证等工作,以便及时发现问题并采取措施。
如有任何问题,可点击文末阅读原文到社区原文下评论交流
资料/文章推荐:
企业应用级自动化运维的建设思路与实践
http://www.talkwithtrend.com/Document/detail/tid/418627
某银行企业级应用运维自动化关键设计思路与技术方案实现分享
http://www.talkwithtrend.com/Document/detail/tid/420011
欢迎关注社区 “自动化运维”技术主题,将会不断更新优质资料、文章。地址:
http://www.talkwithtrend.com/Topic/7085
下载 twt 社区客户端 APP
与更多同行在一起
高手随时解答你的疑难问题
轻松订阅各领域技术主题
浏览下载最新文章资料
长按识别二维码即可下载
或到应用商店搜索“twt”
*本公众号所发布内容仅代表作者观点,不代表社区立场