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

注意事项

  • 该功能默认关闭,IP黑名单与IP白名单二选一,不可同时配置。
  • 最多可配置700个IPv6地址,2000个IPv4地址,如果您有更多的IP地址封禁需求,请提交工单购买CDN安全防护功能(支持海量IP封禁服务)。
  • 阿里云CDN的IP黑白名单功能默认使用用户请求中的x-forwarded-for请求头携带的IP作为判断依据,如果需要精准限制客户端IP地址,需要配置XFF IP地址到黑白名单地址。XFF IP获取方式,请参见获取客户端真实IP

    另外,也支持“使用真实建连IP作为判断依据”和“同时使用x-forwarded-for请求头携带的IP和真实建连IP作为判断依据”,如果需要配置这两种判断方法,请提交工单申请。

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

操作步骤

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

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

    • 白名单

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

    规则 输入IP段(不可重复,例如:192.168.0.0/24)或IP地址(例如192.168.0.1)。支持IPv6地址、IPv4地址,配置多个IP时使用回车符分隔。
    • IPv6:最多可配置700个IPv6地址,IP黑名单和白名单均支持IPv6地址(地址中的字母仅支持大写字母)。例如:2001:DB8:0:23:8:800:200C:****或2001:0DB8:0000:0023:0008:0800:200C:****。IPv6地址不支持缩写格式,例如:不支持2001:0DB8::0008:0800:200C:****。
    • IPv4:最多可配置2000个IPv4地址。
    • IP地址字符串的总长度不能超过30 KB。
  8. 单击确定,完成配置。

配置示例

  • 白名单

    规则: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

批量配置域名:调用BatchSetCdnDomainConfig进行批量域名配置,通过设置ip_black_list_set和ip_allow_list_set分别指定IP黑名单和IP白名单。