DevSecOps敏捷安全_子芽_AZW3_MOBI_EPUB_PDF_电子书(无页码)_子芽
内容节选
6.7.5 容器安全技术实践 容器是当前DevOps体系流程运行的核心部分,也是DevSecOps实践的主要关注点之一。关于容器安全的技术实践主要围绕以下几个维度:基础镜像管理、Docker和主机安全、运行时入侵检测、容器网络微隔离、微服务API安全、容器资源控制、CIS安全基线检测、编排工具安全。 1.基础镜像管理 (1)镜像扫描 网络上有大量公开的Docker镜像和存储库供开发者使用,但是如果开发者使用了存在安全风险的Docker镜像,那么基于此镜像所构建的应用均存在被入侵和控制的风险。 在默认情况下,Docker不会对任何直接拉取的镜像进行检测,所以在使用Docker镜像之前,需要主动对其进行镜像深度风险扫描,确保做到如下几点。· 对容器镜像进行成分分析,扫描其组件是否存在高危漏洞; · 检查容器镜像是否包含木马、病毒、恶意软件等; · 检查Dockerfile文件是否存在不安全的配置; · 具备基本安全常识,不运行未经验证的软件,不信任不明确的来源。 (2)镜像管理 容器在长期的使用过程中,很容易忘记其运行的镜像中包含哪些版本的哪些软件。从业务稳定运行的角度看,该容器的运行状态良好,但如果它运行的Web服务中间件版本恰好存在严重的安全漏洞,且这个缺陷早就在上游修复,却不在当前本地镜像中,那么若没有采取相应的措施,这种问题可能会在很长一段时间内被忽略。 从安全角度来看,我们需要定期对镜像进行检查。 1)定期更新和重建镜像,获取最新的安全补丁。可建立一个预生产测试平台来验证更新,以免破坏生产环境。· 尽量避免每次更新都重建整个镜像; · 使用官方提供的安全更新,做好安全补丁管理; · 基于Docker和微服务模型方法,在不中断正常应用运行的情况下逐步完成更新; · 用户数据信息与镜像分离。 2)保持设计简单化,将复杂的容器拆分,通过拆分各个组件减少攻击面,避免频繁更新带来新风险。· 使用漏洞扫描器,并建立邮件、短信、工单等警报模式,当发现安全问题时可及时知晓。 · 将容器镜像漏洞扫描程序集成为CI/CD流程的强制性步骤,尽可能实现自动化检测,并对检测到异常的镜像进行流程阻断操作。 · 部署或建立私有化的可信容器镜像仓库服务器。 2.Docker和主机安全 (1)Docker软件 Docker作为容器化基础软件,其本身的安全问题应该受到足够的重视,应包括但不限于以下问题:· Docker 软件自身漏洞。 · Docker引擎安全配置。 (2)主机和内核安全 由于Docker和主机共享内核,所以主机内核的安全问题也会影响到Docker。主机内核安全是一个被长期研究的主题,拥有大量的支撑材料和文献。本节只关注Docker相关的内容。· 确保安全的主机和Docker引擎配置(受限访问条件、访问身份验证、加密通信等)。可使用Docker基线审计工具来检查配置。 · 保持主机系统定期更新,并订阅操作系统安全更新情报,包括主机系统上运行的任何软件,特别是第三方来源的软件。 · 使用最小化、专为容器使用的主机系统(如CoreOS、Red Hat Atomic、RancherOS等),减少攻击面。 · 使用Seccomp、AppArmor或SELinux等工具在内核级别执行强制访问控制,增强对权限的管控,加大漏洞利用的难度。 3.运行时入侵检测 在该阶段基于Docker和Kubernetes CIS基线,利用系统安全扫描能力对主机和容器编排工具Kubernetes进行合规性检查,检查范围包括主机安全配置、Docker守护进程配置、Docker守护程序配置文件、容器镜像和构建、容器运行安全和Docker安全操作等,确保容器运行环境安全。 同时,通过入侵检测能力实时监测容器运行状态,当发现容器运行异常时,利用访问控制机制限制容器进一步的行为和通信。在容器运行过程中,可考虑建设的技术能力。· Webshell 扫描:对Docker容器内的Web应用文件进行安全扫描,检测是否被植入后门。 · 日志分析:采集容器内Web应用程序、系统程序生产的日志,或单独运行Sidekick日志容器,进一步分析潜在的安全风险。 · 异常行为检测:监测容器内敏感的调用对象,如进程、服务、文件系统等,阻断权限提升和破坏容器隔离性的行为。 · 部署RASP探针:RASP以探针的形式加载在Web应用及微服务进程中,通过运行时数据分析,实时检测各类攻击行为,并进行阻断。 4.容器网络微隔离 (1)微隔离技术 容器微隔离技术是一种容器网络安全层面的最佳实践。相比传统隔离技术,它具有许多优势。当前,许多组织采用新的基于容器的环境,使传统的基于边界的安全防护机制变得不再有效,微隔离提供的更加细粒度的可视化管理则显得更加重要。 通过对Pod之间的网络通信进行隔离,管理者更容易控制流量......
- 信息
- 作者简介
- 推荐语
- 推荐序一
- 推荐序二
- 前言
- 第一部分 开发安全入门
- 第1章 初识开发安全
- 1.2 SDLC中的阶段性安全活动
- 1.3 开发安全现状分析
- 1.4 安全左移在SDLC中的意义
- 1.5 总结
- 第2章 全面认识SDL
- 2.2 常见的SDL模型和框架
- 2.3 SDL体系建设
- 2.4 SDL体系建设面临的挑战
- 2.5 总结
- 第二部分 DevSecOps敏捷安全进阶
- 第3章 敏捷开发与DevOps
- 3.2 敏捷开发
- 3.3 DevOps
- 3.4 DevOps与敏捷开发的对比
- 3.5 DevOps面临的安全挑战
- 3.6 总结
- 第4章 DevSecOps敏捷安全内涵
- 4.2 从RSAC看DevSecOps进化
- 4.3 DevSecOps敏捷安全核心内涵
- 4.4 DevSecOps敏捷安全架构
- 4.5 DevSecOps敏捷安全现实意义
- 4.6 总结
- 第5章 DevSecOps敏捷安全体系
- 5.2 DevSecOps敏捷安全体系建设难点
- 5.3 DevSecOps敏捷安全体系设计
- 5.4 DevSecOps敏捷安全体系建设
- 5.5 DevSecOps敏捷安全体系建设参考
- 5.6 总结
- 第6章 DevSecOps敏捷安全技术
- 6.2 IAST技术解析
- 6.3 RASP技术解析
- 6.4 SCA技术解析
- 6.5 BAS技术解析
- 6.6 API安全技术解析
- 6.7 容器和Kubernetes安全解析
- 6.8 总结
- 第7章 DevSecOps敏捷安全度量
- 7.2 常见软件安全成熟度模型
- 7.3 成熟度模型对比分析
- 7.4 基于BSIMM12的DevSecOps度量模型设计参考
- 7.5 敏捷安全度量实践框架
- 7.6 总结
- 第三部分 DevSecOps落地实践
- 第8章 DevSecOps设计参考与建设指导
- 8.2 DevSecOps设计参考
- 8.3 DevSecOps建设指导
- 8.4 SDL向DevSecOps的转型
- 8.5 其他安全挑战
- 8.6 建议及思考
- 8.7 总结
- 第9章 云原生应用场景敏捷安全探索
- 9.2 云原生安全
- 9.3 云原生安全与DevSecOps
- 9.4 云原生下的敏捷安全落地实践
- 9.5 总结
- 第10章 DevSecOps落地实践案例
- 10.2 国际大型组织创新实践
- 10.3 总结
- 第四部分 DevSecOps与软件供应链安全
- 第11章 软件供应链安全
- 11.2 软件供应链安全现状及挑战
- 11.3 软件供应链攻击风险
- 11.4 软件供应链风险治理
- 11.5 软件供应链安全最新趋势
- 11.6 总结
- 第12章 开源安全治理落地实践
- 12.2 开源软件安全
- 12.3 开源许可证分析
- 12.4 开源治理
- 12.5 开源治理落地实践案例
- 12.6 总结
- 第13章 典型供应链漏洞及开源风险分析
- 13.2 SolarWinds供应链攻击事件
- 13.3 GPL3.0开源许可证侵权事件
- 13.4 总结
- 第五部分 趋势与思考
- 第14章 DevSecOps敏捷安全趋势
- 14.2 DevSecOps敏捷安全技术演进
- 14.3 总结