服务端的管理监控在 Secure Gateway server 端的控制面板中完成。如图 19.
点击查看大图
点击 Gateway 的图标,就进入 Secure Gateway 的监控面板,在这里可以看到服务中一共有多少个 gateway,是否开启,每一个 Gateway 包含几个 destination,每一个 destination 中的具体信息:
还有一个图表可以显示每一个网关在近十二小时内的数据流量。该数据每 25 秒更新一次。图表中每一个 gateway 用不同的颜色标出,点击可以单独查看每一个 gateway 的数据情况。
客户端连接建立以后,就可以在安装了 Secure Gateway 客户端的服务器上通过访问 localhost:9003/dashboard 登陆客户端控制面板,在此可以查询该客户端连接的相关数据信息,并对其进行设置。如图 20.
点击查看大图
Access Control List 访问控制列表中可以添加删除访问白名单和黑名单,以控制通过该客户端的访问权限。如图 21.
点击查看大图
View logs 实时显示连接过程中的 log,提供下载功能,并且可以自定义显示的 log 级别。如图 22.
点击查看大图
Connection Info 显示该客户端连接的详细信息。数据流量,总连接数和活跃连接数,以及对应的服务端 Gateway 的信息。如图 23.
点击查看大图
Secure Gateway 集成了 TLS 协议来对服务器进行身份验证、对传输数据进行加密以确保传输安全。传输层安全协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
TLS 记录协议位于 TLS 握手协议的下面,在可靠的传输协议(如 TCP/IP)上面。TLS 记录协议的一条记录包含长度字段、描述字段和内容字段。TLS 记录协议处理数据的加密,即记录协议得到要发送的消息之后,将数据分成易于处理的数据分组,进行数据压缩处理(可选),计算数据分组的消息认证码 MAC, 加密数据然后发送数据;接收到的消息首先被解密,然后校验 MAC 值,解压缩,重组,最后传递给协议的高层客户。记录协议有四种类型的客户:握手协议、警告协议、改变密码格式协议和应用数据协议。通常使用一个对称算法,算法的密钥由握手协议提供的值生成。
TLS 握手协议处理对等用户的认证,在这一层使用了公共密钥和证书,并协商算法和加密实际数据传输的密钥,该过程在 TLS 记录协议之上进行。TLS 握手协 议是 TLS 协议中最复杂的部分,它定义了 10 种消息,客户端和服务器利用这 10 种消息相互认证,协商哈希函数和加密算法并相互提供产生加密密钥的机密数 据。TLS 记录协议会在加密算法中用到这些加密密钥,从而提供数据保密性和一致性保护。
Secure Gateway 具体提供了以下连接方式来供用户选择:
TCP 传输控制协议。不提供身份验证,应用程序可以直接通过 Secure Gateway 与数据资源通信而不需要验证任何证书
TLS:Server Side 传输层安全协议。 Secure Gateway 服务端需要提供证书来证明其身份,并且需要将证书添加到应用程序 truststore 中。
TLS:Mutual Auth 除了服务端提供的证书外,还需要上传一份自签名证书 。
另外还有三种 HTTP、HTTPS、HTTPS:Mutual Auth 都是建立在以上三种传输层协议之上的应用层协议。
本文实例中,本地 Nodejs 应用访问云端 resourse,Nodejs 与 Secure Gateway 客户端以 HTTP 方式连接,可以直接传输数据;Secure Gateway 服务端与云端 resource 连接采用 HTTPS 的方式,连接资源时需要首先验证资源的证书,同时依靠证书中的公钥对传输的数据进行非对称加密,保证数据传输安全。
Secure Gateway 作为 IBM 公有云 Bluemix 上的一种集成类服务,可以为用户访问各类资源提供可靠传输通道,同时集成 TLS 协议,加密数据,保证传输的安全性。能够使企业内部应用安全的访问云上的资源。让企业应用可以自如的使用自己的数据中心和云上的数据。
来源: http://www.ibm.com/developerworks/cn/linux/l-mesos-kubernetes-hybrid-architecture-scenario-trs/index.html