Database 数据库

信息或数据的有组织集合。安全视角下,数据库是最高价值的 资产 之一,也是攻击者最爱的目标。

主流类型

  • 关系型(Relational) —— MySQL, PostgreSQL, Oracle, SQL Server。用 SQL
  • NoSQL —— MongoDB(文档), Redis(KV), Cassandra(列), Neo4j(图)
  • 数据仓库 —— Snowflake, BigQuery, Redshift。OLAP 分析
  • 时序数据库 —— InfluxDB, TimescaleDB。监控/IoT 用
  • 图数据库 —— 关系网络分析

安全攻击面

数据库特别危险,因为里面通常存:

  • 用户密码哈希
  • PII / SPII / PHI
  • 信用卡 / 银行账号
  • 业务核心数据

主要攻击方式:

  • SQL 注入 —— 通过应用输入操控查询(OWASP Top 10 长期常客)
  • 未授权直连 —— 数据库暴露在公网,弱密码就完蛋
  • 过度权限 —— 应用账号有 DROP TABLE 权限,被打就全表删
  • 未加密备份 —— 备份文件丢了,等于数据库被偷
  • 明文存密码 —— 没用哈希,泄露后撞库

数据库安全最佳实践

  • 绝不暴露公网 —— 数据库永远在内网,只允许应用层访问
  • 最小权限 —— 应用账号只能 SELECT/INSERT/UPDATE,不能 DROP
  • 加密 —— 传输加密(TLS) + 存储加密(at-rest encryption)
  • 审计日志 —— 关键操作留痕(谁查了谁的数据)
  • 定期备份 + 异地 + 定期恢复演练
  • 参数化查询 —— 防 SQL 注入,永不拼接用户输入
  • 密码用 bcrypt/Argon2 —— 永不存明文