分类目录F5技术

F5 SSL forward proxy

如果一个企业希望当用户访问任意SSL加密的数据时也能监控其内容的话,同时又希望用户不要觉察到TA可能在被监控(至少对于绝大部分普通用户来说),可以考虑使用SSL forward proxy。该功能的基本原理类似于前段时间某强大的传说中的火墙干的那样,当请求通过时候,实时on-fly签发一张让用户感觉不到的server证书,这样客户端SSL实际是和中间设备(F5)在通信,F5在server侧模拟充当普通客户与实际网站通信,从而实现数据解密。

对于F5来说,其实际通信过程如下:

  1. client 发起 client hello 到VIP
  2. F5 vip接到该client hello后在client侧暂时hold住,不处理
  3. 同时在server侧发起一个新的SSL会话,通过该会话获得实际服务器的server证书
  4. 利用server证书里的一些关键信息(CN或者SAN),通过在F5上配置的一个CA实时签发一张关于该server的证书
  5. F5在client侧回复server hello,以及实时签发的证书给client,最后client侧SSL会话建立
  6. client 发送实际数据,F5可以看到该实际数据
  7. F5在server侧利用server侧的SSL会话重新封装数据

如果此时并不想对所有网站都进行这样处理,比如对到一些敏感网站(例如个人网银等)请求,则需要对这些网站进行bypass,所谓bypass就是不让F5获得敏感数据,F5将执行类似纯数据包转发,这个bypass情形的过程如下(假设需求是:缺省截取但对部分网站bypass):

 

  1. client 发起 client hello 到VIP
  2. F5 vip接到该client hello后在client侧暂时hold住,不处理
  3. 同时在server侧发起一个新的SSL会话,通过该会话获得实际服务器的server证书
  4. 利用server证书里的一些关键信息(CN或者SAN)或L3、4层信息,查找匹配bypass列表,然后执行下面蓝色或者红色的过程:
  5. 如果发现匹配,则重新建立一个新TCP连接,将第1步收到的client hello转发给server,后续client和server间的数据,F5只做简单转发。
  6. 如果没有发现匹配,则执行下面的 7-10过程
  7. 利用server证书里的一些关键信息,通过在F5上配置的一个CA实时签发一张关于该server的证书
  8. F5在client侧回复server hello,以及实时签发的证书给client,最后client侧SSL会话建立
  9. client 发送实际数据,F5可以看到该实际数据
  10. F5在server侧利用server侧的SSL会话重新封装数据

配置方法:

阅读更多

通过ihealth API 自动化提取诊断分析结果

上一篇文章我们实现了自动化qkview的上传,上传之后,我们可以利用脚步执行自动化的诊断提取工作,其工作思路是

-分析并列表当前用户下所有qkview id

-等待用户输入需要分析的qkview id

-执行分析,并输出诊断结果

你可以修改脚本做更多的工作,例如输出qkview所采集到的tmsh,linux等相关命令的输出,也可以输出某个指定的文件,只要分析下图中不同的输出即可:

Ihealth-API

Ihealth-API

脚本下载:

如何获得下载密码,请微信关注 F5技术 订阅号后,回复downloadpwd

或微信扫描立刻关注

微信公众号

微信公众号

用法:

1.首先应确保你的系统安装了 xmlstarlet 这个命令行xml分析工具。在ubuntu系统下执行

apt-get install xmlstarlet  安装即可

脚本中有如下定义:

XMLPROCESSOR=/usr/bin/xmlstarlet

根据你系统环境的不同,请对应修改执行文件所在位置。

注意:此脚本暂时不支持json格式输出的分析,脚本中用到的jq可不安装,执行时也不要使用参数指定json格式。

2. 运行

ubuntu# USER=Yourihealthname PASS=Yourihealthpwd ./diagnostic-summary.sh

输出类似:

阅读更多