# TCP防御策略配置

针对TCP服务的防御策略包括阻断、限流和防御。

- 阻断

  将TCP报文全部丢弃。

- 限流

  - TCP限流：将到目的IP地址的所有TCP报文的流量限制在“带宽阈值”之内。

  - TCP分片限流：将到目的IP地址的TCP分片报文的流量限制在“带宽阈值”之内。

  - TCP新建会话限速：将每秒到目的IP地址的所有新建TCP会话的速率限制在“限速阈值”之内。

  “带宽阈值”根据网络实际带宽设置。

- 防御

  - TCP异常报文防御

    检查TCP报文的各个标志位URG、ACK、PSH、RST、SYN、FIN，如果标志位异常，则认为是TCP异常报文。当TCP异常报文的速率大于“包速率阈值”时，将所有TCP异常报文全部丢弃。

  - TCP基本防御

    采用源认证方式对TCP攻击流量进行防御，参数说明请参见表1。

    对于报文来回路径一致组网中的SYN-ACK Flood攻击、ACK Flood攻击、TCP分片攻击、FIN/RST Flood攻击，建议在清洗设备上配置链路状态检测进行防御。

    表1 配置TCP基本防御
    参数 | 说明 | 取值建议
    --- | --- | ---
    SYN Flood防御 | 包速率阈值 | 当SYN报文的速率大于“包速率阈值”时，向ATIC管理中心上报异常事件，并启动防御。 | 建议通过基线学习进行配置，具体请参见配置基线学习任务。
    SYN首包检查 | 支持配置首包丢弃时间间隔的上限和下限，如果时间间隔低于设定的下限，或者高于设定的上限，则认为是首包，将其丢弃；如果时间间隔落在配置的上限和下限之间，则认为是后续包，将其放行。
    认证模式 | error-seq right-seq
    时间间隔 | 首包丢弃时间间隔的上限和下限。
    源IP SYN报文比例异常限速 | SYN-Ratio比例阈值、SYN报文数阈值、检查周期、SYN报文个数限速阈值、限速周期 | 如果在“检查周期”内，当源IP SYN报文占比的比例大于“SYN-Ratio比例阈值”，且当源IP SYN报文的个数大于“SYN报文数阈值”时，向ATIC管理中心上报异常事件，并启动防御。 启动防御后，在“限速周期”内，允许通过的最大SYN报文数为“SYN报文个数限速阈值”。 | -
    源IP加入黑名单条件 | 异常次数 | 如果在“总的检查次数”内，当某源IP出现异常的次数大于“异常次数”时，该源IP将被加入黑名单。
    总的检查次数
    SYN-ACK Flood防御 | 包速率阈值 | 当SYN-ACK报文的速率大于“包速率阈值”时，向ATIC管理中心上报异常事件，并启动防御。 | 建议通过基线学习进行配置，具体请参见配置基线学习任务。 说明： AntiDDoS1820-N不支持异常会话检查。
    SYN-ACK源认证防御 | 清洗设备对SYN-ACK源的防御模式。
    SYN-ACK首包检查 | 支持配置首包丢弃时间间隔的上限和下限，如果时间间隔低于设定的下限，或者高于设定的上限，则认为是首包，将其丢弃；如果时间间隔落在配置的上限和下限之间，则认为是后续包，将其放行。
    时间间隔 | 首包丢弃时间间隔的上限和下限。
    异常会话检查 | 异常连接数阈值、检查周期 | 如果在“检查周期”内，某个源IP地址发起的TCP异常会话的连接数大于“异常连接数阈值”时，则将该源IP地址作为攻击源上报ATIC管理中心。
    每次连接最小报文数、检查周期 | 如果在“检查周期”内，在某条TCP连接上通过的报文数小于“每次连接最小报文数”，则判定该连接为异常连接。
    ACK Flood防御 | 包速率阈值 | 当ACK报文的速率大于“包速率阈值”时，向ATIC管理中心上报异常事件，并启动防御。 | 当受到ACK Flood攻击时，设备会先让报文通过，建立会话，然后对会话进行检查，确定是否丢弃报文。 建议通过基线学习进行配置，具体请参见配置基线学习任务。
    防御模式 | 宽松 严格
    TCP分片攻击防御 | 包速率阈值 | 当TCP分片报文的速率大于“包速率阈值”时，向ATIC管理中心上报异常事件，并启动防御。 | 建议通过基线学习进行配置，具体请参见配置基线学习任务。
    FIN/RST Flood防御 | 包速率阈值 | 当FIN/RST报文的速率大于“包速率阈值”时，向ATIC管理中心上报异常事件，并启动防御。 | 建议通过基线学习进行配置，具体请参见配置基线学习任务。

  - TCP首包检查

    支持配置首包丢弃时间间隔的上限和下限，如果时间间隔低于设定的下限，或者高于设定的上限，则认为是首包，将其丢弃；如果时间间隔落在配置的上限和下限之间，则认为是后续包，将其放行。

  - TCP连接耗尽攻击防御

    参数说明请参见表2。

    表2 配置TCP连接耗尽攻击防御
    参数 | 说明 | 取值建议
    --- | --- | ---
    目的IP并发连接数检查 | 连接数阈值 | 当目的IP地址的TCP并发连接数大于“连接数阈值”时，启动针对TCP连接耗尽攻击的防御。防御启动后，开始对源IP地址进行检查。 | 建议通过基线学习进行配置，具体请参见配置基线学习任务。
    目的IP新建连接速率检查 | 连接速率阈值 | 当目的IP地址每秒新增加的TCP连接数大于“连接速率阈值”时，启动针对TCP连接耗尽攻击的防御。防御启动后，开始对源IP地址进行检查。
    源IP地址新建连接速率检查 | 检查周期、连接数阈值 | 当针对TCP连接耗尽攻击的防御启动后，如果某个源IP地址在“检查周期”内发起的TCP连接数大于“连接数阈值”，则将该源IP地址作为攻击源上报ATIC管理中心。 | -
    源IP地址连接数检查 | 连接数阈值 | 当针对TCP连接耗尽攻击的防御启动后，如果某个源IP地址的TCP并发连接数大于“连接数阈值”值，则将该源IP地址作为攻击源上报ATIC管理中心。 | -
    异常会话检查 | 异常连接数阈值、检查周期 | 如果在“检查周期”内，某个源IP地址发起的TCP异常会话的连接数大于“异常连接数阈值”时，则将该源IP地址作为攻击源上报ATIC管理中心。 | -
    空连接检查 | 每次连接最小报文数、检查周期 | 如果在“检查周期”内，在某条TCP连接上通过的报文数小于“每次连接最小报文数”，则判定该连接为异常连接。 | -
    重传会话检查 | 重传报文阈值 | 当某条TCP连接上重传的报文大于“重传报文阈值”时，则判定该连接为异常连接。 | -
    Sockstress | TCP报文窗口大小阈值 | 当某条TCP连接上通过的报文窗口小于“TCP窗口大小阈值”时，则判定该连接为异常连接。 | -
    会话行为分析 | 异常连接数阈值、检查周期 | 如果在“检查周期”内，某个源IP地址发起的TCP异常会话的连接数大于“异常连接数阈值”时，则将该源IP地址作为攻击源上报ATIC管理中心。 | -
    ACK会话检查 | 每次连接最小报文数、大包报文长度、大包占比阈值 | 如果单个连接上的报文数超过“每次连接最小报文数”，并且在该连接上，长度大于“大包报文长度”的ACK报文个数与连接上总报文数的比值大于“大包占比阈值”，则判定该连接为异常连接。 | -
    SYN会话检查 | 每次连接SYN报文数阈值 | 当某条TCP连接上SYN的报文数大于“每次连接SYN报文数阈值”时，则判定该连接为异常连接。 | -

父主题： 配置防护对象防御策略（AntiDDoS）

版权所有 © 华为技术有限公司