ad

《基于Kubernetes的容器云平台实战》_了解最新技术前沿_3.5.1 容器安全加固规范

admin 83 2023-10-25

【摘要】 本书摘自《基于Kubernetes的容器云平台实战》一书中第3章,第5节,由陆平、左奇、付光和张晗等编著。

3.5.1 容器安全加固规范

Docker 主机安全加固

具有一定规模的企业会建立自己的主机安全加固规范及checklist, 按照这个规范进行即可,如关闭swap、 防火墙、文件句柄修等,必要时使用安全工具对主机进行安 全扫描。对安全要求极高的企业可以考虑使用自主研发的操作系统,在操作系统中启用

SELinux。

■ 更改运行容器的用户权限

为了防止容器“逃逸”并获得宿主机的权限,因此要用非root用户执行容器;如 果用户已经在镜像中定义,那么可以通过Dockerfile在此镜像基础上生产新的镜像,在

《基于Kubernetes的容器云平台实战》_了解最新技术前沿_3.5.1 容器安全加固规范

Dockerfile 中添加用户: RUN useradd -d/home/< 用 户 名 > -m -s/bin/bash < 用

户名> USER <用户名>。如果制作镜像文件时需要使用 root权限同后端 daemon 进程进 行交互,则可以使用kaniko开源工具进行处理。

■ 镜像中的 setuid 及 setgid

setuid和 setgid指令可用于提权,如果这两个指令使用高权限就可能引入了风险,因

此在镜像中要进行权限控制, 一般在 Dockerfile 末尾添加命令: RUN find/-perm 6000

-type f -exec chmod a-s {}\; | |true进行权限控制。

■ 对镜像进行安全扫描,使用安全可信的容器镜像

使 用clair或其他工具对镜像文件进行安全漏洞扫描,根据扫描结果打补丁或更新软件, 消除安全隐患后再重新制作镜像。

■镜像文件使用数字签名

对从 Docker 仓库发送和接收的数据使用数字签名能力,允许客户端验证特定镜像标签 的完整性。

■启用HTTPS

Docker 对所有请求启用TLS 验证,启用HTTPS 需要对Docker 启动文件进行配置,可 使用命令:

dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-

key ·pem \-H=10.47.40. 110:2376

■ 容器网络流量限制

默认情况下容器能访问容器网络上的所有流量,因此可能会导致信息泄露, Dockerd 采 用守护进程模式启动时增加参数-icc = false可以对容器流量进行限制,只访问自己的 流量。

内存配额限制

默认情况下容器可以使用主机所有内存,容器启动时通过-m 或 -memory 参数限定容器 的内存,如使用命令docker run -it --rm -m 128m限制内存配额。

■CPU 优先级限制

默认情况下CPU 是没有设置优先级的,用户可以通过CPU 共享设定优先级。如使用 下面的命令设置优先级:

docker run -it --rm --cpuset=0,1 -c 2

■ 存储空间配额限制

采用docker -d --storage-opt dm.basesize=5G命令可限制存储空间配额, 但目前还不能有效控制磁盘I/O。

■ 日志和审核

收集并归档与 Docker 相关的日志以便后期进行审核监控或做统计分析,记录容器日志 的命令如下:

docker run -v /dev/log:/dev/log /bin/sh

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《JAVA服务端研发知识图谱》_让你更懂Java后台研发_1.4.4 This与Static
下一篇:阅读《基于Python语言的软件测试技术》_打开新的知识大门_3.1.3 软件度量的实施过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×