F5超级Ingress服务

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java

容器云平台对外暴露服务的方式很多,Ingress是其中非常重要的一种。Ingress Controller读取Ingress的配置信息,并执行相应的流量处理,实现基于hostname或URL的路由,TLS端结和负载均衡,也就是上图中1-3的功能。

F5 BIG-IP不但可以作为Ingress Controller提供上述1-3的能力,同时还具备4-11的服务能力,因此我们称之为超级Ingress。本文主要介绍与应用安全相关的456以及10的实现。


02
内置WAF实现安全防护


2.1前置条件

已经部署F5 BIG-IP LTM实现了容器业务的基本负载均衡功能,关于如何通过F5 CIS直接发布容器应用,或者通过CIS发布容器中的KIC,请参考F5官网文档https://clouddocs.f5.com/containers/latest/userguide/kubernetes/ SSL可以端结在F5上,也可以端结在原生的Ingress Controller上。随着内网安全的挑战不断增大,端到端的SSL连接越来越被企业接受,因此首选的部署模式还是终结在管理平面上。


F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_02

F5设施上有WAF许可(ASM或者AWAF)。在这种条件下,可以直接启用F5设施上的WAF模块实现对管理平面的安全防护,提高安全性的同时简化了部署架构。


2.2   配置实现

2.2.1 启用ASMWAF)模块

首先启用F5上的ASMAWAF模块。


如上图所示,在system > Resource Provisioning界面启用ASM模块,点击submit提交即可。


2.2.2 配置WAF策略

启用ASM之后,设备将出现security > Application Security 界面,从界面新建WAF策略。


策略模板可以使用快速部署(Rapid Deployment Policy),由于本文主要关注部署架构,关于安全策略的细节将不进行详细的描述。


2.2.3 绑定到LTM虚拟服务器(Virtual Server

安全策略的绑定可在建立策略是直接选择,也可在LTM的属性中直接关联。

创建策略时选择虚拟服务器:


在虚拟服务器属性中关联:


完成关联后,系统将自动创建策略将访问流量引导给ASM模块进行处理:


2.2.4 验证访问

使用浏览器访问集群管理平面,应该能见到F5 ASM插入的相关cookie


ASM的安全策略页开始学习访问流量:




03
编排到外部WAF实现安全防护


3.1 概述

很多情况下,企业的安全设施会采用独立部署,通过一定的方式将流量牵引到安全设施进行相应的安全处理。流量牵引的方式很多,包含但不限于下面的方式:

网络服务编排的方式虽然比较新,但由于融合了负载均衡和服务链的能力,接受度不断提升。这里我们将介绍如何利用F5SSLO网络服务编排模块将管理平面的访问牵引到外部WAF资源池,实现管理平面的安全防护。

采用这种部署模式的优势显而易见:

p  独立安全设施,专业分工。

l  交付设施专注交付,安全设施专注安全,边界清晰。

p  WAF多活部署。

l  改变传统部署下WAF主备模式,ROI成倍提升。

p  弹性扩展,灰度升级。

l  融合了负载均衡功能,WAF可以池化扩展,设备可以灰度升级,流量可以灰度发布。

p  旁路部署,便于运维。

l  结合F5完善的探活机制,可随时隔离故障设备,运维灵活。


3.2 F5网络服务编排模块SSLO

F5 SSLO网络服务编排设施整合了动态服务链和负载均衡的核心能力,实现对网络服务,尤其是安全服务的智能编排,同时也使得安全设施无需对SSL流量进行解密,可充分发挥其生产力,提高了投资回报。


SSLO支持多种部署模式,可以轻松集成到复杂体系架构中,为出入站流量提供集 中解密功能。SSL Orchestrator 支持多种出入站拓扑模式(包括入站层 2/3、出站层 2 和出站显式透明代理)和多种安全设备(包括 2/3 层、TapWeb 代理、仅接收流量和基于 ICAP 的设备)


SSLO可动态地连接安全设备,独立监控和扩展这些设备,并通过上下文分类引擎智能管理跨整条安全链的解密。动态服务链和基于策略的流量导向降低了运营成本,并支持将菊花链架构的安全设备转换为高度可用的安全服务。典型的网络服务设施可能包括 NGFWDLP 扫描仪、Web 应用防火墙(WAF)、入侵防御系统(IPS)、恶意软件分析工具等组件。


3.3   前置条件

已经部署F5 BIG-IP LTM实现了容器业务的基本负载均衡功能,关于如何通过F5 CIS直接发布容器应用,或者通过CIS发布容器中的KIC,请参考F5官网文档https://clouddocs.f5.com/containers/latest/userguide/kubernetes/ SSL可以端结在F5上,也可以端结在原生的Ingress Controller上。F5设备具备SSLO网络服务编排软件许可。


3.4   配置实现

3.4.1 启用SSLO网络服务编排模块

首先启用SSLO网络服务编排功能。在F5 System > Resource Provisioning菜单下,打开SSL Orchestrator功能,点击Submit提交即可。


3.4.2 配置网络编排策略

F5SSLO策略配置完全实现向导化,只需根据流程指引完成配置:

1.选择部署拓扑

进入配置菜单SSL Orchestrator  ››  Configuration,选择部署拓扑“Existing Application”,点击“Save & Next”。


2.配置网络服务

进入service配置界面,选择“Generic Inline Layer 3”,选择“Auto Manage Addresses”,系统将给出相应的IP地址,VLAN同样可以选择由系统新建。


选择“Service Down Action”为“Ignore”,失效自动屏蔽;

添加WAF设备地址及其探活方式。



保存,下一步进入服务链配置。


3.配置服务链

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_03

2中配置的WAF服务加入服务链即可。


4.配置安全策略

编辑缺省的安全策略,添加服务链。

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_04

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_05

保存,进入下一步。


5.提交部署

完成所有步骤后,提交部署。

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_06


3.4.3 绑定到LTM虚拟服务器(Virtual Server

完成编排策略的配置后,将策略绑定到Rancher管理平面的虚拟服务器。

打开菜单Local Traffic  ››  Virtual Servers : Virtual Server List  ››  vs-https

Access Policy中,Access Profile选择“ssloDefault_accessProfile”,Per-Request Ploicy选择“ssloP_existing_app_per_req_policy”即可。

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_07


3.4.4 验证访问

从管理客户端发起访问,观察客户端体验是否正常。观察WAF设备接收流量是否为明码的解密流量。

F5社区好文推荐:F5超级Ingress服务保障容器云业务安全_java_08


04
总结

F5超级Ingress为容器应用提供更稳定、更健壮、更灵活的服务,确保应用的高可用性和安全性,也可以通过SSLO服务编排组件将流量牵引到外部的WAF资源池,实现更好灵活性和扩展性。