HummerRisk 是一个开源的云安全治理平台,以非侵入的方式对云原生环境进行全面安全检测,核心解决三个方面的问题,底层的混合云安全合规,中层的 K8s 容器云安全和上层的软件安全。
特性
混合云安全治理
- 混合云安全合规检测:对主流的公(私)有云资源进行安全合规检测,例如等保 2.0 预检、CIS 合规检查、各种基线检测,同时可自定义检测规则。
- 漏洞检测:基于漏洞规则库,通过扫描等手段对指定的网络设备及应用服务的安全脆弱性进行检测。
- 合规报告:一键获取合规报告,全面掌控安全态势。
优势是什么?
- 支持全面: 支持的几乎所有公有云,包括:阿里云、腾讯云、华为云、火山引擎、百度云、青云、UCloud、Amazon Web Services、Microsoft Azure、Google Cloud,支持的私有云包括:OpenStack、VMware vSphere,并还在不断的扩充支持的范围。
- 容易上手: 只需绑定云账号,就可以一键执行检测。
- 开箱即用: 内置大量规则,并可按需自定义规则。
K8s 容器云安全
- K8s 资源态势:可以关联多个 K8s 集群,统一查看各个关联环境的资源态势。
- 环境检测:根据 K8s 安全基线进行检测,发现存在的配置错误、安全漏洞、危险动作等内容。
- 镜像检测:全面检测镜像相关的漏洞,包括操作系统、软件包、应用程序依赖等方面。
- 容器检测:对运行容器进行扫描检测,发现存在的安全问题和风险内容。
- 部署检测:检测 K8s 的部署编排文件,在部署前发现其中的配置问题。
- 主机检测:可以自定义检测内容,发现底层主机/虚机中存在问题。
- 源码检测:检测开发者的源代码,提前发现其中的开源协议、依赖、漏洞、代码等问题。
- SBOM 管理: SBOM 的可视化管理和分析,检测 SBOM 的变更,快速发现和定位软件供应链中的风险和漏洞,给出合理的处理建议。
优势是什么?
- 兼容性: 支持多种 K8s 发行版。
- 独立性: 中立产品,客观检测。
- 无侵入:无侵入式检测。
软件供应链安全
- 源码检测:检测开发者的源代码,提前发现其中的开源协议、依赖、漏洞、代码等问题。
- 软件依赖检测:通过对软件成分的分析,发现依赖漏洞,同时构建 SBOM。
- 镜像依赖检测:检测镜像中的各种依赖信息,并发现安全漏洞。
- SBOM 管理: SBOM 可视化管理和分析,监测 SBOM 变更,发现和定位软件供应链中的风险和漏洞。
安装
最简单的方式只需两步即可快速安装 HummerRisk。准备一台不小于 4 核 8G 内存的 64 位 Linux (建议首选 CentOS 7 以上) 主机, 以 root 用户执行如下命令即可一键安装 HummerRisk。
# 下载最新版本的安装脚本
curl -sSL https://github.com/HummerRisk/HummerRisk/releases/latest/download/quick_start.sh -o quick_start.sh
# 执行安装命令
bash quick_start.sh
# 安装完成后配置文件 /opt/hummerrisk/config/install.conf
当然我们也可以手动部署,根据需要配置相关参数,建议使用外置的 MySQL 数据库。
首先指定需要安装的版本:
export hummerrisk_version=v0.2.0
然后下载对应的安装包:
wget https://github.com/HummerRisk/HummerRisk/releases/download/{{ hummerrisk_version }}/hummerrisk-installer-{{ hummerrisk.version }}.tar.gz
解压安装包:
tar -xf hummerrisk-installer-{{ hummerrisk_version }}.tar.gz
cd hummerrisk-installer-{{ hummerrisk_version }}
打开 install.conf 配置文件,根据需要修改默认的配置文件。
$ vim install.conf
# 以下设置如果为空系统会自动生成随机字符串填入
## 安装配置
# 镜像仓库地址
HR_DOCKER_IMAGE_PREFIX=registry.cn-beijing.aliyuncs.com
# 数据持久化目录
HR_BASE=/opt/hummerrisk
HR_DOCKER_DIR=/var/lib/docker
## Service web端口
HR_HTTP_PORT=${HR_HTTP_PORT}
# 当前版本
HR_CURRENT_VERSION=v1.0
## MySQL 数据库配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息
HR_USE_EXTERNAL_MYSQL=${HR_USE_EXTERNAL_MYSQL}
HR_DB_HOST=${HR_DB_HOST}
HR_DB_PORT=${HR_DB_PORT}
HR_DB_USER=${HR_DB_USER}
HR_DB_PASSWORD=${HR_DB_PASSWORD}
HR_DB_NAME=${HR_DB_NAME}
## docker 配置
# docker 网段设置
HR_DOCKER_SUBNET=172.19.0.0/16
# docker 网关 IP
HR_DOCKER_GATEWAY=172.19.0.1
## Compose 项目设置
# 项目名称
COMPOSE_PROJECT_NAME=hr
# 超时时间
COMPOSE_HTTP_TIMEOUT=3600
# docker 客户端超时时间
DOCKER_CLIENT_TIMEOUT=3600
配置完成后然后执行如下所示命令开始安装:
bash install.sh
安装完成后使用 hrctl start 命令即可启动。
使用
启动完成后即可在浏览器中访问其 web 服务。
默认登录的账户为: admin, 密码为 hummer。
登录完成后即可进入到首页,首页概况性展示了检测结果的核心信息,分为总览、分析、活动记录三个页面,默认显示概览页面。
总览页面展示用户数、账号数、规则数、结果数、任务数、安全评分等信息,以及云账号统计、漏洞统计、虚机统计、软件包溶剂、镜像统计,通过日历展示任务执行情况。
通过用户自定义展示样式与颜色,按分析周期、检测人员、检测类型、检测账号等信息进行分析。通过按检测类型筛选、按检测分组筛选、按检测账号筛选、按风险等级筛选、按检测人员筛选、按时间节点筛选数据,获取检测结果。
其他就是常用的混合云安全、云原生安装等操作了。比如云账号设置,主要用来记录云账号认证信息,保存检测参数,用于按检测规则检测云平台资源。
如果需要做 K8s 检测,在使用云原生安全扫描任务前需在 K8s 集群上安装 tirvy-operator。可以直接使用对应的 Helm Chart 进行一键安装,如下所示命令:
# 1.添加 chart 仓库
helm repo add hummer https://registry.hummercloud.com/repository/charts
# 2.更新仓库源
helm repo update
# 3.开始安装, 可以自定义应用名称和NameSpace
helm upgrade --install trivy-operator hummer/trivy-operator \
--namespace trivy-system \
--set="image.repository=registry.cn-beijing.aliyuncs.com/hummerrisk/trivy-operator" \
--create-namespace --set="trivy.ignoreUnfixed=true"
# 4.检测operator是否启动成功
kubectl get pod -A|grep trivy-operator
trivy-system trivy-operator-69f99f79c4-lvzvs 1/1 Running 0 118s
安装完成后要启用 K8s 环境安装检测功能,需要绑定 K8s APIServer Url 和对应的 Token 信息,然后才能生成安全漏洞结果。
在云原生检测结果列表,点击 统计按钮 进入详情列表,点击 状态按钮 就可以查看日志与报告了。
除此之外还有很多相关功能,并且我们还可以根据自身的需求自定义云资源检测规则,更多相关功能可以查看官方文档 https://docs.hummerrisk.com 了解更多相关信息。
Git 仓库:https://github.com/HummerRisk/HummerRisk。