文档

设置网关IP黑名单和白名单

更新时间:

IP黑名单和白名单是云原生网关提供的安全防护能力之一。您可以通过配置黑、白名单来拒绝或允许特定IP的访问请求。云原生网关支持在网关全局、域名和路由级别配置IP黑名单和白名单,满足精细化的访问控制诉求。本文介绍如何为云原生网关设置黑名单和白名单。

设置IP黑/白名单

  1. 登录MSE网关管理控制台

  2. 在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。

  3. 网关列表页面,单击目标网关名称。

  4. 在左侧导航栏,选择安全能力 > 黑/白名单

  5. 在页面左上角,单击创建,在创建页面,配置相关参数,然后单击保存

    配置项

    说明

    名称

    自定义IP访问控制的名称。

    备注

    对IP访问控制做备注。

    类型

    按需选择IP访问控制的类型。

    • 白名单(允许特定IP访问):在网关场景只开放受信任来源IP访问。

    • 黑名单(禁止特定IP访问):在网关场景针对不友好访问执行来源IP封禁。

    生效粒度

    IP访问控制的作用域。

    • 网关全局:作用于网关实例。

    • 域名:作用于指定域名。

    • 路由:作用于指定路由。

      说明

      作用域的优先级从高到低依次为路由 > 域名 > 网关全局

    IP地址/地址段

    输入IP访问控制的来源IP地址或地址段。

配置示例

步骤一:创建一条Mock路由

  1. 登录MSE网关管理控制台

  2. 在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。

  3. 网关列表页面,单击目标网关名称。

  4. 在左侧导航栏,单击路由管理 > 路由配置

  5. 路由配置页面左上角,单击创建路由

  6. 创建路由面板,配置相关参数,然后单击保存并上线

    具体操作,请参见新建路由规则

    配置项

    描述

    路由名称

    自定义路由名称。

    关联域名

    选择域名*

    匹配规则

    路径(Path)

    设置匹配HTTP请求中的Path参数,选择精确匹配,即完全匹配,例如Path等于/user

    方法(Method)

    设置匹配HTTP请求中的Method参数,不填表示匹配所有参数,支持选择多种HTTP方法。

    请求头(Header)

    设置匹配HTTP请求中的Header参数,相同匹配规则时参数越多优先级越高。单击+请求头进行添加。

    请求参数(Query)

    设置匹配HTTP请求中的Query参数,相同匹配规则时参数越多优先级越高。单击+请求参数进行添加。

    目标服务

    选择当前路由的目标服务类型为Mock

    设置HTTP响应码响应内容

步骤二:测试Mock路由

执行以下命令,访问Mock路由。

curl 47.100.xx.xx/mock

测试结果如下,HTTP状态码成功响应。

{
  "code": 200,
  "data": {
    "message": "ok"
  },
  "HttpStatusCode": 200,
  "successResponse": 200
}

步骤三:设置IP地址黑名单

  1. 获取本机IP地址。

  2. 登录MSE网关管理控制台。添加本机IP地址,并开启状态,即可允许或限制本机访问MSE云原生网关。本文以设置IP地址黑名单为例。

    具体操作,请参见本文的设置IP黑/白名单

  3. 执行以下命令测试。

    curl -v 47.100.xx.xx/mock

    响应结果如下。

    *   Trying 47.100.xx.xx...
    * TCP_NODELAY set
    * Connected to 47.100.xx.128 (47.100.xx.xx) port 80 (#0)
    > GET /mock HTTP/1.1
    > Host: 47.100.xx.xx
    > User-Agent: curl/7.64.1
    > Accept: */*
    >
    < HTTP/1.1 403 Forbidden
    < content-length: 19
    < content-type: text/plain
    < date: Thu, 25 Aug 2022 09:43:43 GMT
    < server: istio-envoy
    <
    * Connection #0 to host 47.100.xx.xx left intact
    RBAC: access denied* Closing connection 0

  • 本页导读 (1)
文档反馈