为什么需要强调DevOps在基础架构过渡期间的安全性
随着DevOps实践在云基础架构环境中日益流行,使得软件开发团队比以往任何时候都能更快、更高效地进行成果发布,但是安全性是被首要考虑的问题吗?来自451 Research的一份报告显示答案是否定的。
根据这份“在云时代重新聚焦安全运营”的报告显示,36%的企业表示,他们明年的首要目标是更快地响应业务需求,24%的企业表示要削减成本。相比之下,只有10.5%的受访者表示将提高安全性作为他们的首要目标,在列出的选项中排名垫底。
这个问题似乎源于这样一种误解,即速度和安全性是相互排斥的,DevOps将安全性视为业务加速的阻滞,而不是稳定因素。通过SecOps(Security Operations)的最佳实践(我们将在下面进行讨论),尽早的将安全性融入DevOps过程中,是构建长期可持续基础设施的唯一方法,这些基础设施将支持您的产品和团队走向未来。
随着组织迁移到公共云,这一点变得尤其明显。因为在公共云中,敏捷开发意味着工作的发布速度将比以往更快。在您进行基础架构过渡时,以速度的名义牺牲安全性会让您的组织面临数据泄露的风险以及由此造成的声誉损害和财务损失,但是SecOps最佳实践可以帮助您降低这方面的风险。
将SecOps与DevOps进行集成
那么,SecOps到底是什么,当成功地与DevOps集成时,它又能发挥什么作用?与DevOps一样,SecOps也是一种基于敏捷原则的软件开发理念。SecOps还管理着软件版本化的加速,能够提高许多编程团队的输出,因此不需要担心会与DevOps有冲突。SecOps通过自动化关键的安全任务,简单地增加一层以前没有的安全层。
为了实现这一点,SecOps培养了一种文化,在这种文化中,安全是组织内每个人的责任,是主动战略的一部分,而不是在事后进行补救。团队之间的强大沟通是需要优先被考虑的,以避免出现信息安全孤岛以及一个团队拖慢另一个团队进度的情况。
最后,随着组织开始将安全与DevOps相结合,解决网络安全领域的人才短缺问题将显得至关重要。根据451 Research的报告,培训现有员工学习新技能通常是组织中最受欢迎的方式。所以SecOps实践是通过开发内部资源来提升您的员工的理想方法。
SecOps的最佳实践
很明显,共享纯文本密码的公司不会在一夜之间就开始使用集中的访问控制,但它们可以采取正确的步骤,放弃耗时的临时流程,并尽可能地走向自动化。以下是在基础设施的五个领域中可以采取的一些最佳实践:
1.系统访问和用户
当涉及到系统访问和用户时,要遵循最少特权的原则。为了在这个领域实现真正的安全成熟度,你需要将这个原则嵌入到你的工具和日常流程中去,即使你已经将它建模到你的策略中了。系统地自动化和验证用户访问策略可以让您减少可能导致内部威胁的人为风险。
2.补丁和漏洞管理
你认为打补丁很简单吗?仔细考虑一下吧。根据威瑞森公司2017年的数据泄露调查报告,许多公司并没有足够的制度来做好这件事,这给了攻击者足够的时间来利用几个月甚至几年前的漏洞。为了在网络犯罪分子之前发现漏洞,您的组织的补丁策略应该是自动化的、标准化的和有弹性的,足以承受自动化的软件更新。
3.基础设施控制平台(AWS控制台/ API)
在云中进行操作时,API和管理控制台的功能相当于对数据中心的访问。然而,在云中仅保护您自己的数据中心将使您的API暴露出来。因此,在您迁移到公共云时,有必要改进您的安全方法,使用与数据中心相同级别的安全等级来操作管理控制台和API。包括自动关闭对不安全的或潜在受损系统的访问。
4.网络
由于当下的环境比以往任何时候都更加复杂和更加具有联通性,所以传统的网络安全控制将不再能解决这个问题。目前,许多安全和运营团队正在限制具有网络拓扑的系统之间的访问,但是有必要将服务器按角色进行分组,并利用自动化来建立小型网络路径来模拟对等体之间的信任。此外,架构应该运行在广域网上而不是局域网内。因而,SecOps在此领域的成熟度意味着需要对身份验证和授权机制进行建模,而不是简单地依赖底层网络拓扑来定义安全性。
5. 运行时和服务
考虑到运营和安全团队都受益于运行时和软件管理的标准化、持续集成和精简的软件开发生命周期,实现目标的一致性在这里应该相对变得更容易了。一旦每个人都在同一个页面上,基础架构和运行时环境就可以作为一个共享的实用程序发挥作用,从而允许工程师在这些公共结构中进行创新。在不同的团队中应用相同的原则可以提高效率,并有助于将失败的风险降到最低。
结论