Database 数据库
信息或数据的有组织集合。安全视角下,数据库是最高价值的 资产 之一,也是攻击者最爱的目标。
主流类型
- 关系型(Relational) —— MySQL, PostgreSQL, Oracle, SQL Server。用 SQL 查
- NoSQL —— MongoDB(文档), Redis(KV), Cassandra(列), Neo4j(图)
- 数据仓库 —— Snowflake, BigQuery, Redshift。OLAP 分析
- 时序数据库 —— InfluxDB, TimescaleDB。监控/IoT 用
- 图数据库 —— 关系网络分析
安全攻击面
数据库特别危险,因为里面通常存:
主要攻击方式:
- SQL 注入 —— 通过应用输入操控查询(OWASP Top 10 长期常客)
- 未授权直连 —— 数据库暴露在公网,弱密码就完蛋
- 过度权限 —— 应用账号有 DROP TABLE 权限,被打就全表删
- 未加密备份 —— 备份文件丢了,等于数据库被偷
- 明文存密码 —— 没用哈希,泄露后撞库
数据库安全最佳实践
- 绝不暴露公网 —— 数据库永远在内网,只允许应用层访问
- 最小权限 —— 应用账号只能 SELECT/INSERT/UPDATE,不能 DROP
- 加密 —— 传输加密(TLS) + 存储加密(at-rest encryption)
- 审计日志 —— 关键操作留痕(谁查了谁的数据)
- 定期备份 + 异地 + 定期恢复演练
- 参数化查询 —— 防 SQL 注入,永不拼接用户输入
- 密码用 bcrypt/Argon2 —— 永不存明文