草庐IT

开源云原生安全治理平台 HummerRisk

HummerRisk 2023-03-28 原文

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。

有关开源云原生安全治理平台 HummerRisk的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  3. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  4. ruby-on-rails - 安全地显示使用回形针 gem 上传的图像 - 2

    默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同

  5. ruby - 使写入文件线程安全 - 2

    我在一个ruby​​文件中有一个函数可以像这样写入一个文件File.open("myfile",'a'){|f|f.puts("#{sometext}")}这个函数在不同的线程中被调用,使得像上面这样的文件写入不是线程安全的。有谁知道如何以最简单的方式使这个文件写入线程安全?更多信息:如果重要的话,我正在使用rspec框架。 最佳答案 您可以通过File#flock给锁File.open("myfile",'a'){|f|f.flock(File::LOCK_EX)f.puts("#{sometext}")}

  6. ruby-on-rails - 最灵活的 Rails 密码安全实现 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我需要实现具有各种灵活需求的密码安全。这些要求基本上取自Sanspasswordpolicy:Strongpasswordshavethefollowingcharacteristics:Containatleastthreeofthe

  7. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

  8. 【云原生】SpringCloud-Spring Boot Starter使用测试 - 2

    目录SpringBootStarter是什么?以前传统的做法使用SpringBootStarter之后starter的理念:starter的实现: 创建SpringBootStarter步骤在idea新建一个starter项目、直接执行下一步即可生成项目。 在xml中加入如下配置文件:创建proterties类来保存配置信息创建业务类:创建AutoConfiguration测试如下:SpringBootStarter是什么? SpringBootStarter是在SpringBoot组件中被提出来的一种概念、简化了很多烦琐的配置、通过引入各种SpringBootStarter包可以快速搭建出一

  9. ruby - 为什么我必须对 Net::HTTP 请求的安全字符进行 URI.encode? - 2

    我尝试使用Net::HTTP向Twitter发送GET请求(出于隐私原因替换了用户ID):url=URI.parse("http://api.twitter.com/1/friends/ids.json?user_id=12345")resp=Net::HTTP.get_response(url)这会在Net::HTTP中引发异常:NoMethodError:undefinedmethodempty?'for#from/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1

  10. 使用时 Rubygems 2.0.14 不是线程安全的 bundle 程序安装消息 - RUBYGEMS VERSION : 2. 4.5.1 - 2

    运行bundle安装时,我收到以下消息:Rubygems2.0.14isnotthreadsafe,soyourgemswillbeinstalledoneatatime.UpgradetoRubygems2.1.0orhighertoenableparallelgeminstallation.这很奇怪,因为在我的RubyGems环境中它说我的RubyGems版本是:2.4.5.1(见下文)~/w/Rafftopia❯❯❯gemenvRubyGemsEnvironment:-RUBYGEMSVERSION:2.4.5.1-RUBYVERSION:2.2.5(2016-04-26patc

随机推荐