本文要点
- 构建交付渠道需要安全团队的积极配合
- “Many eyes on code”策略并不会在本质上使开源软件更安全
- 安全产品所保护的外围从数据中心扩展到了云端,对安全方案提出了新的要求
- 当使用涉及 PaaS 或无服务架构的环境时,不能忽视对构建和部署方面的安全
- 听听 Cheslock 对即将到来的敏捷联盟技术峰会的全面分享
你是否在采用云服务之后调整了应用程序和数据中心的安全方案?为了深入了解这个话题,InfoQ 采访了 Threat Stack 运行与支持部门的负责人 Pete Cheslock 。
Cheslock 是即将举行的敏捷联盟技术峰会( Agile Alliance Technical Conference ,AATC)的演讲嘉宾,该峰会将于 4 月 19 日至 21 日在波士顿举行。他的演讲“安全发展格局:建立一个安全优先的技术组织(Security at Scale: Building a Security-First Technical Organization) ”侧重讲述云 -aaS 平台对于架构和团队产生的影响。
InfoQ:云 IaaS 的按需和自助服务的能力是否已经强制改变一个组织的安全方案?如果是,那么是如何改变的?
Cheslock:确实如此。以前,安全团队可以深入采购过程,保证所有的系统和应用程序在被部署和被用户使用之前符合安全标准。但是现在,公司里任何人都可以为一个云服务提供商创建账号并开始部署他们的服务。这种现象通常称为“shadow IT”。我们曾见过无数公司拥有数十个甚至数百个 AWS 账号来获取他们内部技术团队无法提供的计算资源。目前,开发团队和运营团队都可以规避安全政策,然后让安全团队收拾残局。
InfoQ:您在即将到来的敏捷联盟技术峰会(AATC)上计划阐述关于企业如何在一开始就将安全纳入流程。如果一个公司已经拥有一个专业的信息安全团队,情况是否会有所不同?
Cheslock:在许多方面,在小公司将安全纳入已经存在的开发运营流程的步骤,在大公司也完全适用。其中一个要点是让你的安全团队能够深入你的开发和运营团队已经在使用的工具和工作流程中(例如持续集成和发布)。另外一个要点是,如果你的公司尚且没有一个专业的安全团队或者尚且不知道如何入手,应该从小事着手,并且不要试图大动干戈。在 AATC 上,我将从简单的内容开始介绍,如持续监控 SSL 证书,逐步深入到对持续安全监控和报警的介绍。
InfoQ:在云技术领域,技术人员需要从哪些方面来评定他们的工作负载是安全的?
Cheslock:大多数时候,人们都认为使用开源代码就意味着他们的代码是安全的。人们认为众目睽睽之下代码更安全。正如我将在 AATC 演讲中要详细阐述的,随着许多开源技术的核心代码漏洞被发现,这种观点被证明是错误的。但是闭源的技术供应商更不安全,因为我们已经见识过太多关于闭源软件和硬件供应商的严重漏洞的新闻报道。由于安全问题无处不自在,我将例举 MITRE 和 National Vulnerability Database 的一些举措来帮助人们理解他们的安全风险,帮助他们重视安全更新,并在最后谈论夜间安全更新(nightly security updates)的风险和价值以及对企业的影响。
InfoQ:相反地,云服务是否有一些天然的功能可以被企业用来确信这些云服务是安全的?
Cheslock:好消息是,云服务提供商,例如 AWS,已经在安全领域作出巨大努力来帮助他们的用户更好地了解现状。如果你的系统运行在 AWS 上,那么你就可以使用像 Cloudtrail 这样的工具来审计你账户上的所有 API 调用,可以用 AWS Config 来审计你的系统来保证它们都符合你所在公司的政策。你还可以借助 EC2-VPC(默认为所有 AWS 新用户开放)来用私密的非公开路由网络来隔离你的系统并且用网络控制访问列表(network ACL’s)来限制访问。大多数情况下,这些工具运行在云上更加安全,用户只需要知道它们有什么用途即可。
InfoQ:企业是否应该中断“周边安全(perimeter security)”而采用应用主导的安全策略?如果是这样的话,具体如何做?
Cheslock:随着向云服务的迁移,你仍然可以坚持周边安全策略,让所有的通信都经由内部的数据中心,但是最终还是会移除所有的内部数据中心,因此需要早做准备。现实情况是,许多公司都采用终端安全工具来跟踪和监控用户的平板和移动设备。我们需要对我们的服务器也采用相同的策略。每个运行代码的服务器都是一个终端,使用持续安全监控工具可以帮助你跟踪和识别 0 day 漏洞或者其他漏洞。他们能帮你识别内部利用合法凭据窃取知识产权的不良分子。来自企业内部的安全风险和来自远程攻击者的风险一样常见。
InfoQ:有哪些本地的安全方面的方案不能直接被转移到云端?
Cheslock:我们之前有提到过这方面的问题,只不过之前说的是“基于外围”的网络安全监测工具。你可能遇到的挑战是,在云服务上,你的每一个系统都可以作为一个端点,那么网络边界会比原来单个数据中心的网络边界宽泛很多。当企业使用多个云服务的时候,这种挑战更加严峻,你需要处理不同的网络和服务提供商,而且几乎没有天然的集成工具。
InfoQ:如果有人从裸机或者虚拟云服务器升级到 PaaS,你的安全建议会有所改变么?
Cheslock:像 Heroku、Google Cloud Functions 以及 AWS Lambda 这样的供应商,让你不再需要自己维护运行代码的服务器,并且真切地让保护系统安全这个概念更吸引人。这些概念被称为“serverless”——你的代码运行在云服务供应商的系统上并且你对此没有任何掌控。大多数情况下,这样能让你的系统更加安全,因为你减少了自己需要保护的端点数量。但这最终也将你自己的安全挑战转移给了云服务供应商。AWS 使用身份和访问管理(Identity and Access Management, IAM)系统,使得用户可以掌控功能的访问控制。你需要确保这种安全措施只提供最小化的权限集。另外,你运行在云服务上的代码,都会运行在持续集成和部署系统上,这些系统都会在构建和部署时增加安全测试和静态代码分析工具。
InfoQ:数据安全,包括访问控制、静态加密和动态加密、数据更改日志,在类 -aaS 领域有哪些不一样?
Cheslock:通常,当企业在自有的数据中心内部运行服务时不会考虑加密的问题。这是假定物理安全可以帮助避免信息发生泄漏。但是,当迁移到云服务和公用实施时,静态数据加密就非常重要,用于防止因为供应商的异常或错误导致数据泄漏。另外,当系统运行在第三方设施上时,你需要确保自己使用 TLS 协议来确保服务内部安全,就像我们在外部网站上使用 SSL/TLS 协议一样。目前已经有许多工具可以帮助我们轻松实现这些安全措施,我也会在 AATC 上介绍一些我之前的实践经验。
InfoQ:速度与安全性之间的抉择是否是一个假命题?
Cheslock:过去,我们习惯于在部署速度和代码安全性间进行抉择。如何保证高性能和高可用性,也是之前的运维话题的焦点。但是现在,在许多方面来说这个难题已经得以解决。我们目前的焦点是如何兼顾运维和安全领域。我认为,随着更多工具与技术的使用,开发人员与运维人员会一起合作得更好,我们也可以将安全措施加入到这些流程和程序中,在保证系统高性能运行的同时兼顾安全性。
关于采访嘉宾
作为 Threat Stack 的运营与支持团队的负责人,Pete专注于向 Threat Stack 快速增长的用户群体提供最高级别的服务、可靠性和用户满意度。作为一名在技术运维领域拥有将近 20 年经验的业内资深人士,Pete 深知安全专家、开发专家以及运维专家每天面临的各种挑战和难题,以及如何提供帮助。就职于 Threat Stack 之前,Pete 曾在他创建的 Dyn 和 Sonian 担任高层,负责管理和开发自动化发布工程化的团队和项目。
查看英文原文: A Security Approach for a Cloudy World: An Interview with Pete Cheslock
感谢薛命灯对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论