首页/安全/渗透测试与安全评估速查/内网数据库资产盘点
内网评估60 条

内网数据库资产盘点

先把数据库资产查清:实例清单、版本、认证明细、网络可达与数据分级,再进入逐项检查。

为什么先盘点再检查

数据库是内网里数据价值最集中的资产,盘点也最容易失真:应用配置文件、开发自建实例、测试库常常同时存在。盘点输出应包含实例与端口、版本与补丁状态、认证方式与账号体系、网络可达范围、数据分级与合规标签五项;字段齐了再进入配置与权限检查,结论才有覆盖面。

基本信息

盘点对象MySQL/MariaDB、PostgreSQL、SQL Server、Oracle、Redis、MongoDB 等
常用端口3306、5432、1433、1521、6379、27017(均可被改)
数据来源主机端口扫描 + 应用连接配置 + 管理员确认
重点对象对外可达实例、使用弱配置实例、含个人数据实例

典型使用场景

  • 内网评估第一步:确定数据资产总量与分布
  • 排查开发自建实例与测试库绕过统一运维的情况
  • 梳理应用的数据库账号权限,识别高权限业务账号
  • 评估数据分级与合规标签是否与实际存储内容一致
  • 为备份与日志留存检查提供实例清单基础

盘点示例(授权范围内)

盘点示例(授权范围内)
ss -lntp | grep -E '3306|5432|1521|1433|6379|27017'   # 在主机上列监听实例(需主机登录权限)
grep -rIn 'jdbc:\|mysql://\|redis://' /opt/apps --include='*.yml' --include='*.properties' | head   # 从应用配置找连接串线索(只记位置不回显口令)
mysql --defaults-file=/etc/app.cnf -e 'SELECT VERSION(); SHOW DATABASES;'   # 用只读账号确认版本与库清单

盘点字段与来源

字段说明采集方式
实例与端口含备用与只读实例主机扫描 + 管理员核对
版本与补丁决定已知风险与升级窗口SQL 查询版本 + 补丁记录
账号体系应用账号、运维账号、超级账号权限表导出
可达范围哪些网段与人员能连防火墙策略 + 实测
数据分级是否含个人数据与敏感字段业务访谈 + 表结构抽样
应用配置文件里的连接串是盘点捷径,但只用于定位实例,不要读取或回显口令值;需要连接验证时改用管理员提供的只读账号。
默认端口可以改,只按 3306/6379 这类固定端口判断会漏掉大量实例;同时 Redis、MongoDB 等常被用于内部缓存与日志,未必出现在 DBA 台账里。

易错点

  • 只清点 DBA 台账里的主实例,漏掉开发自建实例与测试库,评估结论的覆盖面被严重高估
  • 使用生产连接串做高权限查询,触碰到业务数据与审计红线
  • 只记录实例不记录业务归属与负责人,交付后台账无法维护
  • 忽略只读从库与备份库,敏感数据在这些实例上同样存在且保护更弱
  • 把“端口未对外开放”当作安全结论,未核对同一网段内的可达性

数据来源与参考

  • 各数据库厂商安全指南(通用)
  • CIS Benchmarks(数据库类)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌