1.简介:

NeuVector 是业界首个端到端的开源容器安全平台,也是唯一为容器化工作负载提供企业级零信任安全的解决方案。


它具有以下特点:
- **Kubernetes 原生**:提供端到端的漏洞管理、自动化 CI/CD 渠道安全、全面的运行时安全,以及对零日漏洞和内部威胁的防御。
- **零信任**:安全策略即代码模型允许在应用程序流程的一开始就限制对网络、应用程序和环境的访问控制,优化性能和用户体验。
- **100%开放源代码**:于 2022 年 1 月开放源代码,为金融服务、医疗保健和政府等受到严格监管行业中的企业确保无与伦比的代码库透明度。
- **与 Rancher 集成**:可在所有领先的容器管理平台上独立使用,与 Rancher 结合使用时,用户只需点击几下即可对其整个 Kubernetes 环境采取积极的零信任安全措施。

NeuVector 包含的主要功能有:
- **安全漏洞扫描**:在构建、测试和部署期间进行扫描和准入控制,在运行期间扫描容器、主机和编排平台,还可使用 Docker Bench 和 Kubernetes CIS Benchmark 审计主机和容器安全性,完成安全性测试,并提供风险评分和合规性报告。
- **保护使用中的数据**:保护容器免受来自内部和外部网络的攻击,针对网络、数据包、零日以及 DDoS 和 DNS 等应用程序攻击进行实时识别和屏蔽,在第 7 层的容器和 Pod 之间进行识别和屏蔽。
- **自动化的防护和策略**:DevOps 团队可利用集成的安全策略部署新的应用程序,确保其在整个 CI/CD 渠道和生产过程中都得到保护;发现应用程序行为和服务,将其与攻击隔离;简化安全与开发之间的通信。
 

NeuVector 本身包含 controller(控制器)、enforcer(执行器)、manager(管理器)、scanner(扫描器)和 updater(更新器)等模块:
- **controller**:整个 NeuVector 的控制模块,是 API 入口,包括配置下发,通常建议部署多个 controller 模块组成集群以实现高可用。
- **enforcer**:主要用于安全策略部署下发和执行,daemonset 类型会在每个节点部署。
- **manager**:提供 web-ui(仅 https)和 cli 控制台,供用户管理 NeuVector。
- **scanner**:对节点、容器、Kubernetes、镜像进行 CVE 漏洞扫描。
- **updater**:cronjob 类型,用于定期更新 CVE 漏洞库。

2.基于k8s进行部署neuvector:

1.下载neuvector镜像

由于国内无法访问dockerhub,需要大家科学上网后,把镜像拉到本地,可同步到内部的镜像仓库或者上传到各k8s节点

  • neuvector/manager:5.3.2
  • neuvector/controller:5.3.2
  • neuvector/enforcer:5.3.2
  • neuvector/scanner:latest
  • neuvector/updater:latest
  • 2.创建命名空间和需要的账号

kubectl create namespace neuvector

kubectl create sa controller -n neuvector

kubectl create sa enforcer -n neuvector

kubectl create sa basic -n neuvector

kubectl create sa updater -n neuvector

kubectl create sa scanner -n neuvector

kubectl create sa registry-adapter -n neuvector

3.neuvector服务部署

下载官方的yaml部署文件

​
wget https://raw.githubusercontent.com/neuvector/manifests/main/kubernetes/5.3.0/neuvector-k8s.yaml 

​
vi neuvector-k8s.yaml

将镜像标签替换为导入的镜像标签,这里是latest。

然后部署:

kubectl apply -f neuvector-k8s.yaml

4.查看部署状态

kubectl get svc -n neuvector
NAME                              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
neuvector-service-webui           NodePort    10.97.178.13    <none>        8443:32447/TCP                  58d
neuvector-svc-admission-webhook   ClusterIP   10.96.67.1      <none>        443/TCP                         58d
neuvector-svc-controller          ClusterIP   None            <none>        18300/TCP,18301/TCP,18301/UDP   58d
neuvector-svc-crd-webhook         ClusterIP   10.105.51.249   <none>        443/TCP                         58d

5.更改webui的访问方式为nodeport

6.访问:https://集群IP+nodeport

7.查看集群的网络活动

不知为何,必须点击下设置,网络调用图才能显示,看起来很炫酷,但感觉也不是很实用。

8.资产

8.1 平台 

查看k8s版本及存在的安全漏洞及修正建议。

建议还是尽量升级到最新版本。

8.2 主机

查看主机存在的一些漏洞情况。

8.3容器视角

针对单容器查看具体漏洞

8.4 镜像库

添加镜像库后,可针对镜像库所有镜像进行安全扫描

注意:这里没有harbor仓库类型,选择docker registry,填写harbor仓库地址即可。

注意这里的镜像筛选规则,填写不正确,会扫描不到镜像。

8.4 系统组件

系统组件,可以系统组件版本

经常要更新的是scaner容器,因为要更新CVE的库

这个届时从官方拉取最新镜像,K8S里更新即可

9.策略

系统会默认生成大量策略,暂时没深入研究,可参考官方文档进行策略制定。

  • https://open-docs.neuvector.com/ 

10.安全隐患

是从漏洞的视角进行查看,汇总每个漏洞大概影响多少主机、镜像、容器。

11.设置

用户和角色,可以添加不同类型的子账号,进行协同管理。

11.参考资料:

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐