作者简介
万绍远,CNCF 基金会官方认证 Kubernetes CKA&CKS 工程师,云原生解决方案架构师。对 ceph、Openstack、Kubernetes、prometheus 技术和其他云原生相关技术有较深入的研究。参与设计并实施过多个金融、保险、制造业等多个行业 IaaS 和 PaaS 平台设计和应用云原生改造指导。
前 言
NeuVector 是业界首个端到端的开源容器安全平台,唯一为容器化工作负载提供企业级零信任安全的解决方案。本文将从以下 5 个方面详细介绍如何部署 NeuVector:
-
NeuVector 概览
-
NeuVector 安装
-
高可用架构设计
-
多云安全管理
-
其他配置
1.NeuVector 概览
NeuVector 致力于保障企业级容器平台安全,可以提供实时深入的容器网络可视化、东西向容器网络监控、主动隔离和保护、容器主机安全以及容器内部安全,容器管理平台无缝集成并且实现应用级容器安全的自动化,适用于各种云环境、跨云或者本地部署等容器生产环境。
2021年, NeuVector 被 SUSE 收购,并在 2022 年 1 月完成开源,成为业界首个端到端的开源容器安全平台,唯一为容器化工作负载提供企业级零信任安全的解决方案。
项目地址:https://github.com/neuvector/neuvector
本文主要基于 NeuVector 首个开源版 NeuVector:5.0.0-preview.1 进行介绍。
1.1. 架构解析
NeuVector 本身包含 Controller、Enforcer、Manager、Scanner 和 Updater 模块。
- Controller :整个 NeuVector 的控制模块,API 入口,包括配置下发,高可用主要考虑 Controller 的 HA ,通常建议部署 3 个 Controller 模块组成集群。
- Enforcer :主要用于安全策略部署下发和执行,DaemonSet 类型会在每个节点部署。
- Manager:提供 web-UI(仅HTTPS) 和 CLI 控制台,供用户管理 NeuVector 。
- Scanner :对节点、容器、Kubernetes 、镜像进行 CVE 漏洞扫描
- Updater :cronjob ,用于定期更新 CVE 漏洞库
1.2.主要功能概览
- 安全漏洞扫描
- 容器网络流量可视化
- 网络安全策略定义
- L7 防火墙
- CICD 安全扫描
- 合规分析
本文重点介绍安装部署,具体功能将在后续文章中深入介绍。
2.NeuVector 安装
安装环境
软件版本:
OS:Ubuntu18.04
Kubernetes:1.20.14
Rancher:2.5.12
Docker:19.03.15
NeuVector:5.0.0-preview.1
2.1. 快速部署
创建 namespace
kubectl create namespace neuvector
部署 CRD( Kubernetes 1.19+ 版本)
kubectl apply -f https://raw.githubusercontent.com/neuvector/manifests/main/kubernetes/crd-k8s-1.19.yaml
部署 CRD(Kubernetes 1.18或更低版本)
kubectl apply -f https://raw.githubusercontent.com/neuvector/manifests/main/kubernetes/crd-k8s-1.16.yaml
配置 RBAC
kubectl create clusterrole neuvector-binding-app --verb=get,list,watch,update --resource=nodes,pods,services,namespaces
kubectl create clusterrole neuvector-binding-rbac --verb=get,list,watch --resource=rolebindings.rbac.authorization.k8s.io,roles.rbac.authorization.k8s.io,clusterrolebindings.rbac.authorization.k8s.io,clusterroles.rbac.authorization.k8s.io
kubectl create clusterrolebinding neuvector-binding-ap