安全文章

​小佑科技推出免费镜像漏洞扫描工具支持与harbor镜像仓库无缝集成

2020-02-05 北京小佑科技有限公司

0.jpg

镜像安全的解决方案

    镜像是容器的最基础的载体,docker作为最流行的容器runtime,其最大的贡献就是把镜像作为容器应用的标准交付方式,镜像包含了容器运行的所有基础文件,可以说镜像的安全就决定了容器安全。

    但现实不乐观,在docker官方镜像中有超过30%的镜像有高危漏洞,平均每一个镜像有127个中危漏洞,几乎没有镜像没有漏洞。镜像在构建过程中会安装依赖组件,这些组件存在大量漏洞,而这仅仅是基础运行环境的软件漏洞。

1.png

    安全前移是目前最主流的安全治理思路,希望镜像在进入生产环境前尽量解决安全问题,对于镜像的安全控制可以在三个地方:


    一、构建时,在使用持续集成平台自动构建后,拿jenkins来举例说明,当镜像构建完成后,对构建的镜像进行漏洞扫描,如果出现策略不允许出现的安全漏洞,中断流程,达到安全控制。
    二、存储时,在镜像仓库中对上传的镜像进行漏洞扫描,发现安全问题,禁止拉取。
    三、运行时,在镜像拉取到主机节点,启动时扫描镜像漏洞,禁止镜像运行。
    所以,镜像安全问题最好在持续集成过程中和镜像仓库中解决。


2.jpg

    开源免费的镜像漏洞扫描器使用得最多的就是Clair,Clair是最早由Quay推出的开源镜像漏洞扫描器,也是目前应用最广的扫描器;另外使用较多是Anchore,Anchore以最早支持应用框架漏洞扫描闻名。Clair扫描器的社区活跃度是最高的,经历了几个大的版本迭代,扫描效率有所提升,但是准确度还存在一些问题,而Anchore由python开发,扫描效率比Clair要低,社区活跃度一般。


小佑科技免费扫描器harbor-scanner介绍

    小佑科技作为国内领先的云原生安全产品提供商,将其商业版的镜像扫描部分功能免费出来,提供给用户使用。本次我们推出的免费镜像扫描工具得到Harbor开源社区的大力支持,Harbor是Vmware中国团队推出的优秀开源项目,世界上最流行的镜像私有仓库,在Github上超过1万的starts,也是云原生基金会(CNCF)项目,Harbor镜像仓库在最新的1.10版本后加入了镜像漏洞扫描器的管理,用户可根据自身需求选择镜像漏洞扫描器,取代之前内置的Cliar扫描器。


3.jpg

    https://github.com/goharbor/harbor/releases/tag/v1.10.0小佑科技推出的免费镜像扫描工具harbor-scanner作为Harbor第一批官方推荐的扫描器,通过Harbor的兼容性测试,用户可放心使用。    

4.jpg

    https://github.com/goharbor/harbor/blob/master/docs/harbor_compatibility_list.md#Scanner-Adapters

    目前全球有4款免费的镜像扫描器通过兼容性测试,除上文介绍到的Clair和Anchore,还有著名以色列容器安全公司的Aqua的Trivy扫描器,而小佑科技的Harbor-scanner是唯一支持中文漏洞库扫描器。

    可以从以下地址获取:https://github.com/dosec-cn/harbor-scanner 

    小佑科技的Harbor-Scanner镜像漏洞扫描器开箱即用,考虑到很多用户在无联网环境中使用,我们的安装包包含了在版本发布时的全部最新漏洞库,其中包括最新的CNNVD中文漏洞库,用户无需联网也可以获取到比较新的漏洞库,同时产品支持实时在线更新漏洞库。

    与当下流行的开源镜像漏洞扫描器相比, Harbor-Scanner 扫描器主要有以下几个特点:
    1. 扫描更准确,可识别各个系统发行版中非统一的小版本;
    2. 可显示中文漏洞描述信息;
    3. 支持 CVE 和 CNNVD 双漏洞编号;
    4. 离线版本中已包含发布日期时最新的全量漏洞库,首次安装无需更新漏洞库即可立即对镜像进行安全扫描;
    5. 联网情况下可以自动更新漏洞库(需要在配置中开启自动更新参数)。

    支持扫描的操作系统类型如下:

    §  Debian >= 7,unstable

    §  Ubuntu LTS releases >= 12.04

    §  Red Hat Enterprise Linux >=5

    §  CentOS >= 5

    §  Alpine >= 3.3

    §  Oracle Linux >= 5

安装及使用方法

    用户可根据下面的步骤进行安装配置后就可以在 Harbor 的管理界面直接对镜像进行安全扫描(提醒: Harbor 的 1.10 版本新增了自定义扫描器的功能,Harbor-Scanner 扫描器需要 Harbor >= 1.10 才可以使用)

    一、安装

    推荐将 Harbor-Scanner 和 Harbor 镜像仓库部署在同一台服务器。

    1、下载 Harbor-Scanner 的离线安装包并解压

         wget https://github.com/dosec-cn/harbor-scanner/releases/download/v1.0/dosec-scanner.tgz       

        # 解压

        tar xf dosec-scanner.tgz

        # 进入项目

         cd dosec-scanner        

    2、运行 Install 脚本

         需要提前安装 docker-compose

          ./Install.sh

    3、登录 Harbor 管理界面 -> 配置管理 -> Scanners -> NEW SCANNER

5.png

        填写扫描器配置 ->点击 ADD 确认添加

6.jpg

    ① 填写扫描工具的名称

    ② 填写扫描工具的 IP 和端口

    ③ 测试 Harbor 和扫描工具是否能正常连接

    ④ 只有测试连接成功后才能添加

    二、定义配置


    可根据需要更改docker-compose.yaml文件


version: '2.2'
services:  dosec-db-hb:    image: hub.dosec.cn/library/dosec-db-hb:2019-10-24T18.39.33    restart: always
 dosec-scannerapp:    depends_on:      - dosec-db-hb    image: hub.dosec.cn/library/dosec-scannerapp:2019-10-24T19.17.35V1.0.0_prod    # 默认映射了主机的 8899 端口    ports:      - "8899:8899"    restart: always    # 默认将程序日志映射到了主机的 /var/log/dosec-scanner 目录    volumes:      - /var/log/dosec-scanner:/dosec/log
 dosec-scanner-hb:    depends_on:      - dosec-db-hb      - dosec-scannerapp    image: hub.dosec.cn/library/dosec-scanner-hb:2019-10-25T11.58.04V1.0_release    # command: ["-update_cve"]    # 默认注释了在线更新 CVE 功能,会消耗大量 CPU 和内存    restart: always    # 默认将程序日志映射到了主机的 /var/log/dosec-scanner 目录    volumes:      - /var/log/dosec-scanner:/dosec/log

    三、卸载


    进入 Harbor-Scanner 项目目录,执行以下命令即可完全卸载

    docker-compose down

与商业版对比


    小佑科技同时提供商业版本的镜像扫描工具,商业版本的镜像安全除免费版的功能外,还包含开源框架漏洞扫描、镜像内病毒木马检测、镜像中敏感数据扫描、镜像操作历史追踪、镜像修复建议及加固等。同时提供容器资产管理,容器入侵检测与防护、容器云原生防火墙、微服务与API安全、kubernetes安全、合规审计等其他云原生安全功能。

10.jpg


后续更新计划

    容器安全或云原生安全属于比较新的安全领域,小佑科技旨在为推动国内的容器及云原生安全出一份力。对已上线的容器环境中,快速且免费的为用户提供一个基本的安全防护能力,该项目会永久免费且维护,计划在后续的版本中:

    1.  进一步优化性能及准确性;

    2.  推出可独立运行的镜像漏洞扫描器;

    3.  并提供独立的API便于集成;

    4.  提供可视化镜像漏洞扫描结果报告。


    欢迎使用者积极与我们反馈相关问题,监督我们做得更好。

    可以通过加以下微信号,拉入社区讨论群:


9.jpg

8.jpg