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