容器化导致许多企业和组织以不同方式开发和部署应用程序。Gartner最近的一份报告指出,到2022年,超过75%的全球组织将在生产中运行容器化应用,而2020年这一比例还不到30%。然而,虽然容器有许多好处,但如果没有适当的安全保障,它们肯定仍然是网络攻击的一个来源。以前,网络安全意味着保护一个单一的 "边界"。通过引入新的复杂层,容器已经使这个概念过时了。容器化环境有更多的抽象层次,这就需要使用特定的工具来解释、监控和保护这些新的应用程序。
什么是容器安全?
容器安全是使用一套工具和策略来保护容器免受潜在的威胁,这些威胁将影响应用程序、基础设施、系统库、运行时间等。容器安全涉及为容器堆栈实施一个安全环境,它包括以下内容:
容器镜像
容器引擎
容器运行时
容器仓库
主机
编排工具
大多数软件专业人员自动认为Docker和Linux内核是安全的,不会受到恶意软件的影响,这种假设很容易被高估。
5大容器安全最佳实践
1. 主机和操作系统安全
容器提供了与主机的隔离,尽管它们都共享内核资源。这一点经常被忽视,这使得攻击者更难但不是不可能通过内核漏洞来破坏操作系统,从而获得对主机的根权限。
运行你的容器的主机需要通过确保底层的主机操作系统是最新的,来拥有自己的一套安全访问。例如,它正在运行最新版本的容器引擎。理想情况下,你需要设置一些监控,以便对主机层的任何漏洞进行提醒。另外,选择一个 "瘦操作系统",这将加速你的应用程序的部署,并通过删除不必要的包和保持你的操作系统尽可能的最小化来减少攻击面。基本上,在生产环境中,没有必要让人类管理员SSH到主机上应用任何配置变化。相反,最好是通过IaC与Ansible或Chef等管理所有主机。这样一来,只有编排工具可以持续访问运行和停止容器。
2. 容器漏洞扫描
应该对你的容器或主机进行定期的漏洞扫描,以检测和修复黑客可能用来访问你的基础设施的潜在威胁。一些容器仓库提供了这种功能;当你的镜像被推送到仓库时,它将自动扫描它的潜在漏洞。你可以主动出击的一种方式是通过采用 "左移 "理念在你的CI管道中设置漏洞扫描,这意味着你在开发周期的早期实施安全。同样,Trivy将是实现这一目标的绝佳选择。假设你想在你的内部节点上设置这种扫描。在这种情况下,Wazuh是一个可靠的选择,它将记录每一个事件,并根据多个CVE(常见漏洞和暴露)数据库来验证它们。
3. 容器仓库安全
容器仓库提供了一种方便和集中的方式来存储和分发镜像。常见的情况是,组织在其仓库中存储了成千上万的镜像。由于仓库对容器化环境的工作方式如此重要,它必须得到良好的保护。因此,投资时间来监控和防止对你的容器注册表的未授权访问是你应该考虑的事情。
4. Kubernetes集群安全
你可以采取的另一个行动是围绕你的容器编排重新加强安全,例如防止来自过度授权账户或通过网络攻击的风险。按照最小特权访问模式,保护舱与舱之间的通信将限制攻击所造成的损害。在这种情况下,我们推荐的一个工具是Kube Hunter,它是一个渗透测试工具。因此,它允许你在你的Kubernetes集群上运行各种测试,这样你就可以开始采取措施来提高它的安全性。
你也可能对Kubescape感兴趣,它与Kube Hunter类似;它扫描你的Kubernetes集群、YAML文件和HELM图表,为你提供一个风险分数:
5. 密钥安全
容器或Docker文件不应包含任何秘密。(证书、密码、令牌、API密钥等),但我们仍然经常看到密钥被硬编码到源代码、镜像或构建过程中。选择一个密钥管理解决方案将允许你在一个安全、集中的保险库中存储密钥。
总结
这些是你可以采取的一些主动的安全措施,以保护你的容器化环境。这一点至关重要,因为Docker出现的时间不长,这意味着其内置的管理和安全能力仍处于起步阶段。值得庆幸的是,在容器化环境中实现体面的安全,可以通过多种工具轻松实现,比如我们在文章中列出的工具。
今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
Openshift与Kubernetes的区别
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。