首页 > 其他分享 >容器的安全:DevOps工程师的5大最佳实践

容器的安全:DevOps工程师的5大最佳实践

时间:2023-07-01 10:33:33浏览次数:86  
标签:容器 漏洞 主机 工程师 DevOps 安全 Docker 团队

     容器化导致许多企业和组织以不同方式开发和部署应用程序。Gartner最近的一份报告指出,到2022年,超过75%的全球组织将在生产中运行容器化应用,而2020年这一比例还不到30%。然而,虽然容器有许多好处,但如果没有适当的安全保障,它们肯定仍然是网络攻击的一个来源。以前,网络安全意味着保护一个单一的 "边界"。通过引入新的复杂层,容器已经使这个概念过时了。容器化环境有更多的抽象层次,这就需要使用特定的工具来解释、监控和保护这些新的应用程序。

image
什么是容器安全?
容器安全是使用一套工具和策略来保护容器免受潜在的威胁,这些威胁将影响应用程序、基础设施、系统库、运行时间等。容器安全涉及为容器堆栈实施一个安全环境,它包括以下内容:

容器镜像
容器引擎
容器运行时
容器仓库
主机
编排工具

大多数软件专业人员自动认为Docker和Linux内核是安全的,不会受到恶意软件的影响,这种假设很容易被高估。

5大容器安全最佳实践
1. 主机和操作系统安全
    容器提供了与主机的隔离,尽管它们都共享内核资源。这一点经常被忽视,这使得攻击者更难但不是不可能通过内核漏洞来破坏操作系统,从而获得对主机的根权限。
运行你的容器的主机需要通过确保底层的主机操作系统是最新的,来拥有自己的一套安全访问。例如,它正在运行最新版本的容器引擎。理想情况下,你需要设置一些监控,以便对主机层的任何漏洞进行提醒。另外,选择一个 "瘦操作系统",这将加速你的应用程序的部署,并通过删除不必要的包和保持你的操作系统尽可能的最小化来减少攻击面。基本上,在生产环境中,没有必要让人类管理员SSH到主机上应用任何配置变化。相反,最好是通过IaC与AnsibleChef等管理所有主机。这样一来,只有编排工具可以持续访问运行和停止容器。
2. 容器漏洞扫描
     应该对你的容器或主机进行定期的漏洞扫描,以检测和修复黑客可能用来访问你的基础设施的潜在威胁。一些容器仓库提供了这种功能;当你的镜像被推送到仓库时,它将自动扫描它的潜在漏洞。你可以主动出击的一种方式是通过采用 "左移 "理念在你的CI管道中设置漏洞扫描,这意味着你在开发周期的早期实施安全。同样,Trivy将是实现这一目标的绝佳选择。假设你想在你的内部节点上设置这种扫描。在这种情况下,Wazuh是一个可靠的选择,它将记录每一个事件,并根据多个CVE(常见漏洞和暴露)数据库来验证它们。
3. 容器仓库安全
    容器仓库提供了一种方便和集中的方式来存储和分发镜像。常见的情况是,组织在其仓库中存储了成千上万的镜像。由于仓库对容器化环境的工作方式如此重要,它必须得到良好的保护。因此,投资时间来监控和防止对你的容器注册表的未授权访问是你应该考虑的事情。
4. Kubernetes集群安全
    你可以采取的另一个行动是围绕你的容器编排重新加强安全,例如防止来自过度授权账户或通过网络攻击的风险。按照最小特权访问模式,保护舱与舱之间的通信将限制攻击所造成的损害。在这种情况下,我们推荐的一个工具是Kube Hunter,它是一个渗透测试工具。因此,它允许你在你的Kubernetes集群上运行各种测试,这样你就可以开始采取措施来提高它的安全性。
你也可能对Kubescape感兴趣,它与Kube Hunter类似;它扫描你的Kubernetes集群、YAML文件和HELM图表,为你提供一个风险分数:

image

5. 密钥安全
     容器或Docker文件不应包含任何秘密。(证书、密码、令牌、API密钥等),但我们仍然经常看到密钥被硬编码到源代码、镜像或构建过程中。选择一个密钥管理解决方案将允许你在一个安全、集中的保险库中存储密钥。


总结
      这些是你可以采取的一些主动的安全措施,以保护你的容器化环境。这一点至关重要,因为Docker出现的时间不长,这意味着其内置的管理和安全能力仍处于起步阶段。值得庆幸的是,在容器化环境中实现体面的安全,可以通过多种工具轻松实现,比如我们在文章中列出的工具。



今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队
构建创业公司突击小团队
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
Openshift与Kubernetes的区别

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

标签:容器,漏洞,主机,工程师,DevOps,安全,Docker,团队
From: https://www.cnblogs.com/wintersun/p/17518929.html

相关文章

  • Docker容器镜像加速
    环境:CentOS7设置docker环境[root@Master~]#mkdir-p/etc/docker[root@Master~]#cd/etc/docker[root@Masterdocker]#vidaemon.json{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}重启服务[root@Masterdocker]#systemctldaemon-rel......
  • 安装Docker容器(Linux系统)
    环境:CentOS7更新yum包[root@Master~]#yumupdateLoadedplugins:fastestmirrorDeterminingfastestmirrors*base:mirrors.aliyun.com*extras:mirrors.aliyun.com*updates:mirrors.aliyun.combase......
  • APP中Web容器的核心实现
     现在的业务型APP中,采用纯原生开发策略的已经很少了,大部分都使用的混合开发。如原生,H5,ReactNative,Flutter,Weex它们之间任意的组合就构成了混合开发。其中原生+H5是出现最早的,老牌混合方案,即使过来多年,在现在的混合开发方案中H5也是使用率非常高的。在APP中嵌入Web容器,将更新......
  • 如何快速判断是否在容器环境
    在渗透测试过程中,我们的起始攻击点可能在一台虚拟机里或是一个Docker环境里,甚至可能是在K8s集群环境的一个pod里,我们应该如何快速判断当前是否在容器环境中运行呢?当拿到shell权限,看到数字和字母随机生成的主机名大概率猜到在容器里了,查看进程,进程数很少,PID为1的进程为业务进程,这......
  • AMEYA360:太阳诱电导电性高分子混合铝电解电容器
    太阳诱电导电性高分子混合铝电解电容器,最适合需要大容量和高耐压的车载装置和产业设备。电解质使用导电性高分子和电解液,兼具高性能和高可靠性,满足客户需求。混合结构在阳极箔表面生成电介质(氧化铝)。用隔膜隔开阳极箔与阴极箔,用电解液和导电性高分子浸渍的结构。电解液具备......
  • AI 和 DevOps:实现高效软件交付的完美组合
    AI时代,DevOps与AI共价结合。AI由业务需求驱动,提高软件质量,而DevOps则从整体提升系统功能。DevOps团队可以使用AI来进行测试、开发、监控、增强和系统发布。AI能够有效地增强DevOps驱动流程,从开发人员的业务实用性和支持的角度来看,评估AI在DevOps中的重要性是十分......
  • Docker容器 如何修改容器时间,时区问题修改
    1.以root身份进入容器dockerexec-it-urootb3465e6bbc5b/bin/sh可以使用date查看时间2.在容器中创建文件mkdir-p /usr/share/zoneinfo/Asia3.回到宿主机,复制宿主机里的文件到容器中docker cp /usr/share/zoneinfo/Asia/Shanghai容器ID或容器名:/usr/share/zonei......
  • Java or Python?测试开发工程师如何选择合适的编程语言?
    很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效。目前最常见的情况是纠结选择Jav......
  • k8s 深入篇———— 守护容器[九]
    前言守护容器,也叫做deamonset,只做整理正文顾名思义,DaemonSet的主要作用,是让你在Kubernetes集群里,运行一个DaemonPod。所以,这个Pod有如下三个特征:这个Pod运行在Kubernetes集群里的每一个节点(Node)上;每个节点上只有一个这样的Pod实例;当有新的节点加入Kubernet......
  • 成为AI提示工程师所需的六项技能
    随着专业的人工智能快速工程工作每年从175,000美元到300,000美元以上,提示工程是一项有吸引力的工作。但是,成为一名优秀的人工智能提示工程师不仅仅需要能够提出引导性问题。您需要结合人工智能、编程、语言、解决问题甚至艺术等学科,才能在这条职业道路上茁壮成长。快速工程从根......