本文介绍设置白名单时的案例和问题。
常见错误案例
|
错误案例 |
说明 |
解决办法 |
|
没有设置IP白名单,即白名单中只有127.0.0.1。 |
该地址表示不允许任何IP地址访问RDS实例。 |
在IP白名单中添加外部IP地址。 |
|
测试连接实例时,添加的IP地址是0.0.0.0。 |
|
如需允许所有 IP 地址访问,请添加 重要
|
|
IP白名单中添加的设备公网IP地址错误。 |
|
|
|
高安全模式的IP白名单中,网络类型错误。 |
高安全白名单模式会区分经典网络和专有网络。 |
在正确的网络类型分组内填写IP地址。例如专有网络的IP白名单分组内添加某个IP地址,则这个IP地址只能在专有网络内访问该RDS实例。在修改白名单分组对话框的网络隔离模式区域,需根据实际网络环境选择专有网络或经典网络 及 外网地址。 |
常见问题
-
Q:可以同时设置IP白名单和安全组吗?
A:可以。IP白名单中的IP地址和安全组中的ECS实例都可以访问该RDS实例。
-
Q:设置IP白名单后立刻生效吗?
A:等待1分钟左右才会生效。
-
Q:ali_dms_group和hdm_security_ips白名单分组是什么?
A:您在数据管理服务DMS和数据库自治服务DAS中接入RDS实例时,经过您的授权后,系统会生成ali_dms_group和hdm_security_ips白名单分组。请勿修改或删除这些分组,避免影响相关服务的使用。这些服务不会操作您任何业务数据。
重要为防止误修改或删除白名单分组,2020年12月之后的新建实例,hdm_security_ips白名单分组对用户不可见。
网站开启 CDN 后,RDS 白名单需要添加 CDN 节点 IP 吗?
RDS 白名单控制的是直接连接数据库的客户端 IP。通常情况下,由应用服务器(如 ECS)连接 RDS,因此应将应用服务器的出口 IP 加入白名单,而非 CDN 节点 IP。
如果出现间歇性连接失败且开放 0.0.0.0/0 后恢复正常,可能是客户端 IP 动态变化或 DNS 解析导致 IP 变动。建议进行以下排查:
-
检查业务部署服务器的 DNS 配置,推荐使用阿里云公共 DNS(
223.5.5.5和223.6.6.6)。 -
通过
ping和telnet测试确认实际使用的 IP 地址,并将其与白名单中的 IP 进行对比。
DMS 白名单与 RDS 数据库白名单有什么区别?
DMS 白名单用于管控 IP 登录 DMS 控制台,与 RDS 数据库白名单是两套完全独立的机制,无任何关联。关闭或开启 DMS 白名单不会影响 RDS 的白名单配置,反之亦然。
错误日志中显示登录失败,是否代表数据库被入侵?
不一定。数据库登录需要多方鉴权,必须同时满足以下条件才能成功登录:
-
RDS 白名单放行对应 IP。
-
拥有正确的数据库账号和密码。
仅出现登录失败记录不代表入侵成功。若账号密码未泄露且白名单限制严格,攻击者无法直接登录数据库。
连接排查与系统 IP 相关问题
Telnet 通但连不上数据库
Telnet 仅测试网络层端口连通性,白名单控制的是应用层访问权限。如果 Telnet 测试端口连通但仍无法连接数据库,请检查白名单是否包含客户端 IP。
日志中出现未知来源 IP
如果日志中出现未知 IP,请检查该 IP 是否属于阿里云 DAS(Database Autonomy Service)服务的内部 IP。这些 IP 位于 hdm_security_ips 分组中,是系统正常预留用于数据获取与安全管理的 IP,请勿删除。
系统预留 IP
RDS 默认内置系统白名单(在控制台中不显示),用于监控、备份等内部维护工作。无需手动添加阿里云内部 IP。
如何确认白名单配置已生效
在控制台查看白名单设置界面,如果已保存限制来源 IP 的配置,即表示配置已生效。白名单修改保存后约 1 分钟即可完成生效。
RDS 是否支持黑名单或排除特定 IP?
RDS 白名单机制遵循"默认拒绝,显式允许"原则,不支持设置黑名单或直接排除特定 IP。
全放行场景下无法禁止特定 IP
如果当前配置为 0.0.0.0/0(允许所有 IP),则无法直接禁止某个特定 IP。必须将 0.0.0.0/0 从白名单中移除,并重新配置仅包含需要允许访问的具体 IP 地址或网段。
白名单与其他功能的关系
数据库代理
RDS 数据库代理的 IP 白名单在主实例中统一管理,代理会自动继承主实例的白名单配置,无需单独配置。
VPN
添加数据库白名单不会影响已配置的 VPN 使用。若需通过内网连接,请确保 SAE 与 RDS 在同一 VPC 内,并在白名单中添加 SAE 的内网 IP 即可。
与其他产品的隔离
RDS 实例的白名单配置仅对该实例生效,不会影响 PolarDB 等其他产品的访问规则。
修改白名单对实例的影响
修改白名单(调用 ModifySecurityIps 接口)属于访问控制策略变更,不会导致实例发生主备切换,也与备节点复制延迟无直接关系。
API 开发与漏洞扫描相关
通过 SDK 批量管理白名单
如需通过代码批量管理白名单,可参考 API 文档中的 ModifySecurityIps 接口,使用 PHP 或其他语言的 SDK 调用该接口修改白名单分组。
漏洞扫描误报
对于 MySQL 版本漏洞(如 CNVD-2026-18428),由于 RDS 部署在 VPC 私有网络且配置了 IP 白名单,外部无法直接访问,从网络层面已隔绝风险,通常无实际影响。
过期实例限制
实例到期锁定期间无法通过修改白名单来限制公网访问。如需验证业务影响,建议先续费解锁实例,修改白名单限制访问范围,确认无误后再评估退订。
白名单修改后何时生效?已有连接会断开吗?
生效范围
白名单修改仅对新建连接生效。
已有连接不受影响
已建立的数据库连接不会因白名单变更(包括添加或删除 IP)而自动断开。如需使限制立即对所有连接生效,必须手动断开旧的数据库连接并重新建立连接。
这也解释了以下常见疑问:
-
修改白名单移除某 IP 后,该 IP 的旧连接仍可访问——这是正常行为,旧连接不受白名单变更影响。
-
删除白名单配置后,现有连接仍然可用——同理,需手动断开旧连接才能使变更完全生效。