docker安全威胁与保障

Docker是一种虚拟化,可扩展的解决方案,现在市面上常用的虚拟化解决方案基本上都是Docker,因为它占用资源更少,易于部署,并且启动迅速。开发者可以在同样的硬件上运行更多的service,大大节省成本。

使用Docker会有哪些优点呢?
  • Docker基于镜像启动,在编译,管理以及部署方面非常方便
  • 任何语言开发的应用都可以在Docker的容器化环境中运行
  • Docker 容器可以连到当前运行的主机,在相同的kernel与系统资源下,多个容器之间的通信变得非常简单
  • 使用Kubernetes 能够更加有效的部署和管理容器

从2013年Docker技术问世,越来越多的企业使用Docker来部署他们的服务。但是Docker的快速应用也带来安全上的顾虑,企业不仅需要服务器更加高效,也需要更高的安全性。我们可以从下面几个方面来考量容器部署的安全性。

  • 窃取敏感信息 - 不要以未加密的形式存储重要的API keys 和 passwords
    • 容器的文件系统应该设置为只读
    • 让应用在最小权限执行
    • 不要使用环境变量传递机密信息
    • 不要使用root权限执行容器
  • 感染的Docker镜像 - 从未知的源下载Docker镜像是不安全的行为,你可能下载到带有病毒或者是过期的镜像,尽量从官方hub下载镜像,并使用MD5/SHA1 hash 来验证镜像
  • 容器侵入 - 如果Docker配置不当,例如使用安全系数较低的ACL或者打开 SETUID/SETGID 等等,黑客就可以侵入容器,进而获取到主机的访问权限
    • 没有禁用SETUID/SETGID 命令可能会导致攻击者获得root权限
    • 使容器的文件系统只读,这样第三方就无法在容器上执行恶意脚本
可以从下面几个方面来保障容器的安全
  • 修改容器中 SETUID/ SETGID 的权限

    RUN find / -perm +6000 -type f -exec chmod a-s {} ; \ || true

  • 防止资源耗光 - 所有的容器共享一台主机的kernel资源,如果不限制容器使用的资源,主机的资源最终会耗光而导致死机

    • 在容器启动时从虚拟机的级别进行内存限制
  • kernel 使用 - 尽量保证容器使用的kernel在较新的版本,因为旧版本的kernel可能会存在被侵入风险,导致主机被人利用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值