云数据库公网访问风险是什么
云数据库(RDS 等托管服务)默认提供内网地址,应用在同地域内网访问即可。一旦开启公网访问,或把白名单写成 0.0.0.0/0,数据库就直接暴露在互联网上:除了承受口令尝试,还会被扫描器纳入版本探测目标,某些数据库在未授权配置下甚至无需口令即可读写。治理动作相对简单——关闭公网地址、白名单精确到应用出口 IP——难点在于把「临时开通的调试入口」纳入流程,确保开通后有人负责回收。
基本信息
| 典型对象 | RDS 实例、自建数据库的公网映射、文档与缓存类服务 |
|---|---|
| 常见问题 | 开启公网地址、白名单写成 0.0.0.0/0、口令薄弱 |
| 直接后果 | 数据被读取或篡改、实例被扫库、备份被下载 |
| 治理动作 | 关闭公网访问、白名单精确放行、口令与审计加固 |
| 运维替代 | 经跳板机或隧道访问,避免直接暴露实例 |
| 流程要求 | 临时开通须记录用途、责任人与到期时间 |
典型场景
- 开发人员为本地调试申请开通数据库公网地址
- 跨地域或跨云访问图方便直接开放实例公网入口
- 白名单按大网段放行,实际等同于全网可达
- 自建数据库主机同时具备公网 IP 与数据库端口放行
- 第三方对接方要求直连数据库,未改用接口方式
- 历史实例长期保留公网地址,业务下线后无人回收
自查命令(AWS RDS 示例)
自查命令(AWS RDS 示例)
aws rds describe-db-instances \
--query 'DBInstances[*].[DBInstanceIdentifier,PubliclyAccessible]' --output table
# 输出 PubliclyAccessible=true 的实例逐个确认用途
# 阿里云/腾讯云:控制台实例『连接信息/白名单』中核对公网地址与 0.0.0.0/0
# 自建数据库:核对实例是否具备公网地址,以及主机防火墙与安全组的放行来源三项控制与口径
| 控制项 | 推荐口径 | 常见失误 |
|---|---|---|
| 白名单 | 按应用服务器出口 IP/网段精确放行 | 放行整个大网段或全网 |
| 连接方式 | 应用走内网域名;运维查询走跳板机或隧道 | 运维直连公网地址并长期保留 |
| 验证 | 关闭公网地址后从外部复测连接失败 | 只看控制台状态不做实测 |
公网地址常是『临时开通的调试入口』:开通容易,回收动作要写进工单流程。
数据库侧加固与网络收敛要同时做:即使关闭公网访问,账号口令策略、连接来源限制与审计日志仍是必要的基础控制。