关于kubernetes:Rainbond结合NeuVector实践容器安全管理

47次阅读

共计 3367 个字符,预计需要花费 9 分钟才能阅读完成。

前言

Rainbond 是一个云原生利用治理平台,应用简略,不须要懂容器、Kubernetes 和底层简单技术,反对治理多个 Kubernetes 集群,和治理企业应用全生命周期。然而随着云原生时代的一点点提高,层出不穷的网络容器安全事件的呈现,也是让大家对于容器平安,网络安全的重要性,有了更进一步的想法,Rainbond 为了保障用户在应用的过程中不呈现相似的容器安全事件,特地适配整合了 NeuVector。

NeuVector 是业界首个端到端的开源容器平安平台,为容器化工作负载提供企业级零信赖平安的解决方案。NeuVector 能够提供实时深刻的容器网络可视化、东西向容器网络监控、被动隔离和爱护、容器主机平安以及容器外部平安,容器治理平台无缝集成并且实现利用级容器平安的自动化,实用于各种云环境、跨云或者本地部署等容器生产环境。

本文次要表述,基于 Rainbond 装置部署 NeuVector 容器平安平台的步骤,以及配合 Rainbond 实现生产环境中的最佳实际。

部署 NeuVector

NeuVector 有多种部署装置模式,为了更加简化装置,选用 helm 的模式进行装置,Rainbond 也是反对 helm 商店的模式,只须要在利用市场,增加一个新的商店,把 helm 商店的 URL 填写上即可。

筹备工作

创立团队

NeuVector 通常是装置在 neuvector 命名空间外面的,而在 Rainbond,团队的概念则是对应 kubernetes 里命名空间,所以通过 helm 装置的时候,首先须要创立进去对应的团队,团队的英文名对应的则是该团队在集群中的命名空间,此处填写 neuvector,抉择对应集群即可。

<img src=”https://static.goodrain.com/wechat/neuvector/1.png” style=”zoom: 50%;” />

对接 helm 商店

Rainbond 反对基于 helm 间接部署利用,所以接下来对接 neuvector 官网 helm 仓库,后续基于 Helm 商店部署 neuvector 即可,在利用市场页面,点击增加商店,抉择 helm 商店,输出相干信息即可实现对接。

helm 商店地址:https://neuvector.github.io/n…

装置

在 helm 仓库找到 core 点击装置到 neuvector 团队里即可

批改默认的 key 以及 value

values 配置项:

registry docker.io
tag 5.0.0-preview.1
controller.image.repository neuvector/controller.preview
enforcer.image.repository neuvector/enforcer.preview
manager.image.repository neuvector/manager.preview
cve.scanner.image.repository neuvector/scanner.preview
cve.updater.image.repository neuvector/updater.preview
manager.svc.type ClusterIP

装置实现当前,确认 pod 的状态为 Running

<img src=”https://static.goodrain.com/wechat/neuvector/5.png” style=”zoom: 50%;” />

neuvector 提供了可视化操作的界面,装置过程将主动创立 Service,通过 Rainbond 平台第三方组件的模式可将 neuvector 的拜访端口裸露进去。

<img src=”https://static.goodrain.com/wechat/neuvector/6.png” style=”zoom: 50%;” />

以下为须要进行配置的选项

组件名称 neuvector-web
组件英文名称 neuvector
组件注册形式 kubernetes
Namespace neuvector
Service neuvector-service-webui

增加实现当前,须要增加并关上对外拜访的端口(8443),默认用户名以及明码均为 admin/admin

留神:拜访的时候,须要通过 https 的模式进行拜访,至此 neuvector 装置结束

<img src=”https://static.goodrain.com/wechat/neuvector/8.png” style=”zoom: 50%;” />

NeuVector 最佳实际

网络流量监督治理

NeuVector 提供的网络流动,能够分明的查看每一个 pod 之间的网络流量动向。以及对应的端口,规定,更加清晰明了的查看走向。

蓝色线代表失常的流向是记录在学习模式里的。

黄色的流向则是记录在监督模式下,须要咱们手动进行审阅规定,决定是否通过这个流量。

红色则代表是记录在保护模式下,被回绝的动向,也可通过规定进行防止。

学习模式,监督模式,保护模式的应用

NeuVector 的组反对 3 种模式:学习模式、监控模式和保护模式;各个模式实现作用如下:

学习模式

学习和记录容器、主机间网络连接状况和过程执行信息。

主动构建网络规定白名单,爱护利用网络失常行为。

为每个服务的容器中运行的过程设定平安基线,并创立过程配置文件规定白名单。

监控模式

NeuVector 监督容器和主机的网络和过程运行状况,遇到非学习模式下记录的行为将在 NeuVector 安全事件中进行告警。

保护模式

NeuVector 监督容器和主机的网络和过程运行状况,遇到非学习模式下记录的行为间接回绝。

针对于以上三种模式,能够总结进去适于生产环境的最佳实际,当新的业务筹备上线的时候,能够先默认是学习模式,通过一段时间的学习,记录容器的以及主机的规定,而后转换成监控模式,运行一段时间,监控是否有非凡的网络流量以及主机过程,帮忙咱们把非凡的网络动向记录下来,并进行告警确认是否放行,最初转换成监控模式,防止一些歹意的操作对咱们的环境造成不必要的危险。

基于集群的镜像仓库做破绽查看

kubernetes 集群部署业务的最小单元是 pod 然而 pod 的组成部分最重要的其实是镜像,NeuVector 也是能够基于镜像进行破绽查看,防止在镜像被注入非凡的破绽机制

对接 Rainbond 时,在不应用内部的镜像仓库的状况下,Rainbond 会提供一个默认的用于存储镜像的仓库 goodrain.me,它是用来存储通过 Rainbond 构建的所有业务的镜像,所以通过查看外面的镜像,能够分明的看出业务所依赖的镜像都存在那些破绽,已防止因为镜像破绽问题所造成的影响。

如果在对接 Rainbond 时应用了内部的镜像仓库,且域名能够被解析到的状况,能够间接填写域名即可,因为 goodrain.me 自身是不能被 NeuVector 解析的,所以须要通过集群的 coredns 手动增加对应的解析,来确保 NeuVector 能够连贯上。

编辑 coredns

kubectl edit cm coredns -n kube-system  

<img src=”https://static.goodrain.com/wechat/neuvector/10.png” style=”zoom:33%;” />

获取 goodrain.me 解析的 IP

kubectl get rainbondcluster -n rbd-system -oyaml | egrep -v [A-Za-z{}]

在指定地位增加以下内容,留神批改 IP

hosts {
  192.168.0.1 goodrain.me
  fallthrough
}

在 NeuVector web 界面左侧抉择 资产 > 镜像库 增加仓库

goodrain.me 默认用户为 admin,明码通过以下命令获取

 kubectl get rainbondcluster -n rbd-system -oyaml | grep password | sed "1d"

镜像扫描完结当前,镜像的信息会在上面进行出现,点击想要查看的镜像名称,即可查看详细信息,以下供参考

写在最初

通过本文,心愿大家能够基于 Rainbond 胜利把 NeuVector 容器平安平台部署起来,并且能够依据最佳实际,做好绝对应的操作,当然 NeuVector 的性能远远不止于此,还是须要大家一直的摸索,一直的实际。

正文完
 0