阅读背景:

Pivotal Cloud Foundry安全原理解析

来源:互联网 

云计算相关的技术几乎都对传统网络架构和安全规则产生一定的冲击,Pivotal Cloud Foundry(PCF)也不例外,去年8月为了说服专业安全组织同意PaaS部署方案,特意为他们深入讲了下PCF的安全机制,虽然这种原理性的东西不符合开博的宗旨,但是为了防止大家也要说服这样的组织,分享出来也算是云计算实务的一部分。不过说实话,个人以为既然我们开始拥抱云计算和大数据,那在安全上就应该有新的认识和实践。
本文是基于PCF1.2进行的说明,现在的版本里Availability Zone和App Security Group都已经是存在的功能了。首先给出PCF的系统结构图,用于在下文进行说明时进行对照。然后将以条目的格式列举PCF安全原理的全部要点。

  1. 外部应用访问PCF应用仅通过HAProxy的IP,PCF应用访问外部应用通过DEA的IP或者DEA被SNAT之后的IP。要说明的是,PCF自带的负载均衡器为开源软件HAProxy,但是支持使用任何自由的负载均衡器,即下图中的Load Balancer的位置。


  2. warden与任何其他部分(同一host上的其他warden、不同host上的warden、PCF组件、service instance、PCF外部应用)均需先NAT成所在host的IP。
  3. warden们互相是不知道对方的存在,每个warden都用255.255.255.252为掩码的网络与主机联系,主机们的iptables保证不会将一个warden连到另一个warden。
  4. warden所在主机的iptables保证它只能访问特定的PCF组件,而不能访问其他的组件。
  5. PCF的服务绑定机制通过主机iptables保证只有合法应用才能访问服务。
  6. Host的iptables保证了除了router谁也没法访问warden。
  7. PCF通过ORG上的角色Manager/Auditor、SPACE上的角色Manager/Developer/Auditor保证了授权用户才能管理应用。
  8. HAProxy的作用是SSL和负载均衡http请求到router上,所有对应用访问造成的数据通讯都需要通过router,在CC的帮助下,router将请求放到正确的应用实例上,如果应用指定了jseesionid,则router会尽量保证请求被路由到同一个应用实例上。
  9. PCF内部组件通讯均通过订阅发布式消息队列,互相之间不做网络通讯,其访问控制均通过iptables实现,即使没有app security group功能,仍然可以通过登录到OS中,修改iptables来改变安全策略(默认的安全策略是all deny,东西向全不通)。Security group给了一个用户接口去修改这些策略。
  10. Availability Zone从资源池层面解决了网络隔离,应用实例,各个服务实例均可按照原有的网络规划放置。但是弹性运行环境还是只能在一个zone里。
  11. PCF可通过syslog的方式将组件日志和应用日志均发布出来,用于安全审计。

分享到: