负载均衡安全防护策略
场景介绍
负载均衡服务在提供公私网流量分发的同时,会遇到许多安全相关的问题,这些问题可能会严重干扰业务的正常运作。为此,本文重点讨论如何增强系统的安全性,实现流量的安全防护。
攻击预防
网络ACL和安全组
负载均衡可以配合私有网络服务的 网络ACL 和 安全组 功能提高访问安全性,还支持控制访问后端服务器的流量。 网络ACL、安全组结合使用,可以帮助您在“内/外用户访问”和“后端服务器组”之间添加三层过滤,保障对后端服务器的安全访问。
1.创建安全组
在安全组页面中点击“创建安全组” 在安全组创建页面中添加希望添加的出入站规则,如:
- 入站规则
- 出站规则
2.将负载均衡与安全组关联
点击BLB实例名称,在左导栏中选择安全组,在“关联的安全组列表”中选择“关联安全组”,即可在弹窗中选择已创建的安全组关联。
3. 设置VPC ACL
除安全组外,可以设置VPC ACL对流入子网流量进行整体控制。点击VPC名称进入VPC详情页。 在-包含资源-网络资源 中找到ACL,点击右侧蓝色数字。 进入ACL详情页,点击左侧下拉箭头,配置出入站规则。 之后,出入BLB流量将经过所在VPC的ACL和BLB所关联的安全组的两道校验。这将极大地提高BLB实例的安全性。
配置HTTPS访问
HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,它是HTTP的安全版本。HTTPS通过使用TLS(Transport Layer Security)或其前身SSL(Secure Sockets Layer)协议来保护数据的传输安全性。
当前,负载均衡支持配置HTTPS协议的监听端口,能够保护数据在客户端和服务器之间的传输,防止中间人攻击和窃听。
配置HTTPS监听器需要完成以下步骤:
1. 证书获取
可以在证书管理中上传或新购SSL证书,具体添加证书指引见购买证书指导文档和上传证书指导文档 完成以上流程后,您可以在证书管理中看到您的已签发或上传的SSL证书。,详细说明参考证书管理指导文档。 之后,您可以在应用型BLB HTTPS监听器创建时,在下拉列表中选择以上SSL证书。
注意:仅支持在监听器配置服务器类型的证书
2.HTTPS监听器配置
启用HTTPS协议的监听器,可以将数据加解密交由负载均衡器处理,后端服务只需要关注业务本身。使用上面配置好的证书,您可以配置HTTPS监听器,以提高服务的安全性。 配置HTTPS监听端口指导文档 示例配置如下:
3.启用双向认证(可选)
双向认证,也被称为双向SSL认证或客户端证书认证,是一种加强网络通信安全性的方法。在传统的SSL/TLS连接中,通常只有服务器需要提供证书来验证其身份,而客户端不需要验证。而双向认证要求客户端也提供有效的证书,从而确保双方都经过身份验证。最显著的好处是降低了中间人攻击和伪装的风险。
3.1 上传CA证书
以在证书管理中上传CA证书,上传时选择类型为CA证书。
3.2 在HTTPS监听器中配置双向认证
在配置HTTPS监听器时选择开启双向认证,并选择刚刚上传的CA证书 请确保对负载均衡发起访问的客户端已正确配置同一CA证书并拥有证书私钥。
使用应用防火墙 WAF 提供访问安全性
Web应用防火墙(Web Application Firewall,简称WAF)是百度智能云面向用户提供的Web安全防护产品,能够有效防护各种Web攻击,协助用户定制访问规则,提升网站等业务的安全。独创的全新WAF技术架构体系,能够将WAF实例灵活部署在各个Web业务入口,避免了传统云WAF架构下黑客绕过代理直攻源站的尴尬。云端安全大数据能力的集成也让WAF能更有效更快捷的帮助客户提升网站安全性与可用性。 通过在应用型负载均衡实例上配置绑定WAF,能够提高服务入口的安全防护能力。
1. 创建WAF实例
在WAF实例列表点击购买WAF资源。 选择BLB类型进行新建。 配置示例:
2. 将WAF与BLB实例绑定
完成WAF的实例购买后,需要对其进行配置,才能够实现WAF的防护能力,配置步骤如下:
- 选择“产品服务>应用防火墙服务 WAF”,进入BLB WAF 列表页,点击主域名栏下的配置,进入配置详情页面。
-
基本配置填写,填写需要防护的”根域名”、”子域名”,并选择绑定的负载均衡BLB实例。
只能绑定与WAF实例所在同一区域的BLB实例,仅支持HTTP/HTTPS 协议,如没有符合条件的BLB实例,请前往控制台购买或重新配置BLB实例。
-
开启Web防护,选择防护策略等级。
- 默认开启中级策略集,越严格安全防护效果越好。高级策略集,表示开启严格的防护策略,但可能出现误拦截情况;中级表示具备中和低两种策略集;低级表示防护策略宽松。
- 每种防护策略都具备『拦截』和『观察』功能,拦截模式发现攻击请求立即阻断;观察模式发现攻击请求立即记录但不拦截。
-
(可选)开启自定义访问控制,点击『添加』按键,通过自定义规则实现对您自己的业务控制和过滤。
参数 说明 名称 自定义访问控制规则名称 匹配项 http请求的“来源IP”、“URL地址”、“Referer”字段、“User-Agent”字段等内容的匹配处理。 匹配模式 选择匹配模式:前缀、包含或后缀。 匹配字符串 输入需要访问控制的字符串。 执行动作 将字符串列为黑名单或白名单 模式 拦截:发现攻击请求立即阻断;观察:发现攻击立即记录但不拦截。 - 点击『确认生效』,完成绑定BLB操作。
攻击排查
对于频繁的、异常的访问,BLB本身具有一定的抗DDoS能力,同时也可以通过启用访问日志和云监控能力,对访问请求进行分析和排查。
1. 云监控
云监控将展示BLB实例接收流量的情况。可以在LB实例的监控页面查看。
- 点击BLB名称进入BLB实例详情页,点击左导栏中的“监控”进入当前BLB实例的监控页,在[负载均衡服务端口]下拉选择想要查看的端口。可以着重注意网络输入流量是否有异常激增情况。
2. 访问日志
访问日志是记录访问BLB实例的请求详情的能力。已开启访问日志的BLB实例,可以在流量异常时同步排查访问日志。开启访问日志前,您需要先创建BOS存储桶,用来存储BLB访问日志功能记录的访问详情。
2.1 创建BOS Bucket
在BOS首页点击左导栏“Bucket列表”进入后点击上方“+”创建Bucket。配置示例:
2.2 开启访问日志功能
- 点击BLB名称进入BLB实例详情页,点击左导栏中的“日志”进入当前BLB实例的日志详情页,开启日志启用并存储到上面创建出来的存储桶中。 之后,在访问日志保持开启的状态下,可以在所选Bucket中看到访问信息。