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的方式将组件日志和应用日志均发布出来,用于安全审计。
时间: 2024-08-27 20:42:14

Pivotal Cloud Foundry安全原理解析的相关文章

如何配置和使用Pivotal Cloud Foundry里的HAPorxy(上)

Pivotal使用HAProxy作为其访问入口,当然是允许使用其他负载均衡软件或硬件进行替换的.不过,基于怕麻烦和强迫症,个人还是用了HAProxy到最终的生产环境.为了满足特定的应用需求和可靠性需求,对负载均衡这一层做了一定的配置,本文通过四个案例共享这些经验. 为不同应用分配不同的HAProxy Pivotal Cloud Foundry的配置界面中,HAProxy允许配置多个IP(同时需要在资源尺寸页配置相同个数的HAProxy虚拟机),这样一个CF就拥有了多个入口.可以通过管理员的人脑,

体验 Pivotal Cloud Foundry

Cloud Foundry 是开源的 PAAS 实现, Pivotal 基于CF 做了一些扩展,发布了自己的商业化版本 PCF. 并且将 PCF 部署到AWS 上做为一个参考实现,这就是 PWS. 目前 PCF 支持的 IAAS 包括 AWS, AZURE, GCP, vSphere , OpenStack. 如果仅仅是尝试如何在PCF平台上部署应用,可以选择两种方式,一种是直接部署到PWS,另一种是直接部署一个PCF--如果没有安装PCF的基础设施,那可以选择PCF 的Dev 版本,它可以直接

Cloud Foundry buildpack实务解析

与service broker相比,buildpack的实务操作就容易多了,单就通用概念来说,其实用不着单写一篇,但是处女座强迫症发作,所以还是写一下,使CF这个框架对外扩展的两个维度(代码使用的服务和代码运行的环境)是完整的.这篇主要会写buildpack的基本实现逻辑,然后举三个需要修改buildpack的需求,进行实际操作描述. 基本原理 CF运行应用的基本过程是将用户发布的应用程序包解压开,然后将自己的所有buildpack拿来,按照指定顺序与程序包进行匹配,直到找到第一个能够运行这些代

在pivotal cloud foundry上申请账号和部署应用

Created by Wang, Jerry, last modified on Jul 04, 2016 URL: http://run.pivotal.io/ maintain your mobile phone number, Pivotal will send a verification code to your phone. Enter the received code to activate your account. Create a new Org: clone the sa

Pivotal Cloud Foundry学习笔记(1)

PCF是一个PAAS平台 注册PCF账号 https://account.run.pivotal.io/sign-up 安装cf CLI 访问 https://console.run.pivotal.io/tools 或 https://github.com/cloudfoundry/cli 下载cf CLI 安装下载好的rpm包 # rpm -Uvh cf-cli-installer_6.17.0_x86-64.rpm 登陆PCF # cf login -a api.run.pivotal.i

如何配置和使用Pivotal Cloud Foundry里的HAPorxy(下)

前一篇写了HAProxy自己的LB和证书的使用,这篇主要是关于安全还有可靠性的. 多层负载均衡满足安全需求和业务需求 企业的安全及防火墙策略对PCF来说是个灾难,当然现在的版本已经有Availability Zone来覆盖这一需求,但是下面这种需求还是难以实现:PCF部署在生产网络,但是需要被互联网访问,安全策略仅允许DMZ网络对外提供服务,因此需要做个脱裤子放屁的事儿是PCF可以从internet访问.还以上例为基础,app1和app2均需要互联网访问(将定DMZ网络中存在可用的负载均衡设备5

Cloud Foundry技术全貌及核心组件分析

原文链接:http://www.programmer.com.cn/14472/ 历经一年多的发展,Cloud Foundry的架构设计和实现有了众多改进和优化.为了便于大家了解和深入研究首个开源PaaS平台——Cloud Foundry,<程序员>杂志携手Cloud Foundry社区开设了“深入Cloud Foundry”专栏,旨在从架构组成.核心模块功能.源代码分析等角度来全面剖析Cloud Foundry,同时会结合各行业的典型案例来讲解Cloud Foudry在具体应用场景中的表现.

Cloud Foundry warden container 安全性探讨

本文将从Cloud Foundry中warden container的几个方面探讨warden container的安全性. 1. warden container互访 1.1.  互访原理 在Cloud Foundry内部,用户应用的运行环境通过warden container来进行隔离. 其中,网络方面,container之间的互访如下图: 假设container1主动访问container3: 1.  container1从自身的虚拟网卡virtual eth0_0发起请求,由于自身内核路

基于Cloud Foundry平台部署nodejs项目上线

Cloud Foundry(以下简称CF),CF是Vmware公司的PaaS服务平台,Paas(Platform as a Service,平台即服务), 是为开发者提供一个应用运行的平台,有了这人平台,开发者无需搭建线上应用运行环境和服务(Mysql/mongodb/Rabbitmq等),包括硬件和软件(os/应用软件如tomcat/rails等)环境.开发者可专注代码开发,最终提供源码(或war包之类的)信息,上传至PAAS,即可运行:同时pass平台提供DNS服务,一些Webapp可以直接