云计算相关的技术差点儿都对传统网络架构和安全规则产生一定的冲击。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的方式将组件日志和应用日志均公布出来。用于安全审计。

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

  1. Pivotal Cloud Foundry学习笔记(1)

    PCF是一个PAAS平台 注册PCF账号 https://account.run.pivotal.io/sign-up 安装cf CLI 访问 https://console.run.pivotal. ...

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

    Created by Wang, Jerry, last modified on Jul 04, 2016 URL: http://run.pivotal.io/ maintain your mobi ...

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

    原文链接:http://www.programmer.com.cn/14472/ 历经一年多的发展,Cloud Foundry的架构设计和实现有了众多改进和优化.为了便于大家了解和深入研究首个开源Pa ...

  4. Cloud Foundry和微服务Meetup重磅来袭

    CF 同学们: Cloud Foundry 2016 上海 Meetup 将在10月22日在上海港汇广场进行! 想要参会的小伙伴,请直戳  ~ 在过去的一年,CF 的技术有很多进展,微服务也是2016 ...

  5. Cloud Foundry中vmc tunnel与caldecott原理

    在Cloud Foundry中,用户可以vmc create-service创建一个service instance,但是常规情况下,用户不能手动地进一步对service instance进行设计.以 ...

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

    Cloud Foundry(以下简称CF),CF是Vmware公司的PaaS服务平台,Paas(Platform as a Service,平台即服务), 是为开发者提供一个应用运行的平台,有了这人平 ...

  7. Cloud Foundry warden container 安全性探讨

    本文将从Cloud Foundry中warden container的几个方面探讨warden container的安全性. 1. warden container互訪 1.1.  互訪原理· 在Cl ...

  8. 12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面!

    12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面! 12日2日对中国Cloud Foundry的用户和开源社区来说,是极有意义的一天 ...

  9. Cloud Foundry中 JasperReports service集成

    Cloud Foundry作为业界第一个开源的PaaS解决方案,正越来越多的被业界接受和认可.随着PaaS的发展,Cloud Foundry顺应潮流,充分发挥开源项目的特点,到目前为止,已经支持了大批 ...

随机推荐

  1. SweetAlert如何实现点击Confirm之后自动关闭

    swal({ title: "Are you sure?", text: "You will not be able to recover this imaginary ...

  2. discuz 插件核心函数hookscript分析.

    function hookscript($script, $hscript, $type = 'funcs', $param = array(), $func = '', $scriptextra = ...

  3. 【原创】如何编写c#用户登陆后用户名在前台显示

    这种肯定是判断session啦!!!!! @{ string username = (string)Session["username"]; user user = new use ...

  4. c++ 模板template

    1.函数模板的声明 声明形式 template<typename 数据类型参数标识符> <返回类型><函数名>(参数表) {     函数体 } 注: templa ...

  5. 【计算机网络】2.2 Web和HTTP

    第二章第二节 Web和HTTP 这一章中,我们需要讨论5种重要的应用:Web.文件传输.电子邮件.目录服务.P2P:这一节中,我们将讨论Web和它的应用层协议HTTP. Outline Web简介 H ...

  6. asp.net C# 获得配置文件AppSettings 的值

    using System.Configuration;//导入命名空间 //配置文件 Web.config <appSettings> <!--数据连接字符串--> <a ...

  7. 网络编程 - 协议遇到IO自动切换

    一.协议遇到IO自动切换 python网络编程,遇到IO自动切换,通过模块gevent来实现: import gevent,time def g1(): print ("g1 is star ...

  8. 第2节 hive基本操作:12、hive当中的hql语法

    3.2. hive查询语法 3.2.1.SELECT https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select 基本 ...

  9. li标签和checkbox绑定

    参考原文:https://www.cnblogs.com/youxin/p/3885496.html 我们经常需要li或span包含一个checkbox,不管点击checkbox或li都会触发相应的事 ...

  10. 浏览器通知Web Notifications实例页面

    HTML代码: <button id="button">有人想加你为好友</button> <p id="text">< ...