跳到主要内容

网络安全访问控制

seekdb 提供白名单策略,实现网络安全访问控制。您可以通过白名单功能来设置允许哪些客户端访问 seekdb。

白名单通过系统变量 ob_tcp_invited_nodes 控制,是全局的白名单限制参数。默认值为 127.0.0.1,::1,表示仅允许本机的 IP 连接。该变量支持列表形式取值,列表值之间使用英文逗号(,)分隔,例如:A,B,C,D。用户登录时,seekdb 会将用户的 IP 地址依次和 A、B、C、D 进行匹配校验。如果全部不匹配,则拒绝访问。只要有任意一个匹配成功,则表示通过白名单。

列表值支持以下赋值:

  • IP 地址,例如:192.168.1.1。匹配时采用等值匹配,即用户 Client IP 等于该 IP 值时,才算匹配。
  • 包含百分号(%)或下划线(_)的 IP 地址,例如:192.168.1.%192.168.1._。匹配时采用模糊匹配,即类似 LIKE 语法。
  • IP/NETMASK 地址,例如:192.168.1.0/24 或者 192.168.1.0/255.255.255.0。匹配时采用掩码匹配,只有满足 Client_IP & NetMask == IP 才算匹配成功,类似于 MySQL 的掩码匹配。
提示

修改白名单不会影响已创建的 session

查看和设置白名单

  1. 使用 root 用户登录 seekdb。

    mysql -h127.0.0.1 -uroot -P2881
  2. 执行以下语句,查看白名单。

    SHOW VARIABLES LIKE 'ob_tcp_invited_nodes';
    +----------------------+-------+
    | Variable_name | Value |
    +----------------------+-------+
    | ob_tcp_invited_nodes | % |
    +----------------------+-------+

    其中,值为 % 表示允许任何客户端 IP 连接。

  3. 如果需要更改白名单设置,可以执行以下语句,重新设置白名单。

    示例如下:

    SET GLOBAL ob_tcp_invited_nodes='%';
    SET GLOBAL ob_tcp_invited_nodes='10.10.10.%';