流量异常故障排查
现象描述
在企业云上业务运行过程中,数据面故障是最常见的网络问题之一。当业务系统通过云防火墙进行安全防护时,访问流量需要经过防火墙的安全策略检查。如果防火墙配置不当或安全策略误拦截了正常业务流量,将导致端到端业务中断,表现为客户端请求服务端失败、超时,或者会话建立后出现业务中断。
本案例面向运维工程师和安全运营人员,介绍当业务出现网络中断时的排查思路和处理方法,帮助您快速定位流量是否被云防火墙拦截,并根据拦截原因采取相应的恢复措施,最大程度缩短业务恢复时间。
原理说明
在云防火墙防护架构中,业务流量路径如下:
客户端 → 云防火墙 → 服务端
云防火墙对流经的流量进行多层安全检查,主要包括:
- 访问控制策略:根据预配置的访问控制规则和黑名单,对匹配的流量执行放行或阻断动作。
- 入侵防御(IPS):对流量进行深度检测,匹配到攻击特征的流量会被拦截。IPS规则包括基础防护规则、虚拟补丁规则、反弹Shell检测和敏感目录扫描检测等。
- 流量过滤:基于IP黑名单对流量进行过滤。
当业务流量在上述任一环节被阻断时,均可能导致业务中断。排查的核心思路是逐层检查防火墙各模块的日志,确认流量是否被拦截以及被哪个模块拦截,然后采取对应的处理措施。
排查及处理步骤
- 查看是否有阻断日志。
- 登录云防火墙控制台。
- 单击管理控制台左上角的
,选择区域。 - (可选)切换防火墙实例:如果有多个防火墙实例,可以在页面左上角的下拉框中进行切换。
- (可选)切换防火墙实例:如果有多个防火墙实例,可以在页面左上角的下拉框中进行切换。
- 在左侧导航树中,选择,默认进入页面。
- 选择“访问控制日志”页签,进入访问控制日志页面后,再根据异常场景选择对应页签。
- 如果异常场景为互联网边界的EIP互访,选择“互联网边界防火墙”页签;
- 如果异常场景为VPC间的业务互访,选择“VPC边界防火墙”。
- 根据异常业务的源和目的IP进行日志搜索,查看是否有阻断日志(响应动作为阻断)。 图1 阻断日志
- 判断阻断日志产生原因并进行处理。
阻断日志可能是命中访问控制规则或者黑名单而产生的。排查阻断日志原因:
- 在“访问控制日志”页面中,单击“规则/规则ID”列的规则名称或黑名单,可以跳转到对应的详情页面。
- 查看阻断日志命中情况并确认规则参数设置信息。
- 如果命中了访问控制规则:
- 确认阻断规则中的源IP或者源地址组是否包含了期望放行的IP。
- 确认阻断规则中的目的IP或者目的地址组是否包含了期望放行的IP。
- 确认阻断规则中的目的域名或域名组是否包含了期望放行的域名。
- 如果命中了黑名单:
确认黑名单中源或者目的IP是否包含了期望放行的IP。
- 如果命中了访问控制规则:
- 排查完成后,如果是访问控制规则或黑名单导致的阻断,修改对应规则或黑名单后业务应恢复正常。如果未发现访问控制阻断日志,请继续执行步骤 3。
修改防护规则详细操作请参见编辑防护规则;修改黑名单详细操作请参见编辑黑名单。
- 修改访问控制规则可能影响其他业务流量的安全防护策略。修改前请确认变更影响范围,建议先在测试环境验证后再在生产环境操作。
- 从黑名单中移除IP将解除对某个IP的拦截,请确认该IP不构成安全威胁后再操作。
- 检查报文是否被入侵防御模块拦截。
- 处理入侵防御模块拦截的报文。
报文被入侵防御模块拦截时,根据攻击日志中的规则ID或规则名称,分为以下4种场景:
- 场景1:攻击日志中的规则ID为760001(反弹Shell拦截)
表示报文命中了反弹shell,日志中的IP或者会话会按照的设置进行拦截。
处理方式:如果确认报文为客户端发起的正常业务请求,可以将发起请求的IP添加一条白名单规则,将报文放行。
添加白名单详细操作请参见通过白名单放行互联网边界流量、通过白名单放行VPC边界流量。
- 场景2:攻击日志中的规则ID为360021(敏感目录扫描拦截)
表示报文命中了敏感目录扫描,日志中的ip或者会话会按照的设置进行拦截。
处理方式:如果确认报文为客户端发起的正常业务请求,可以将发起请求的IP添加一条白名单规则,将报文放行。
添加白名单详细操作请参见通过白名单放行互联网边界流量、通过白名单放行VPC边界流量。
- 场景3:攻击日志中的规则ID为其他ID(基础防护或虚拟补丁规则拦截)
表示报文命中了基础防护或虚拟补丁中的IPS规则。
处理方式:如果确认报文为客户端发起的正常业务请求,可以采取以下任一方式处理:
- 将源IP添加一条白名单规则,将报文放行。
添加白名单详细操作请参见通过白名单放行互联网边界流量、通过白名单放行VPC边界流量。
- 修改规则的动作,将将报文放行。
- 在左侧导航栏中,选择,进入入侵防御界面。
- 保持“基础防御”右侧开关开启。
- 单击“基础防御”栏中的“查看生效中的规则”,进入基础防御规则页面。
- 根据规则ID进行搜索,将规则的当前动作设置为观察或者禁用,并在弹出的确认框中,单击“确定”。 图3 变更动作
将IPS规则动作从阻断修改为观察或禁用会降低安全防护能力,请仅在确认报文为正常业务流量后操作,并在风险解除后及时恢复规则动作。
- 将源IP添加一条白名单规则,将报文放行。
- 场景4:攻击日志中的规则名称为“Blacklist-IP”(流量过滤拦截)
表示报文被“流量过滤”功能拦截。
处理方式:在流量过滤中将被封堵的IP从文件中去掉,再用全量覆盖的方式重新导入。
- 在左侧导航栏中,选择,进入流量封堵页面。
- 在封堵对象列表中,单击目标流量过滤的IP文件操作列的“下载”。
- 将被封堵的IP从下载的文件中去掉。
- 在流量封堵页面中单击“添加封堵对象”,并配置参数信息。
- 模式:选择全量覆盖。
- 生效范围:选择EIP
- 添加方式:选择文件上传
- 选择文件:单击添加文件,并选择刚修改后的文件。
- 单击“确认”,并在弹出的确认框中,确认无误后,单击“确定”。
排查完成后,执行步骤 5,进一步确认流量转发情况。
- 场景1:攻击日志中的规则ID为760001(反弹Shell拦截)
- 检查流量日志。
- 在日志查询页面中选择“流量日志”页签,进入流量日志页面后,再根据异常场景选择对应页签。
- 如果异常场景为互联网边界的EIP互访,选择“互联网边界防火墙”页签;
- 如果异常场景为VPC间的业务互访,选择“VPC边界防火墙”。
- 根据异常业务的源和目的IP进行日志搜索,确认是否有流量日志。
- 如果搜索到流量日志,表示源目IP已经在防火墙上创建了会话,查看日志的“流报文数”。 图4 流报文数
- 若响应报文为0,需要排查服务端是否收到请求报文以及是否发送响应报文;
- 若响应报文不为0,表示两个方向的报文云防火墙均正常转发,需要排查客户端到防火墙之间的反向链路是否正常。
- 如果没有搜索到流量日志,表示流量可能没有到达防火墙,可以执行步骤 6通过抓包功能进一步确认。
- 如果搜索到流量日志,表示源目IP已经在防火墙上创建了会话,查看日志的“流报文数”。
- 在日志查询页面中选择“流量日志”页签,进入流量日志页面后,再根据异常场景选择对应页签。
- 通过网络抓包进一步确认报文是否到达防火墙。
相关文档
- 访问控制规则的配置方法请参见访问控制策略概述。
- 流量过滤功能的配置方法请参见通过流量封堵快速拦截恶意流量。
- 如需了解EIP的基本概念和配置方法,请参见什么是弹性公网IP。
- 如需了解VPC的基本概念和网络配置,请参见什么是虚拟私有云。
