1.仅在容器中运行必要的服务,像ssh等服务绝对不能开启
2.docker远程api访问控制,至少应该限制外网访问,
3.限制流量流向,使用iptables过滤器显示docker容器的源ip地址范围和外界通信
4.使用普通用户启动docker,
5.文件系统限制,挂载的容器根目录绝对只读,而且不同容器对应的文件目录权限分离,最好是每个容器在宿主上都有自己的独立分区。
6.镜像安全,对下载的镜像进行检查。只从受信任的库中获取镜像,不要使用-insecure-registry=[]
7.docker客户端和docker通信安全最好双方都进行加密
8.资源限制,最好支持动态扩容,这样既可以降低风险,也不影响业务例如:
docker run -itd -name ec2 -cpuset-cpus 3 -cpu-shares 2048 -memory 2048m
限制使用第2内核,配额为2048,名称叫ec2,内容限制为2048m的容器
9.宿主及时升级内核漏洞
10避免docker中信息泄露
11.安装安全加固,如果可能使用安全的linux内核,内核补丁,
12.能力限制,尽可能降低linux能力,在命令行启动容器时,可以通过-cap-add=[]
或-cap-drop=[]进行控制,例如:
docker run -cap-drop setuid -cap-drop setgid -it /bin/bash
13.完全虚拟化
使用一个完全虚拟化解决方案来容纳docker,如kvm.
14 日志分析 docker logs
15 漏洞扫描
16 端口扫描
docker容器安全规则
最新推荐文章于 2024-09-18 11:29:38 发布