安全扫描

简介

DaoCloud Hub 镜像仓库作为 DaoCloud Services 的核心组件之一,为用户提供企业级的镜像存储管理分发功能。随着产品更新我们又发布了镜像安全扫描功能,为企业用户的应用提供安全保障。

Dockerfile 方便了我们构建镜像,但也隐藏了镜像内软件包的构成,我们很难清晰地知道自己的镜像中存在了哪些软件包,更不了解有哪些安全隐患。更进一步来说,当一个新的漏洞被发布出来之时,我们又怎能更快得知我们的容器是否受到影响呢?为了帮助用户更加方便、快捷、清晰地了解自己的镜像,并发现其中潜在的安全隐患,我们推出了镜像安全扫描这一功能。我们随时同步国际权威的漏洞信息平台的数据,逐层分析镜像中包含的软件包,帮助用户第一时间发现镜像的安全隐患,并提供版本升级的建议。

使用说明

点击镜像页面,选择查看版本。点击右侧部署下拉栏,点击安全扫描,即可对该镜像进行扫描。扫描完成后您可以得到详细安全报告页面,点击查看分析按钮,可以从漏洞与软件包两个不同的视角为您呈现镜像的安全情况。

 

1.漏洞视图展示了镜像内扫描到的安全隐患情况,对于每一个漏洞信息,我们提供了详细的描述。通过每天同步 NVD(美国国家漏洞数据库) 及 Redhat,Debian 等软件包的漏洞及补丁信息,即时获取最新的漏洞数据,为您的镜像安全提供第一时间的信息。

 

2.软件包视图展示了扫描到的软件包,及其安全概述。


开启自动扫描

除手动扫描之外,在设置页面,可以开启自动安全扫描,当您构建成功或 push 镜像到镜像仓库中时,将自动触发安全扫描,为您生成详细的镜像安全报告。

如何让镜像更安全

1.开启自动安全扫描功能

开启自动安全扫描,每次构建完成后自动触发扫描,帮助您了解镜像存在的安全隐患。

2.优化 Dockerfile

  • 在编写 Dockerfile 时,尽量少安装不被使用的软件包
  • 使用最新的基础镜像,并经常更新
  • 在 Dockerfile 中加入执行软件包更新操作(例如 apt-get update && apt-get upgrade -y),用来更新软件源维护者提供的软件包更新版本。
  • 在使用中的软件包存在比较紧急且严重的漏洞,如果系统维护者未提供修复更新,可以从软件源代码自行编译安装修复过的版本。

3.使用 alpine 基础镜像

Alpine Linux 是一个可信赖的Linux发行版

  • 面向 x86 路由器、防火墙、虚拟专用网、IP电话盒及服务器而设计。
  • 它在设计时就贯彻了安全的理念,包含了一些主动安全特性如 PaX 和 SSP,它们能防止软件中的漏洞被黑客加以利用
  • 轻量,大小仅约5MB

采用基于 Alpine 的基础镜像,可以帮助减少镜像内不必要的软件包,不仅提高了镜像的安全性,而且让镜像更加轻量。

大部分基础镜像都提供了基于 alpine 的版本。在写 Dockerfile 时可以使用如

FROM python:3.5-alpine 

之类的镜像来获得apline linux 基础镜像进行构建。

4.使用安全镜像构建功能

如果您的镜像中采用二进制文件运行应用,可以使用 DaoCloud Services 镜像构建中的安全构建功能,将编译出的二进制文件打包到新的镜像中(建议使用 alpine 基础镜像),以提高镜像的安全性。