安全防护工具之:Clair

这里写图片描述
安全性对任何产品来说都非常重要,比如著名的HeartBleed就就曾经给很多忽视安全问题的企业带来了很大的影响。而随着容器化的推进,早在2015年的一次调查中,研究者就曾发现取样的Dockerhub上有30%-40%的镜像存在安全性的问题。Clair正是由coreos所推出的这样一款针对容器的安全扫描的工具,类似于Docker在其收费版中提供的功能那样,能对应用容器的脆弱性进行静态扫描,同时支持APPC和DOCKER。

项目地址

项目 详细
项目地址 https://github.com/coreos/clair

为什么使用Clair

随着容器化的逐渐推进,使用的安全性也受到越来越多地重视。在很多场景下,都需要对容器的脆弱性进行扫描,比如

项目 详细
镜像来源不明 在互联网上下载的镜像,可以直接使用,非常的方便,但是是否真正安全还非常难说
生产环境的实践 容器上到生产环境之后,生产环境对容器的安全性要求一般较高,此时需要容器的安全性得到保证

名称的由来

clair的目标是能够从一个更加透明的维度去看待基于容器化的基础框架的安全性。Clair=clear + bright + transparent

工作原理

通过对容器的layer进行扫描,发现漏洞并进行预警,其使用数据是基于Common Vulnerabilities and Exposures数据库(简称CVE), 各Linux发行版一般都有自己的CVE源,而Clair则是与其进行匹配以判断漏洞的存在与否,比如HeartBleed的CVE为:CVE-2014-0160。
这里写图片描述

数据源支持

目前Clair支持如下数据源:

数据源 具体数据 格式 License
Debian Security Bug Tracker Debian 6, 7, 8, unstable namespaces dpkg Debian
Ubuntu CVE Tracker Ubuntu 12.04, 12.10, 13.04, 14.04, 14.10, 15.04, 15.10, 16.04 namespaces dpkg GPLv2
Red Hat Security Data CentOS 5, 6, 7 namespaces rpm CVRF
Oracle Linux Security Data Oracle Linux 5, 6, 7 namespaces rpm CVRF
Alpine SecDB Alpine 3.3, Alpine 3.4, Alpine 3.5 namespaces apk MIT
NIST NVD Generic Vulnerability Metadata N/A Public Domain

数据库

Clair的运行需要一个数据库实例,目前经过测试的数据库的版本为

数据库 版本
postgresql 9.6
postgresql 9.5
postgresql 9.4

运行方式

因为clair以镜像的方式进行打包和发布,所以其运行支持如下几种方式:

  • Kubernetes
  • docker-compose
  • docker

本文使用docker-compose来演示起使用方法,其他方式大同小异。

事前准备

docker版本

[root@liumiaocn ~]# docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 08:47:51 2017
 OS/Arch:      linux/amd64
 Experimental: false
[root@liumiaocn ~]#

docker-compose版本

[root@liumiaocn ~]# docker-compose version
docker-compose version 1.14.0, build c7bdf9e
docker-py 
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 40
    评论
Docker 在安全方面提供了一些保护措施,但它仍然需要正确配置和管理才能确保安全性。下面是一些关于 Docker 安全性的考虑和措施: 1. 隔离性:Docker 使用容器来实现应用程序的隔离,每个容器都运行在自己的环境中,使得容器之间相互隔离。这有助于减少容器之间的攻击风险。 2. 用户权限管理:Docker 提供了用户权限管理机制,可以限制容器内部的用户对主机系统的访问权限。合理配置用户权限可以减少潜在的安全漏洞。 3. 镜像来源验证:在使用 Docker 镜像时,应该验证镜像的来源和完整性。只使用受信任的镜像源,并确保镜像在传输过程中没有被篡改。 4. 容器漏洞扫描:定期对容器进行漏洞扫描,及时发现并修复容器中的安全漏洞。可以使用一些工具Clair、Trivy等来进行容器漏洞扫描。 5. 容器网络安全:Docker 提供了网络隔离的功能,可以设置不同容器之间的网络访问规则,并限制容器对外部网络的访问。合理配置容器网络可以减少攻击面。 6. 容器监控和日志记录:实时监控容器的运行状态,记录容器的日志信息,有助于及时发现异常情况和安全事件。 7. 定期更新和维护:及时更新 Docker 引擎和相关组件,以修复已知的安全漏洞,并维护容器环境的安全性。 尽管 Docker 提供了这些安全性措施,但在使用 Docker 时仍然需要谨慎操作。合理配置和管理容器,定期更新和扫描容器,以及保持对安全最佳实践的关注,都是确保 Docker 安全的关键。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值