返回顶部

OpenStack 安全加固之道(下)

[复制链接]
虚拟现实Lv.2 显示全部楼层 发表于 2017-1-10 11:52:25 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
OpenStack CLI

用户名和密码对于OpenStack CLI 工具的使用必不可少。很多OpenStack使用手册建议使用在OpenStack RC文件中定义的OS_USERNAME 和 OS_PASSWORD环境定量,但将身份证书信息保存为未加密的文件必然不是最好的安全实践。

更为安全的做法是使用OpenStack CLI工具为每个请求申请不同的户名和密码,或使用预定的 authentication token。位于DMZ中的指定节点或VM亦可成为OpenStack CLI 工具的专属节点,确保只有来自可靠网络的SSH接入被允许,不必要的服务和Bash历史记录可被禁止;网络日志被全部存放于远程、安全、高可用的存储池。

Nova

Nova是OpenStack服务中最为复杂的一个,需要与诸多其他服务保持联系且配置选择繁复。也正因此,Nova是确保OpenStack服务安全性的首要重点。

Nova配置文件的所有者该是root,配置文件群组该是nova;权限该是640 (所有者:读/写权;群组:只读权)。
禁用管理程序的PCI passthrough 功能,以限制VM到主机硬件,例如DMA,的直接访问。
使用sVirt或SELinux/AppArmor 将管理程序放进单独的安全体系。
一些管理程序可能带有内存优化技术,为主机上的VM完成内存页面去重。举例: Xen有Transparent Page Sharing (TSP) 功能;KVM有Kernel Samepage Merging (KSM)。用户可采用严格的租户分离应对云租户威胁,进而为需要的计算节点禁用管理程序的内存优化技术。
将管理程序日志存放于安全的远程存储位置。
严格监控管理程序的可执行文件的完整性;基于Debian的操作系统可使用debsums;基于红帽的可选择rpm –V。
为可执行的管理程序使ASLR (Address Space Layout Randomization)和PIE (Position Independent Executables);qemu-kvm可将之支持。
为VNC或SPICE会话使用TLS;
确保Nova与其他OpenStack服务,例如Keystone 或Glance的通讯(通过TLS)是安全可靠的。对于其他OpenStack服务亦是如此。
Glance

OpenStack Glance可为发布新VM提供镜像存储服务。其安全性对于确保镜像安全十分重要。

不要使用来源不明的提前建好的镜像或Docker 容器。
启用Glance image signing (已被Mitaka 支持)。
Neutron

Neutron的角色是在云中为VMs提供网络连接与IP地址。Neutron 的架构是基于插件的,所以了解哪些插件为必需、哪些为第三方解决方案,之后再按需完成禁用是非常必要的。

为OpenStack服务使用独立的管理网络;
使用VLAN或基于GRE隧道的L2隔离;
在Neutron中启用安全组,并且禁用Nova安全组(所有Nova 安全组都该转发至Neutron);
用TLS确保Neutron API端点的安全性;
使用iptables 和ebtables规则防止MAC和ARP欺骗攻击;
使用网络配额机制预防DoS攻击;
信息队列 (RabbitMQ)

消息队列的角色在于促进OpenStack服务间的通信,而RabbitMQ是OpenStack云最常见的解决方案。鉴于OpenStack无法支持message signing,消息队列需确保OpenStack服务信息传输的安全性。

删除RabbitMQ的来宾账户;
为不同的OpenStack 服务提供独立的RabbitMQ实例,使用唯一校验体,并设置独立的权限。
用TLS确保RabbitMQ API的安全性;
将RabbitMQ 日志存放于安全的远程存储位置;
Keystone

Keystone为其他OpenStack服务提供身份服务,需妥善保护以避免欺诈及其他攻击。

利用外部认证系统,例如Apache HTTP服务器,启用多维度认证;
默认情况下,token的失效时间为1小时,而我们的建议是在允许OpenStack服务完成请求的情况下尽量缩短此时长。需注意,一些请求需要较长时间完成, 例如需Nova的镜像迁移操作。
使用专为REST API设计、比常规token更安全、占用资源更少的Fernet tokens;
使用Keystone域实现对于租户更细粒化的管理;域的管理人可以创建用户、群组和角色。
Cinder

Cinder的角色是为管理块存储设备提供高级API,主要被Nova使用。Cinder可能受到的攻击模式包括DoS、信息泄露及篡改等。

配置文件的拥有者该为root;配置文件组该为Cinder;权限该为640(拥有者权限:读/写;组权限:只读)。
为请求数量设定上限 – 默认配置对请求数量没有限制,因此可能受到DoS攻击。
启用volume wiping 确保Cinder卷删除的安全性;
Swift

Swift 可为OpenStack提供持久化的对象存储,主要保存Glance镜像。因此其安全性亦较重要。

配置文件的拥有者该为root;配置文件组该为swift;权限该为640(拥有者权限:读/写;组权限:只读)。
为存储jiedian 启用独立的网络;
启用防火墙来保护代理节点上的公共界面。
以下是一些OpenStack 安全性相关的项目:

Barbican

OpenStack Barbican是一套为OpenStack云而建的PKI与密码服务,已与Havana发行版一起发布。Barbican可支持TLS认证必需的可信CA、透明加密、Cinder LVM卷的密钥分发、KDS信息签注服务及Swift对象加密。

Anchor

Anchor是为启动密码信任而设的任轻量级PKI服务。Anchor通常采用时长在12-24小时的短期认证。

服务质量即服务(Quality of Service as a Service, QoSaaS)

服务质量即服务(Quality of Service as a Service, QoSaaS)目前正在开发中,将提供流量成型、按端口、网络、租户的流量限速以及流分析。

防火墙即服务(Firewall as a Service, FWaaS)

防火墙即服务(Firewall as a Service, FWaaS)目前正在开发中,其目标是为传统的L2/L3防火墙提供统一API;为 OpenStack云提供下一代防火墙

负载均衡器即服务(Load Balancer as a service,LBaaS)

现有的LBaaS 实施大多基于HAProxy,但此项目的目标是利用企业级硬件和开源的负载均衡技术完成实际的业务负载均衡请求。

结论

对于OpenStack云安全,除上述建议之外,实时跟踪OpenStack安全隐患、 更新OpenStack环境同样重要。加固OpenStack云的安全性需涉及多个层面,从物理(数据中心设备和基础设施)层开始,到应用层(用户工作负载)和组织层(与云用户签订的,涉及隐私、安全和可靠性的正式协议)。与OpenStack安全相关的话题有很多,希望这两期内容对如何加固您的OpenStack云有所启发。
作者iu, Alice
转载:链接:http://www.openstack.cn/?p=5684
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云萌主 云萌主-BIGSAAS旗下,由北京合智互联信息技术有限公司在2018年创立,为广大云应用技术爱好者的平台。在云萌主论坛可以查看云应用技术文章、云产品产品最新资讯、技术问答、技术视频。在畅游云上技术的同时,学到最新的云应用产品和技术。
  • 微信公众号

  • Powered by Discuz! X3.4 | Licensed | Copyright © 2001-2022, Aliyun Cloud. | 星点互联设计
  • 京ICP备18052714号 | 营业执照 | |合智互联| QQ