在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

回复评论
发布评论