Docker与容器安全
Docker能否大规模用于生产环境,尤其是公有云环境,就在于Docker是否能提供安全的环境。本文将总结《Docker容器与容器云》一书3.9节『Docker与容器安全』的主要内容,包括Docker现有安全机制、存在的安全问题以及Docker安全增强三个方面。
1. Docker的安全机制
1.1 Docker daemon安全
- Docker向外界服务提供了四种通信方式,默认是以Unix域套接字的方式来与客户端通信,这种方式较TCP形式更为安全。
- Docker也提供了TLS传输层安全协议,通过--tlsverify(安全传输校验),--tlscacert(信任证书)、--tlskey(服务器或者客户端秘钥)、--tlscert(证书位置)来配置。
1.2 镜像安全
-
Docker registry镜像库访问控制
- Docker daemon第一次启动时,通过公网(Amazon CDN)载入official.json包,饮食公共image和用户image的目录以及数字签名信息。
- official.json在Docker daemon启动时加载到MemoryGraph,MemoryGraph用于存储公钥以及命名之间的授权映射,默认授权节点对授权空间有读写权限。
-
镜像校验和
- 镜像校验和用来保证镜像的完整性,以预防可能出现的镜像破环。
- 目前Docker对于镜像校验和和验证失败不采取任何措施,仅输出警告信息