对于将软件大规模部署到云平台的企业而言,实施自动化安全程序已经很快成为一种必要的举措。理解这其中的原因、内容和方式可能会让企业在云安全方面做出更好的决策,并促进采用更好、更安全的应用程序。
采用云优先策略的企业正在以惊人的速度发展。规模较大的企业可能每天进行数千次部署,同一时期的代码更改次数可能达到数十万次。
除此之外,以技术为中心的企业可能会雇用数百名开发人员:在这种情况下,跟踪和理解每个项目或准确跟踪他们的工作变得极其困难。这样的速度和数量意味着早期设计的安全程序(安全团队在部署之前检查和测试代码)不再实用。
在成功采用DevOps之后,现在已经进入了DevSecOps时代,在这个时代,安全团队将重点转移到使开发人员能够更安全地构建代码,并且开发人员在安全配置的云计算环境中对基于安全基础的安全代码负责。
如果这听起来像是增加很多额外的工作,那么事实上,典型的云计算应用程序中只有大约20%的代码是其应用程序所独有的,这又使情况变得更加复杂。其余情况还包括Linux操作系统文件、开放源代码库、它们的依赖项和其他继承的元素。开发人员需要更多帮助来确定应用程序中潜在的漏洞、更广泛的代码库和配置。需要采用自动化技术来采用高度复杂的安全工具集。
实现自动化可以采取多种形式,进入这一领域的第一步将取决于企业的实际情况及其主要痛点。第一步是确保按设置的时间间隔自动扫描应用程序及其组件的漏洞。正如美国一家云计算通信平台即服务公司的高级安全工程师所说:“自动化是大规模确保安全性的关键,因为它消除了人为错误。当我们实现自动化时,就会发现更多的漏洞。”需要记住的是,即使在正常情况下进行扫描,对于训练有素的团队而言,这也会造成潜在的薄弱环节,此外,如果已经实现了自动化,那么这是一项多余的工作。
这家云通信公司的团队已经将这种自动化技术向前推进了一步。他们开发了一个GitHub应用程序,该应用程序利用该工具的API来监视该公司应用程序主要分支的更改和提取请求。当拉取请求合并时,它将自动导入项目以进行扫描。当创建、删除或重命名项目时,它也会做出反应,触发适当的安全措施。该公司现在已经开放了该工具的源代码,这可以让其他人从其创新中受益。
一家在线旅行社对其系统是否存在安全漏洞十分关注。该公司正在经历以上提到的大规模快速发展的情况,因此需要采用自动化技术。该公司一位软件工程师指出:“以我们目前的经营规模,人工审查代码和配置是一场噩梦。”该公司决定构建自己的仪表板应用程序,以便开发人员和管理人员能够通过API调用来收集信息,从而为开发人员和管理人员提供跨项目安全所需的可见性。
由于在管道流程方面需要协助,促使一家美国媒体公司创建了自己的内部应用程序,该应用程序通过Cloudtrail检测新的容器映像,扫描它们中的漏洞,并使用其安全工具的API来获取结果和处理这些信息,为相关团队和开发人员创建Jira票证。该公司的平台工程总监表示,该业务可以处理数千个容器映像以及多达7000个代码存储库。只有通过尽可能多地实现工作流程的自动化,才能确信风险得到了持续发现和缓解。
随着企业不断实现自动化,必须考虑多种因素才能获得最佳效果。首先,这很可能会影响安全工具的整体选择,并且希望自动化工具有更强的适应性。在制定决策时,功能强大且文档齐全的API的可用性似乎并不总是被优先考虑,而是创建完全可以满足企业需求的安全自动化工具。对于其他企业(通常是规模较小的企业),选择的编程语言所固有的SDK的可用性将是绝对必要的。
当这家媒体公司开发自己的内部应用程序时,该公司平台工程总监强调的第二个关键点是仔细考虑自动化的结果。如果一次扫描可以检测到数千个漏洞,那么简单地出现故障单,要求解决所有漏洞问题,可能会很快造成低级别作业的日志阻塞,并让开发团队感到沮丧。与其相反,系统会过滤掉不可修复或无法利用的漏洞,并根据这些漏洞对应用程序安全性的影响程度对任务进行优先级排序。该系统还使开发人员更轻松地处理故障单,提供有关补丁可用性的建议以及描述漏洞性质的文档链接。
关于自动化项目的最后一点是要确保始终记住目标是使工作尽可能轻松。创建新的流程、新的工具或跳转的方法可能是必要的一步。在可能的情况下,尽量使用开发人员日常使用的工具,无论是通过IDE、存储库还是票务系统。当自动化在不增加问题的情况下实现安全性时,这就是企业应该努力实现的理想组合。
以上就是自动化是云原生应用程序安全的关键的介绍,Vecloud提供企业用户机房到IDC数据中心、企业私有云和公有云,以及企业多云直接的云专线业务,可以快速、有效的为客户提供高速、稳定的专有通道。如果您有相关的业务场景,欢迎咨询,我们有专业的技术团队可以为您提供更好的建议和方案。