OpenStack云可能面临的安全威胁
针对软件,根据攻击媒介,安全威胁可以分为以下几类:
欺诈-伪装成自身真实身份以外的体积
篡改-修改磁盘内容、网络或者内存里的内容
否认-否定某个行为或声称无责
信息泄露-向无授权人员泄露敏感信息
拒绝服务-吸收占用正常提供服务所需的资源
权限升级-允许访问人完成无权限的行为
化解OpenStack云安全威胁的一些建议
防欺诈攻击:
使用公钥基础架构实现身份验证
使用认证完善的SSL/TLS作为HTTP会话保护
防御恶意篡改:
使用数字化签名确保数据安全。
使用强制访问控制以及基于角色访问控制保护openstack
防御恶意否定:
启用登陆和安全审计
使用集中化日志管理机制,将日志内容尽可能实时发送至安全的远程高可用SIEM系统
防御信息泄露:
使用存储加密
为用户的工作负载使用openstack许可
防御DoS攻击(拒绝服务):
为域、项目及用户设定配额,实施OpenStack HA最佳实践。HA架构以冗余为基础,所以运维人员可以安全的隔离、关闭受影响的实例,而剩下的实例依旧可正常运转。
防御恶意权限升级:
用SELinux/AppArmor为管理程序以及openstack服务实施RBAC
将openstack服务放于DMZ之内,只允许对API端点的访问
防御来自云租户的威胁:
为租户采用单独的云
OpenStack Nova为Filter Scheduler设有Trusted Filter功能,用来将工作负载只分配给可信的计算资源。对执行资源没有特殊要求的工作负载可根据使用率被分配到任意结点,而对此有特定要求的工作负载将只会被安排到可信的结点。
防御来自云提供商的威胁:
监控服务器间的流量异常
Nova
Nova配置文件的所有者该是root,配置文件群组该是nova;权限该是640 (所有者:读/写权;群组:只读权)。
glance
不使用来历不明的镜像或docker容器
neutron
neutron的架构是基于插件的,所以了解哪些插件为必须,哪些为第三方解决方案,之后再按需完成禁用是必要的
为OpenStack服务使用独立的管理网络;
使用网络配额机制预防DoS攻击;
消息队列rabbitMQ:
为不同的openstack服务提供独立的RabbitMQ实例,使用唯一校验体,并设置独立的权限
用TSL确保RabbitMQ api的安全性
将RabbitMQ 日志存放于安全的远程存储位置;
Keystone:
利用外部认证系统,例如Apache HTTP服务器,启用多维度认证;
使用专为REST API设计、比常规token更安全、占用资源更少的Fernet tokens;
Cinder
配置文件的拥有者为root,配置文件组为Cinder,权限该为640(拥有者权限:读/写;组权限:只读)。
为请求数量设定上限 – 默认配置对请求数量没有限制,因此可能受到DoS攻击。
Swift
配置文件的拥有者该为root;配置文件组该为swift;权限该为640(拥有者权限:读/写;组权限:只读)。
为存储节点启用独立的网络;