之前有小伙伴提问到,关于容器到底要测评哪些内容,也就是测评对象的选取。
首先要区分的是容器与容器集群这两个概念。容器集群概念可参考该篇文章。
不使用容器扩展要求情况
当仅使用容器技术时,采用安全通用要求,无需使用容器安全扩展要求。例如某网站系统,在服务器上运行了docker 容器,应用系统以及数据库均跑在容器中。此时我们将运行docker容器的宿主机作为主机测评对象,数据库以及中间件就测评容器中使用的相关软件。
如下图所示:该系统使用docker 搭建了一个web应用系统,我们可以分别进入对应的 docker 去查询它的一些配置情况
中间件 ngxin 1.25.5
数据库 mysql 5.7
此时将上述中间件、数据库分别使用安全通用要求进行测评。
但是在容器中运行的相关内容,要注意它们是否已做容器数据卷持久化操作。如果MySQL容器删了,等于删库跑路?那当然不是
容器数据卷是用于在容器间共享持久性数据的一种机制。容器数据卷可用于存储代码、配置文件、日志文件等数据,使得容器可以在不同的容器间共享这些数据。容器数据卷的内容会持久保存,不受容器生命周期影响,即使容器被删除,数据仍然保留在数据卷中。并且可以不用进入容器,直接在主机本地修改相应内容,容器内部文件也会同时同步。(例如要求日志留存6个月以上,这就需要将容器内的日志目录内容同步到本地来)
可以通过 docker inspect 容器id 命令查看
ps:如果没有上述Mounts,则代表未使用该技术
配置过后,我们就能在本地查看到对应的日志信息了
此时即使删除对应的容器,数据也会留下
使用容器扩展要求情况
确认是否使用容器集群技术,一般询问运维人员即可,如果使用了该项技术,我们前期调研收集的内容就有 容器集群,管理平台,镜像仓库,dockerfile扫描工具,镜像扫描工具 等等,详情可参考等保2.0测评 — 容器安全扩展要求(安全计算环境)。
除了引用容器扩展要求外,同时还需对整个集群内涉及的各类系统进行安全通用要求测评。例如容器管理平台,还需要作为系统管理软件进行测评,容器宿主机(节点) 当作主机测评对象、 容器管理平台作为系统管理、软件测评对象、 集群网络作为网络测评对象、 业务应用软件(可能是独立容器镜像, 也可能是多个容器镜像共同组成)作为应用测评对象。
这里引用《网络安全等级保护容器安全要求》中的内容,指标选取则按照下述要求。
各场景与等级保护技术要求的映射关系
要求项与适用场景对照表
要求项与对象对照表