如何配置 MySQL 用户和日志以满足 SOX 审计员的要求?
例如,如果您需要记录查询和查询来源以供内部 SOX 控制组稍后审查。
有没有一种简单的方法来区分应用程序生成的查询和“直接登录数据库”的(潜在恶意)用户生成的查询?
您是否发现任何有用的第三方工具或脚本?
答案1
配置
- 将应用程序用户与手动人类用户分开
- 为每个应用程序使用单独的用户
- 将所有用户可以连接的主机列入白名单,直至达到必要的最低限度。应用程序用户应仅从该应用程序的服务器进行连接。手动用户应仅从一组有限的服务器(非应用程序服务器)进行连接。
- 将所有用户的权限限制到所需的最低限度,直至表级别
- 启用 MySQL 通用查询日志。
- 这可能会对性能产生影响。如果您已经在进行复制,则二进制日志已包含所有修改数据的查询,这可能就足够了(但不确定二进制日志是否包含源 IP 地址/用户)。
- 如果您处于 PCI 环境中,查询日志需要位于加密卷或加密表中。请注意,传递给 mysql 加密函数的纯文本将作为查询的一部分记录!
工具
- Lumigent 审计数据库
- SoftTree DB 审计
链接