F5社区-F5技术交流中心

在Inbound和Outbound场景下,Security Policy设置的差异之 SSL Check

2020-03-31 15:21:19

巩卓雨

Inbound和Outbound场景下,Security Policy设置的差异

SSL Check

 

 

  我们在部署SSLO Inbound场景的时候,通常会遇到这样的情形:后端有许多的应用,并且应用中既有HTTP类型的也有HTTPS类型的,但是我们希望通过一条Topologies来实现对流量的区分,将HTTPS的流量发送到一组安全设备上,将HTTP的流量发送到另一组安全设备上。

在这种情形下,我们首先会想到通过SSL Check来完成这样的需求,然而事实是通过SSL Check的设置并不能实现这样的功能。


 

    在这样的配置下,我们发现http的业务是无法访问的,但是https业务的流量是能够按照Rule的配置进行分发的。






 

  这是因为在Intercept rule的advance设置中,如果配置了SSL configuration,则HTTPS的流量是可以访问通,如果没有配置SSL Configuration,则HTTP的流量也是可以访问通的。

所以,一般这种场景下,我们推荐设置两条Topologies,将HTTP流量与HTTPS流量分开,这样能够满足该场景下的需求。



  其中inbound_http的Topologies,通过在Interceprion Rule中将端口限制为80,在inbound_test的Topologies中,将端口限制为443,从而达到http的流量将使用inbound_http的Topologies,而https得流量将使用inbound_test的Topologies




  当然,还有另一种解决方案,那就是在SSLO中通过添加iRules来区分HTTP及HTTPS的流量。


iRules参考如下:

when CLIENT_ACCEPTED {

  if { [TCP::local_port] == 443  } {

    set usessl 0

  } else {

  set usessl 1

  SSL::disable

  }

}
when SERVER_CONNECTED {

  if { $usessl == 1 } {

    SSL::disable

  }

}

访问效果如下:


  如果对于某一个特定的能够同时使用http或https来访问,但是业务本身是必须使用https来访问的时候,我们可以通过在Interception Rule中添加Pool的方式,并结合SSL Check来实现将http流量以及https流量进行区分。


  但是,在Outbound场景下,SSL Check是能够在一条Topologies中生效的。


  通过该配置,我们可以限制当客户端访问http的网站时,将请求阻拦掉:


 

而允许客户端访问https的站点:


编写人:张郑文轩

神州数码(深圳)有限公司

 

发布评论 加入社群

发布评论

相关文章

什么是安全架构《三》

F5小安

2021-05-25 10:34:47 701

什么是安全架构《二》

F5小安

2021-05-24 16:07:30 685

什么是安全架构《一》

F5小安

2021-05-21 10:57:57 897

Login

手机号
验证码
© 2019 F5 Networks, Inc. 版权所有。京ICP备16013763号-1