问题描述

业务接入DDoS高防后,用户访问业务时存在异常卡顿、延迟、访问不通等问题。

问题原因

  1. 遇到这类问题时,需要您收集受影响的访问地址,并通过Traceroute或MTR等工具进行链路测试,如下所示,定位是哪个节点的问题。
    说明
    mtr --no-dns [$IP]
    说明 [$IP]为您收集受影响的访问地址。
    系统显示类似如下,发现有个节点存在延迟。业务接入DDoS高防后存在卡顿、延迟、访问不通等问题
  2. 确认该延迟节点的Host值是DDoS高防后端节点地址还是DDoS高防的地址。

解决方案

如果业务紧急,建议您先跳过高防,直接访问源站,优先保证业务正常运行,然后在参考以下步骤排查处理:

DDoS高防后端节点异常分析与处理

您需要根据DDoS高防后端节点的类型,选择对应的排查步骤。

源站类型 排查步骤
负载均衡SLB
  1. 使用TCPing工具,检测SLB的IP地址和端口,查看是否有异常。详情请参见DDoS高防清洗事件分析与处理
  2. 检查SLB状态是否有异常,例如连接数是否超过规格默认最大连接数。
  3. 检查SLB是否设置了访问控制,或者其他的访问控制策略。

    如有,请确认已经放行了DDoS高防的回源IP网段。更多信息,请参见放行DDoS高防回源IP

  4. 检查SLB后端的服务器,确认是否有安全软件或其他IP封禁策略误拦截了DDoS高防的回源IP。如有,请确认已经放行了DDoS高防的回源IP网段。更多信息,请参见放行DDoS高防回源IP
    说明 后端服务器配置SLB后,如果无法识别访问者的真实源IP(没有使用七层负载均衡),对后端服务器来说所有的请求都是来自高防回源IP段,因此分摊到每个回源IP上的请求量会增大很多,如果有安全软件进行恶意IP识别并阻断,则可能会误拦截高防集群本身的回源IP,而此类回源IP都需要放行。
  5. 确认SLB IP地址是否暴露,若无法判断或已暴露,建议您更换SLB,否则黑客可能会绕过DDoS高防直接攻击源站。
云服务器ECS
  1. 使用TCPing工具,检测ECS实例IP和端口,查看记录是否有异常。详情请参见DDoS高防清洗事件分析与处理
  2. 检查ECS实例是否有异常事件,例如服务器本身黑洞及清洗事件、CPU使用率高、数据库请求慢、出方向带宽高等。
  3. 检查ECS实例是否设置了安全组、安全软件或其他的访问控制策略。如有,请确认已经放行了DDoS高防的回源IP网段。更多信息,请参见放行DDoS高防回源IP
  4. 确认非网站业务是否添加真实源IP允许访问ECS实例的安全组,详情请参见非网站接入访问业务异常
  5. 确认ECS实例IP是否暴露,若无法判断或已暴露,黑客可能会绕过DDoS高防直接攻击ECS实例。建议您更换源站ECS实例IP。更多信息,请参见更换源站ECS公网IP
非阿里云服务器
  1. 使用TCPing工具,检测服务器IP和端口,查看记录是否有异常。详情请参见DDoS高防清洗事件分析与处理
  2. 检查服务器是否有异常事件,例如CPU高、数据库请求慢、出方向带宽满等。
  3. 检查服务器本身是否设置了黑、白名单,安全软件或者其他的访问控制策略。如有,请确认已经放行了DDoS高防的回源IP网段。更多信息,请参见放行DDoS高防回源IP
  4. 确认服务器IP是否暴露,若无法判断或已暴露,建议您更换服务器IP,不要使用之前已暴露的IP。否则黑客可能会绕过DDoS高防直接攻击服务器。

DDoS高防问题

您可以在DDoS高防控制台实例管理页面查看高防实例的状态。如果是出现以下状态,请选择对应的方法处理:
  • 清洗中

    当网络流量超过清洗阈值时,阿里云会开始对攻击流量进行清洗,此时可能会导致卡顿或者延迟问题。

  • 黑洞中

    假如您的服务器遭受大流量攻击而进入黑洞,那么除阿里云内部和该服务器同地域的云产品仍然能够正常连通该服务器外,其他所有来自外部的流量都会被丢弃。

DDoS高防清洗事件分析与处理
如下图所示,表示DDoS高防实例有清洗事件,问题可能是清洗事件引起。使用TCPing工具,分别对受攻击端口和未被攻击端口进行延迟和丢包的测试:实例状态
根据记录结果,对照下表定位并解决问题。
受攻击端口

有延时、丢包

未被攻击端口

有延时、丢包

问题分析处理
说明不是清洗策略的原因,清洗策略未导致误杀。
建议您查看后端服务器状态是否异常,确认后端服务器的抗攻击性能。若服务器抗攻击能力较弱,DDoS高防需要收紧防御策略。您可以根据以下参数,分析服务器抗攻击能力并调整DDoS高防的防御策略。
  • 正常用户访问情况
  • 业务主要交互过程
  • 应用对外服务能力
清洗策略导致出现问题。
说明不是清洗策略的原因,清洗策略正常。
一般不存在这种情况。
DDoS高防黑洞事件分析与处理
  1. 如下图所示,说明DDoS高防实例有黑洞事件。请确认进入黑洞的DDoS高防实例的IP,以及受影响的访问请求都经过该IP。实例状态-黑洞中
  2. 建议您使用DDoS高防的黑洞解封功能,解除黑洞状态。每个阿里云账号每天共拥有五次黑洞解封机会,具体操作请参见黑洞解封

更多信息

本小节主要介绍TCPing工具,TCPing工具使用TCP的方式去查看端口情况,可以检测出TCP延迟及连接情况。您可以单击下载TCPing工具
  • Windows使用方法
    将Windows版的TCPing工具拷贝至Windows系统上,打开命令行工具,进入TCPing工具所在目录,在命令行中运行tcping [$Domain_Name] [$Port]
    说明
    • [$Domain_Name]为您需要检测的域名或IP地址。
    • [$Port]为需要检测的端口号。
    系统显示类似如下。
    Probing 192.168.XX.XX:80/tcp - Port is open - time=19.550ms
    Probing 140.XXX.XXX.8:80/tcp - Port is open - time=8.761ms
    Probing 192.168.XX.XX:80/tcp - Port is open - time=10.899ms
    Probing 192.168.XX.XX:80/tcp - Port is open - time=13.013ms
    
    Ping statistics for 192.168.XX.XX:80
         4 probes sent.
         4 successful, 0 failed.
    Approximate trip times in milli-seconds:
         Minimum = 8.761ms, Maximum = 19.550ms, Average = 13.056ms                            
  • Linux使用方法
    1. 上传Linux版的TCPing工具,依次执行以下命令,安装TCPing工具。
      tar zxvf tcping-1.3.5.tar.gz
      cd tcping-1.3.5
      make tcping.linux
    2. 执行以下命令,进行检测。
      for ((i=0; i<10; ++i)) ; do ./tcping www.example.com 80;done
      系统显示类似如下。
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.
      www.example.com port 80 open.

适用于

DDoS高防