容器云平台对外暴露服务的方式很多,Ingress是其中非常重要的一种。Ingress Controller读取Ingress的配置信息,并执行相应的流量处理,实现基于hostname或URL的路由,TLS端结和负载均衡,也就是上图中1-3的功能。
F5 BIG-IP不但可以作为Ingress Controller提供上述1-3的能力,同时还具备4-11的服务能力,因此我们称之为超级Ingress。本文主要介绍与应用安全相关的4、5、6以及10的实现。
内置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设施上有WAF许可(ASM或者AWAF)。在这种条件下,可以直接启用F5设施上的WAF模块实现对管理平面的安全防护,提高安全性的同时简化了部署架构。
2.2 配置实现
2.2.1 启用ASM(WAF)模块
首先启用F5上的ASM或AWAF模块。
如上图所示,在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 概述
很多情况下,企业的安全设施会采用独立部署,通过一定的方式将流量牵引到安全设施进行相应的安全处理。流量牵引的方式很多,包含但不限于下面的方式:
网络服务编排的方式虽然比较新,但由于融合了负载均衡和服务链的能力,接受度不断提升。这里我们将介绍如何利用F5的SSLO网络服务编排模块将管理平面的访问牵引到外部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 层、Tap、Web 代理、仅接收流量和基于 ICAP 的设备)。
SSLO可动态地连接安全设备,独立监控和扩展这些设备,并通过上下文分类引擎智能管理跨整条安全链的解密。动态服务链和基于策略的流量导向降低了运营成本,并支持将菊花链架构的安全设备转换为高度可用的安全服务。典型的网络服务设施可能包括 NGFW、DLP 扫描仪、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 配置网络编排策略
F5的SSLO策略配置完全实现向导化,只需根据流程指引完成配置:
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.配置服务链
将2中配置的WAF服务加入服务链即可。
4.配置安全策略
编辑缺省的安全策略,添加服务链。
保存,进入下一步。
5.提交部署
完成所有步骤后,提交部署。
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”即可。
3.4.4 验证访问
从管理客户端发起访问,观察客户端体验是否正常。观察WAF设备接收流量是否为明码的解密流量。
总结
F5超级Ingress为容器应用提供更稳定、更健壮、更灵活的服务,确保应用的高可用性和安全性,也可以通过SSLO服务编排组件将流量牵引到外部的WAF资源池,实现更好灵活性和扩展性。