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. 信息
  2. 作者简介
  3. 推荐语
  4. 推荐序一
  5. 推荐序二
  6. 前言
  7. 第一部分 开发安全入门
  8. 第1章 初识开发安全
  9. 1.2 SDLC中的阶段性安全活动
  10. 1.3 开发安全现状分析
  11. 1.4 安全左移在SDLC中的意义
  12. 1.5 总结
  13. 第2章 全面认识SDL
  14. 2.2 常见的SDL模型和框架
  15. 2.3 SDL体系建设
  16. 2.4 SDL体系建设面临的挑战
  17. 2.5 总结
  18. 第二部分 DevSecOps敏捷安全进阶
  19. 第3章 敏捷开发与DevOps
  20. 3.2 敏捷开发
  21. 3.3 DevOps
  22. 3.4 DevOps与敏捷开发的对比
  23. 3.5 DevOps面临的安全挑战
  24. 3.6 总结
  25. 第4章 DevSecOps敏捷安全内涵
  26. 4.2 从RSAC看DevSecOps进化
  27. 4.3 DevSecOps敏捷安全核心内涵
  28. 4.4 DevSecOps敏捷安全架构
  29. 4.5 DevSecOps敏捷安全现实意义
  30. 4.6 总结
  31. 第5章 DevSecOps敏捷安全体系
  32. 5.2 DevSecOps敏捷安全体系建设难点
  33. 5.3 DevSecOps敏捷安全体系设计
  34. 5.4 DevSecOps敏捷安全体系建设
  35. 5.5 DevSecOps敏捷安全体系建设参考
  36. 5.6 总结
  37. 第6章 DevSecOps敏捷安全技术
  38. 6.2 IAST技术解析
  39. 6.3 RASP技术解析
  40. 6.4 SCA技术解析
  41. 6.5 BAS技术解析
  42. 6.6 API安全技术解析
  43. 6.7 容器和Kubernetes安全解析
  44. 6.8 总结
  45. 第7章 DevSecOps敏捷安全度量
  46. 7.2 常见软件安全成熟度模型
  47. 7.3 成熟度模型对比分析
  48. 7.4 基于BSIMM12的DevSecOps度量模型设计参考
  49. 7.5 敏捷安全度量实践框架
  50. 7.6 总结
  51. 第三部分 DevSecOps落地实践
  52. 第8章 DevSecOps设计参考与建设指导
  53. 8.2 DevSecOps设计参考
  54. 8.3 DevSecOps建设指导
  55. 8.4 SDL向DevSecOps的转型
  56. 8.5 其他安全挑战
  57. 8.6 建议及思考
  58. 8.7 总结
  59. 第9章 云原生应用场景敏捷安全探索
  60. 9.2 云原生安全
  61. 9.3 云原生安全与DevSecOps
  62. 9.4 云原生下的敏捷安全落地实践
  63. 9.5 总结
  64. 第10章 DevSecOps落地实践案例
  65. 10.2 国际大型组织创新实践
  66. 10.3 总结
  67. 第四部分 DevSecOps与软件供应链安全
  68. 第11章 软件供应链安全
  69. 11.2 软件供应链安全现状及挑战
  70. 11.3 软件供应链攻击风险
  71. 11.4 软件供应链风险治理
  72. 11.5 软件供应链安全最新趋势
  73. 11.6 总结
  74. 第12章 开源安全治理落地实践
  75. 12.2 开源软件安全
  76. 12.3 开源许可证分析
  77. 12.4 开源治理
  78. 12.5 开源治理落地实践案例
  79. 12.6 总结
  80. 第13章 典型供应链漏洞及开源风险分析
  81. 13.2 SolarWinds供应链攻击事件
  82. 13.3 GPL3.0开源许可证侵权事件
  83. 13.4 总结
  84. 第五部分 趋势与思考
  85. 第14章 DevSecOps敏捷安全趋势
  86. 14.2 DevSecOps敏捷安全技术演进
  87. 14.3 总结