对于如今的现代数字应用程序,在操作事件期间管理访问权限对于确保企业的生产环境和基础架构安全都至关重要。一个被大家认可的基本安全原则是最小权限原则,基于该原则开发人员和运维人员应该具备尽可能小的权限,只访问必须的生产环境及数据,以降低未经授权访问或数据泄露的风险。
权限提升
当运维人员需要额外的权限来解决生产环境问题时,对生产的访问限制可能会成为紧急操作的障碍。这是现代云原生应用程序的一个特殊问题。这些应用程序往往基于微服务架构实现,这往往会增加在生产环境中处理紧急问题的难度。因为不同的人回负责不同的责任区域,处理问题时常常需要多人协作。
您如何授予运维工程师解决生产紧急问题的必要权限,同时通过限制访问来确保应用程序安全和数据完整性?答案在于特权提升。
权限提升是为运维工程师提供对生产环境资源的临时额外访问权限,以解决生产紧急情况。有几种方法可以做到这一点。
构建专用工具
首先可以尝试的方法是创建有限范围的专用工具。这些专用工具执行影响生产的操作,这些操作有时是解决生产问题所必需的。但它可以安全可靠地执行此操作,而不会放弃对您的生产环境的完全控制。理解有限范围工具的最简单方法是考虑一个例子。
为解决正在进行的生产紧急情况,运维工程师必须采取的典型行动是简单的服务器重启。通常,只需重新启动特定服务器或一组服务器,当前出现的问题就会消失。当然,这可能无法解决长期问题。尽管如此,对于影响客户使用应用程序某些功能的能力的紧急问题,它仍然是一种极好的短期补救措施。
但是重启服务器需要什么?通常,运维工程师无法实际接触到服务器,而且它通常甚至在地理位置上都不靠近运维工程师。因此,需要重新启动软件。对于大多数 Linux 服务器,这意味着以根用户或超级用户身份登录服务器并发出重启命令。但是,这意味着您的运维工程师需要在您的服务器上拥有超级用户权限。然而,有了超级用户权限,运维工程师可以在服务器上执行各种其他操作(有意或无意),包括删除有价值的数据。之前有过报道,一些公司出现过违规删库的情况。因此,我们可考虑替代方案。不是为所有运维工程师提供超级用户访问权限,而是创建一个不需要超级用户访问权限即可操作的工具(或脚本)。相反,该工具会验证用户是否有权执行简单的服务器重启。如果验证通过了,工具本身会执行重启动作。最后,该工具将创建一个日志文件记录谁请求重启以及何时进行审计和后续分析。
此重启工具是此类有限范围支持工具的一个简单示例。通过为通常执行的支持任务创建此类工具,您可以减少需要特殊生产许可的情况。
多人审核机制
即使您已投入大量资金来构建工具来帮助处理您过去见过的每个已知支持场景,您仍然不知道在随叫随到的轮换期间会出现哪些不可预见的问题。您仍然需要允许您的运维工程师执行超出其正常权限级别的操作。你怎么能安全可靠地做到这一点?
一种常见的模型是使用多人审核。使用此模型,无论何时任何人需要使用提升的权限,例如超级用户权限,他们都需要两名独立的工程师来解决问题,并且在授予权限之前,双方都必须同意请求。然后,根据政策,在提升状态下采取的所有行动都必须经过两位工程师的审查和批准才能执行。诸如此类的流程旨在提供一种制衡方法,以确保执行者无法使用权限升级机制来未经授权访问您的应用程序。而当真正的问题出现时,合法的工程师仍然可以通过他们需要的升级权限来完成他们的工作。
总结
充分结合专用工具和多人审核,您可以让您的运维工程师访问任何云原生应用程序的生产环境,而不会危及您的业务和客户所需的安全和治理要求。
关于HummerRisk
HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和云原生安全检测。
Github 地址:
https://github.com/HummerRisk/HummerRisk
Gitee 地址:
https://gitee.com/hummercloud/HummerRisk