容器安全:需要了解的五件事_java

随着容器继续进军信息技术主流,领导者将越来越需要保证容器已经准备好迎接黄金时段。而怀疑论者恐惧的最大因素之一是一个熟悉的因素:安全。


“最大的误解是容器本质上是不安全的,”Cyxtera副总裁兼副总裁David Emerson说。


事实上,这是一个重大的误解,我们在云计算出现时看到了这种误解。 云安全是否重要? 绝对。 这是否意味着云环境本质上不安全? 当然不是。 随着容器化在企业IT部门内部的增长,类似的原则正在起作用。


当你在组织中与更多人讨论容器策略时,并且当你展望使用容器的下一步是什么时,你必须理解并能够阐明容器安全性的基础知识。 我们要求IT领导和安全专家为你分享Container安全基础指南的建议。 这里有五个战略要点:


1.容器安全是多层次的

红帽安全战略家Kirsten Newcomer鼓励人们将容器安全分为10层 ,包括容器堆栈层(如容器主机和注册表)和容器生命周期问题(如API管理)。


Anexinet云解决方案主管Ned Bellavance表示,这一切都始于容器主机。正如一组虚拟机与虚拟机运行的虚拟机管理程序一样安全,容器将与主机一样安全。


Bellavance解释说:“容器主机需要使用最小访问权限,漏洞补丁和系统强化的组合来妥善保护。” “不安全的主机使主机上运行的所有容器都容易受到来自外部和对方的攻击。”


由于容器是从镜像中部署的,Bellavance指出,容器的安全性也很大程度上取决于健康,维护良好的镜像。


Bellavance说:“最好的镜像保存得很好,而且相当不变。 “通过良好的维护,我的意思是构成映像的各个层保持一致的补丁级别,以防止已知的漏洞。如果镜像是通过漏洞创建的,那么从该镜像部署的每个容器都具有相同的漏洞。“


这也是容器安全技术方面如何流入流程的一个很好的例子。安全性需要纳入开发和运营流程的每一步,而不是在团队部署代码之前作为最后一步而被大肆宣传。有些组织称这种方法为DevSecOps。


企业“正在设法将安全性转移到应用程序开发生命周期中,”红帽的Newcomer告诉我们。 “他们通过在整个CI / CD管道中集成安全实践,工具和自动化来采用DevSecOps。”


“为了做到这一点,他们正在整合他们的团队,安全专业人员与应用开发团队一起嵌入从开始(设计)到生产部署,”她说。 “双方都看到了价值,每个团队都扩展了他们的技能和知识基础,使他们成为更有价值的技术专家。 


2.限制依赖来限制风险

与大多数新技术一样,你需要了解你的风险。 Cyxtera的艾默生指出,容器有很多好处,但这并不意味着零成本。


“通过重复使用服务并松散地耦合它们,你的团队可能会加速提供正常运行的产品,”他说。 “但它也必须考虑组件之间,代码的关键贡献者和维护者(其中许多人可能是第三方)之间交互复杂性的随之增加,以及对实践,管道和提供服务的各方的可见性降低产品取决于“。


通过了解基本面,你可以开始进行自己的风险分析,你的组织中看起来如何?


许多专家建议你将这些交互和依赖限制为仅限于你的服务实际需要的最佳实践;其他任何事情都会带来不必要的风下面,我们将分享一些例子。


3.重新评估现有的安全实践和工具

艾默生表示:“向可重用,分隔式服务和微服务的转变需要对安全设计实践进行重新评估。这是因为你正在有效地增加你的表面积。不过,这不应该是一个恐惧因素;这意味着需要重新评估旧的安全实践和工具。


“组件的重复使用和其他人维护的服务的采用可以节省大量的开发工作并产生高质量的产品,但它需要关注自己的”服务供应链“,而这在以前可能不太重要的设计,保护和实施产品,“艾默生说。 


事实上,这种重新评估是转向容器的安全优势之一。


SumoLogic公司安全与合规副总裁George Gerchow说:“容器实际上可以成为一种强制功能,从而变得更加安全。他把它比作企业从物理环境转移到虚拟环境:“他们必须虚拟化所有打开相同服务的整个映像。现在,使用容器,您可以真正优化镜像,并通过将镜像上的服务列入白名单来降低风险。“


安全重新评估应包括主机,镜像和流程,特别关注流程如何影响底层技术。 Bellavance分享了镜像和过程如何相互作用的例子; 考虑一下你自己组织中的情况。


Bellavance说:“开发人员创建容器镜像时应当小心,将镜像中的组件限制在所需的基础上。” “不需要在镜像中安装Java? 那么不要包含它。 越少,镜像就越有效和安全。“


Bellavance在软件流水线上分享了另外两个例子:“不需要SSH进入容器? 然后不要为SSH配置端口映射。 Web前端容器不需要直接与数据库后端对话? 那么不要允许那个流量。“


4.自动化扮演重要安全角色

使自动化成为容器战略的关键部分,以进一步加强安全性:Bellavance建议:“确保配置在声明式部署中编码,而不依赖手动流程。”


像Kubernetes这样的编排工具不仅可以帮助管理大规模的容器部署,还可以管理相关的安全任务。 正如Red Hat的Newcomer在一个相关的播客中分享的那样,“你真的需要自动化,编排来帮助管理哪些容器应该部署到哪些主机上; 监测主机容量; 容器发现 ,知道哪些容器需要相互访问; 管理共享资源并监视容器健康状况。“


SAS安全架构师Shaun Lamb指出,作为容器安全策略的一部分,一些新工具可能是必需的。


“我们发现向容器化架构的过渡需要对应用安全测试策略进行重新评估,并对当前的安全工具进行仔细检查,以确定它们是否能够充分分析运行中的容器,”Lamb说,并补充说实践和工具如静态 分析和交互式应用程序安全测试(IAST)在运行集装箱化微服务的环境中可能特别有用。


最后,Bellavance提醒其他IT领导不要忽视日志记录和审计:


“确保所有的操作和操作都被记录下来并进行审计,”他说。 “当一些事情总是出错时,信息安全团队将会意识到,他们可以追溯发生的事情以确定根本原因,并提供适当的缓解措施。”


5.容器可以帮助对新出现的问题做出反应

正如SumoLogic的Gerchow所指出的那样,容器的采用实际上可以成为提高整体安全性的催化剂,只需强迫您重新评估流程和工具即可。 但也有其他内置的优点。 容器化可以更好地抵御一些现有的威胁,并帮助快速应对新出现的安全问题。


“好消息是大多数容器都是无状态和可替换的,这使得在部署过程中易于推出更新版本的镜像,并快速改善安全状况,”Bellavance说。 它们也应该是不可变的,因为它们被替换而不是被改变。


Gerchow指出,“当新的漏洞袭击线路时,快速部署的不变映像的美丽”将成为集装箱环境中安全性的一个好处,而其他专家也指出这一点。


与任何重大变革或创新一样,实现这些收益也有相关工作,但对于越来越多的组织来说,这是值得的。


“适当自动化以确保文档符合配置,经过适当审核以确保软件流水线的完整性,并经过适当设计以确保纵深防御......容器化代表了强大而高效的设计范例,”Emerson说。


容器安全:需要了解的五件事_java_02