0×00、前言
本文主要向大家介绍一下公有云OpenStack安全威胁需求、OpenStack自身安全特性、和如何设计针对OpenStack安全威胁的产品。帮助用户打消上OpenStack的顾虑。
当然,也建议云安全厂商,真正想把云安全做好,还需要和云服务提供厂商紧密的合作才能发挥作用。
0×01、公有云OpenStack安全威胁需求
近些年云计算思想已经悄然兴起,很多企业级的数据中心虚拟化,是现在IT预算的来源。表现形式有公有云、私有云和混合云。针对私有云卖的比较火的VMWareESX、针对公有云,阿里云、AWS、UCloud和青云等。还有都通吃的开源OpenStack。安全问题也是一个困扰用户很久的问题。传统的安全解决方案已经无法满足云计算的架构变化,需要重新设计规划其安全产品。
那么云计算引入给用户带来哪些新的威胁和风险?
首先,我们通过分析OpenStack历史安全数据,来看看到底存在哪些安全问题。
年限 | 漏洞个数 |
---|---|
2016 | 9 |
2015 | 21 |
2014 | 41 |
2013 | 37 |
2012 | 20 |
2011 | 1 |
Openstack 六年间共披露了 129 个漏洞,过去一年就有 21 个漏洞,其中高危 3 个
大项 | 分类 | 漏洞数量 |
---|---|---|
组件安全 | Nova | 26 |
Neutron | 9 | |
Keystone | 22 | |
Glance | 16 | |
Swift | 10 | |
Horizon | 9 | |
Cinder | 4 | |
基础架构安全 | Restful API | 13 |
TLS | 2 | |
DoS | 10 | |
传统安全 | XSS | 7 |
根据云计算安全威胁(CSA联盟)针对公有云安全几大问题:
(1)云资源的滥用和盗用
(2)不安全的 APIs
(3)服务商内部恶意的员工
(4)共享技术带来的漏洞
(5)获得对底层基础设施平台的访问
(6)数据丢失/数据泄漏
(7)帐号或服务劫持
(8)Unknown Risk Profile
通过以上数据分析,可以得出结论:
(1)公有云OpenStack安全威胁需求主要体现在OpenStack组件安全、API安全、共享技术带来的漏洞、安全配置。
(2)有别于传统的安全保障体系设计(IPS &防火墙)还需要增强Hypervisor自身及VM的保护、建构各虚拟机的防护边界。
(3)安全运维对于云计算的资源弹性、按需调配的自适应。真正做到 security as a service
0×02、OpenStack自身安全特性
安全需求分析完了,我们需要了解OpenStack自身安全特性,才知道,安全产品设计的主攻方向。那么,本节从OpenStack介绍、SDN介绍和自身安全特性的描述开始。阐述为什么现有安全机制无法满足安全需求。
Openstack介绍
Open Stack Compute Infrastructure (Nova)
Nova主要负责管理计算资源,支持其他云平台扩展性。
包含组件 | 功能说明 |
---|---|
Compute Worker(nova-compute) | 处理管理实例生命周期 |
Volume Workers(nova-volume) | 管理基于LVM( Logical Volume Manager )的实例卷 |
Message Queue (rabbit-mq server) | 分布式消息处理 |
Scheduler(nova-scheduler) | 调度模块 |
API Server (nova-api):EC2 API | EC2 接口 |
备注:Nova自身并没有提供任何虚拟化能力,相反它使用libvirt API来与被支持的Hypervisors交互。一般选用openstack 都使用KVM做Hypervisors
OpenStack Networking (Neutron)
Neutron 主要负责管理网络资源,Neutron中提供了使用虚拟路由器实现租户网络的互通和隔离、安全组(Security Group)、防火墙(FWaas)、负载均衡(LBaas)和虚拟专用网(VPNaas)等服务。
包含组件 | 功能说明 |
---|---|
Neutron Server | 路由器、网络、子网、端口、浮动IP、安全组等配置 |
Plugin Agent(L2 Agent) | 实现二层网络相关功能,和物理交换机对接。 Open vSwitch Plugin(neutron-openvswitch-agent) |
DHCP Agent | 实现DHCP服务 |
L3 Agent | 实现路由服务 |
网络功能是openstack中最复杂的组件,也是云计算的核心功能。其他组件和安全关系不大就不在这里介绍了。
SDN介绍
Software Defined Network,软件定义网络(SDN)是一种软件集中控制、网络开放的三层体系架构,如图(1)所示。应用层实现对网络业务的呈现和网络模型的抽象;控制层实现网络操作系统功能,集中管理网络资源;转发层实现分组交换功能。应用层与控制层之问的北向接口是网络开放的核心,控制层的产生实现了控制面与转发面的分离,是集中控制的基础
为什么要说这个呢?其实,Openstack Neutron只实现了SDN的初级版本很多网络协议实现需要第三方插件来支持。那么,安全插件也可以在这里搭建,比如说WAF等。
Openstack自身安全机制
安全组,翻译成英文是 security group。安全组是一些规则的集合,用来对虚拟机的访问流量加以限制,这反映到底层,就是使用iptables,给虚拟机所在的宿主机添加iptables规则。
从业务连续上看,对于一个公有云系统需要以下
Vulnerability management
Configuration management
Secure backup and recovery
Security auditing tools
从安全生命周期管理的角度看需要:
Node hardening
Host-based intrusion detection tools
network-based intrusion detection tool
Server hardening
File integrity management
显然OpenStack自身的安全机制无法满足现有的安全威胁。
0×03、OpenStack安全产品设计
设计参考-虚拟化安全解决方案
话说大家都上了虚拟化,它的好处我就不一一列举,用的人都知道,但是真对于虚拟化安全就需要和大家说明一下,我们先看看国际先进的安全厂商这方面的解决方案(以vmware为例):
(1) 集成Vmware NSX组件,使用Agentless的方式向用户提供Guest OS的文件系统,包括:防病毒系统、基于网络的IPS、漏洞扫描系统。
(2) 使用文件信誉度系统提供的威胁情报降低误报率。
(3) 自动的扩展伸缩防病毒系统,增加或者减少Guest OS虚拟机无需安装任何软件就具备安全属性,这对大量的虚拟机服务器来说不需要重复安装安全软件,提高工作效率。真正实现了Security As A Service安全即服务
(4) 统一的管理平台,为更新病毒库和文件信誉度系统,同时集中收集安全威胁报告。
OpenStack安全产品概要设计
针对新型的云计算服务设计产品的时候,需要应用纵深防御的思想。
安全需求 | 产品大功能 | 详细功能列表 |
---|---|---|
共享技术带来的漏洞 | 漏洞管理 | (1)Agentless Web漏洞扫描模块 (2)旁路监控模块 (3)Agent 漏洞扫描模块 |
OpenStack组件安全 安全配置 API安全 | 配置管理 | (1)OpenStack组件基线检查 (2)虚拟化层基线检查 ->KVM (3)Guest OS操作系统/应用基线检查 |
APT攻击 | 未知威胁管理 | (1)Agentless AV+威胁情报 (2)文件完整性检查 (3)rootkit detection |
同时结合OpenStack安全组的功能实现协调纵深防护体系。
这套防护体系,基本上可以解决OpenStack 安全问题,但是这套专家系统没有办法自身学习,需要有一套深度学习系统。能够自我学习的人工神经网络是安全界目前没有解决的问题,但是我们可以简单的做一些历史安全数据分析的工作,可以使用MySQL或者Spark SQL实现。
OpenStack安全产品功能详细设计
产品大功能 | 详细功能列表 | 开放优先级 |
---|---|---|
漏洞管理 | (1)Agentless Web漏洞扫描模块 (2)旁路监控模块 (3)Agent 漏洞扫描模块 |
P1 P2 P1 |
配置管理 | (1)OpenStack组件基线检查 (2)虚拟化层基线检查->KVM (3)Guest OS操作系统/应用基线检查 |
P1 P1 P2 |
未知威胁管理 | (1)Agentless AV+威胁情报 (2)文件完整性检查 (3)rootkit detection |
P1 P2 P3 |
智能威胁分析 | (1)扫描历史数据分析 (2)Sniffer数据分析 |
P1 P2 |
系统功能展示 | (1)Dashboard(horizon)界面集成 (2)Neutron plugin集成 | P1 P1 |
核心界面原型图
首先搭建openstack环境,
由于以上模块众多,先以漏洞管理部分做为说明。后续会持续更新。
功能流程描述
0×04、总结
通过以上产品设计,我们可以更明晰基于云服务厂商,特别是使用OpenStack技术搭建的厂商安全产品设计的方向,为更好的使用云计算技术打下基础。
* 作者:bt0sea,本文属FreeBuf原创奖励计划文章,未经许可禁止转载