作者:潘立峰 | QE_LAB
一、云原生安全测试的背景和必要性
容器和云原生平台使企业能够实现自动化应用部署,从而带来巨大的业务收益。但是,这些新部署云环境与传统环境一样,容易受到黑客和内部人员的攻击和利用。勒索软件、加密货币挖矿、数据窃取和服务中断的攻击将持续发生在针对基于容器的云原生环境之中。由于云平台安全缺陷导致频繁发生的重大网络安全事故,使得云平台下的安全测试显得尤为重要。
二、传统安全测试工具缺点
传统安全测试工具因其固有的缺点导致无法应对容器相关安全测试挑战:
无法检测容器漏洞
无法看到东西向容器流量
无法识别镜像漏洞
无法识别容器运行时攻击
三、NeuVector介绍
NeuVector 是一个开源容器平台安全,可以提供实时深入的容器网络可视化、东西向容器网络监控、主动隔离和保护、容器主机安全以及容器内部安全,适用于各种云环境、跨云或者本地部署等容器环境。
NeuVector 主要功能概览:
安全漏洞扫描
容器网络流量可视化
网络安全策略定义
L7 防火墙
CICD 安全扫描
合规分析
NeuVector项目地址: NeuVector
NeuVector 安装和部署:参考NeuVector 安装
四、如何使用NeuVector开展云原生安全测试
NeuVector本身是一个云平台安全防护工具,安全防护一个很重要的点是发现云平台存在的风险,然后发出告警和提示。从这个角度,结合渗透测试和平台攻击方法,当禁用NeuVector防护功能和安全策略,仅保留其告警和提示功能,就能对云原生平台本身的安全能力开展测试。当打开安全工具的防护功能,就能对安全工具NeuVector的本身的安全防护能力开展测试。通过测试,了解其对云平台的安全防护提升效果。
我们可以使用NeuVector 对云平台开展以下安全测试,解决传统安全测试工具无法覆盖的盲点:
五、使用NeuVector 对云原生环境开展部分安全测试示例
5.1 测试案例1:集群漏洞扫描和CIS基准测试
测试场景:对当前集群进行主机和集群的CIS扫描,检查其是否符合CIS基准要求,是否存在中高严重度CVE漏洞,同时集群进行安全评分测试。
测试步骤:
检查集群,云平台集群运行正常
在NeuVector 接入集群选择CIS基准扫描,等待扫描完毕
在NeuVector 选择,选择安全隐患→漏洞→CIS。点击确定,等待扫描结束
检查集群是否相关中高优先级漏洞
期望结果:平台日志显示被测集群无相关高中级别CVE漏洞,系统安全评分高于80分
实际结果:存在多个中高级别CVE漏洞,系统安全评分为47分,平台存在严重的安全风险,需要修复相关安全问题。
5.2 测试案例2 :测试威胁攻击
测试场景:要模拟攻击,登录到 Node 容器中,然后尝试 创建Ping of Death shell脚本对另外一个应用——如 2048 或其他容器,进行攻击
测试步骤:
找到 game2048 容器内网 IP 地址,如 10.1.213.79
打开 Node.js 容器控制台,输入 ./pingdeath.sh
打开「通知→安全事件」页面,查看告警信息
期望结果:告警信息有Ping Death攻击容器的相关内容,NeuVector自动记录该违规动作。
实际结果:告警信息有Ping Death攻击容器的相关内容,NeuVector自动记录该违规动作。
5.3 测试案例3 —— 产生可疑进程
测试场景:模拟安装可疑进程(如常见端口扫描程序 nmap、或挖矿程序等),登录到 Nginx 容器中,然后尝试升级和安装 nmap 程序,并查看告警信息。
测试步骤:
在 Nginx 容器中安装 namp 程序,apt-get install nmap
运行 nmap 扫描 Node 容器 IP 地址,nmap -O 10.1.213.79
打开「通知→安全事件」页面,查看告警信息
期望结果:安全事件有Nginx 容器被篡改相关告警记录
实际结果:安全事件有Nginx 容器被篡改相关告警记录
总结
使用NeuVector结合一些渗透测试工具、方法和手段,通过设计良好的安全测试策略,就能很好的开展云平台基础架构合规测试、容器网络安全测试,容器运行时安全测试、镜像安全测试等云原生环境下特有的安全测试。从而了解云平台和云上应用存在的安全隐患和风险,通过修复相关的安全隐患和风险,来不断提升我们云平台和云上应用的安全性。