通过识别客户端IP来过滤用户请求,拦截特定IP的访问或者允许特定IP的访问,可以用来解决恶意IP盗刷、攻击等问题。本文介绍如何配置IP黑白名单。

注意事项

  • 该功能默认关闭,IP黑名单与IP白名单二选一,不可同时配置。
  • 最多可配置约700个IPv6地址,2000个IPv4地址。
  • 配置IP黑名单后,黑名单中IP的请求仍可访问到DCDN节点,但会被DCDN节点拒绝并返回403状态码,DCDN日志中仍会记录黑名单中这些IP的请求记录。
  • 由于IP黑白名单功能采用的是七层HTTP协议的IP识别技术,因此在恶意请求被DCDN节点拦截的同时,会产生少量的流量费用,如果客户端使用HTTPS协议访问,还会产生HTTPS请求数费用(因为拦截恶意IP的时候,也同时消耗了DCDN节点的处理资源)。

IP地址校验模式

客户端与DCDN节点建立连接时,是否经过代理服务器,会影响客户端真实IP、客户端与DCDN节点建连IP。假设客户端真实IP为10.10.10.10,代理服务器IP为192.168.0.1:
  • 没有经过代理服务器:
    • 用户请求中x-forwarded-for请求头值:10.10.10.10
    • 客户端真实IP(即x-forwarded-for请求头携带的第一个IP)=客户端与DCDN节点建连IP=10.10.10.10。
  • 经过代理服务器:
    • 用户请求中x-forwarded-for请求头值:10.10.10.10,192.168.0.1
    • 客户端真实IP(即x-forwarded-for请求头携带的第一个IP)=10.10.10.10。
    • 客户端与DCDN节点建连IP=代理服务器IP=192.168.0.1。
    • 客户端真实IP(即x-forwarded-for请求头携带的第一个IP)≠客户端与DCDN节点建连IP。

对于不同的IP地址校验对象,阿里云DCDN的IP黑白名单功能支持三种IP地址校验模式,默认支持校验客户端真实IP。

IP地址校验模式说明配置方法
仅校验客户端真实IP该模式校验的是用户请求中x-forwarded-for请求头携带的第一个IP,这个IP对应真实客户端IP。XFF IP获取方式,请参见获取客户端真实IP

如果用户请求经过代理服务器,客户端与DCDN节点建连IP为代理服务器的IP,这种情况下使用“仅校验客户端真实IP”模式进行IP黑白名单访问控制可能会存在不准确的情况。

默认模式,无需配置。
仅校验客户端与DCDN节点建连IP该模式校验的是客户端与DCDN节点之间建连使用的IP。填写信息申请。
同时校验客户端真实IP、客户端与DCDN节点建连IP同时校验以下两个IP地址信息:
  • 用户请求中x-forwarded-for请求头携带的第一个IP。
  • 客户端与DCDN节点之间建连使用的IP。
填写信息申请。

操作步骤

  1. 登录DCDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的配置
  4. 在指定域名的左侧导航栏,单击访问控制
  5. 单击右侧的IP黑/白名单页签。
  6. 打开IP黑/白名单开关,根据界面提示,配置IP的黑名单白名单
    配置IP黑白名单
    参数说明
    名单类型IP名单类型如下:
    • 黑名单

      黑名单内的IP无法访问加速域名下的所有资源。

    • 白名单

      只有白名单内的IP能访问加速域名下的资源,白名单以外的IP均无法访问。

    规则输入IP段(不可重复,例如:192.168.0.0/24)或IP地址(例如192.168.0.1)。支持IPv6地址、IPv4地址,配置多个IP时使用回车符分隔。
    • IPv6:最多可配置约700个IPv6地址,IP黑名单和白名单均支持IPv6地址(地址中的英文字母不区分大小写,即支持全大写、全小写或大小写混合)。例如:FC00:AA3:0:23:3:300:300A:1234或fc00:0aa3:0000:0023:0003:0300:300a:1234。IPv6地址不支持::缩写格式,例如:不支持FC00:0AA3::0023:0003:0300:300A:1234。支持输入IP段,例如:FC00:0AA3:0000:0000:0000:0000:0000:0000/48。
    • IPv4:最多可配置约2000个IPv4地址。
    • IP地址字符串的总长度不能超过30 KB。
  7. 单击确定,完成配置。

配置示例

  • 白名单

    规则:192.168.2.0/24

    结果:只有客户端IP在192.168.2.1~192.168.2.254地址范围(包含192.168.2.1和192.168.2.254)时,才能访问该加速域名下的资源。

  • 黑名单

    规则:192.168.0.1

    结果:当客户端IP为192.168.0.1时,禁止访问该加速域名下的所有资源。

相关API

批量配置加速域名:调用BatchSetDcdnDomainConfigs进行批量域名配置,通过设置ip_black_list_setip_allow_list_set分别指定IP黑名单和IP白名单。