PostgreSQL数据库在上市公司重要应用中的SOX审计
背景
上市公司的审计是非常重要的事务, PostgreSQL应用在重要数据库中完全没有问题, 但是要过SOX审计的话, 还是需要注意一些东西的.
如果您公司打算上市, 并且在审计范围内的系统使用了PostgreSQL数据库的话, 需要注意的事项, 包含的文档以及工作流. SOX审计主要是审查系统是否存在风险.
大量的工作需要OMS系统来提高工作效率, 减少纸质文档.
同时所有的操作都要留有文档, 以便审阅.
审计的内容主要包括几项 :
1. 数据库安全加固策略
2. 数据库操作系统安全加固策略
3. 数据库管理标准文档
4. 数据库开发标准文档
5. 数据库集成方案文档
6. 数据库密码管理策略
密码复杂度
密码更换策略, 周期
密码重复使用策略
密码输入错误锁定策略, 解锁策略
http://blog.163.com/digoal@126/blog/static/16387704020149852941586/
7. 数据库备份策略
应包含本机房备份, 异地机房备份. 应至少保留1年的备份集.
8. 数据库备份结果检查表单
应定期检查备份结果, 或有NOC可以实现这点.
9. 数据库高可用策略
10. 数据库运行状态检查
应定期检查数据库运行状态, 或有NOC可以实现这点.
11. 数据库异地容灾
12. 数据库异地容灾状态检查
应定期检查容灾系统健康状态, 或有NOC可以实现这点.
13. 数据库JOB, 服务器定时任务的上线审核表单
所有JOB, 服务器任务应按流程申请
14. 定期审查JOB, 服务器定时任务是否需要继续使用.
需要定期审查, 并保存审查记录
15. 数据库变更审核, 以及操作流水文档.
例如数据库版本升级, 数据库表变更, 新增, 等, 都必须先申请, 然后审核, 最后操作, 反馈. 所有的流程文档和操作文档都必须可以追述查询.
16. 数据库账号审计
用于记录数据库账号登陆, 退出, 操作内容.
(注, 业务账户可以降低审计级别, 个人账户提升审计级别)
账号行为审计可以通过配置log_statement来记录.
行为记录应至少保留1年.
17. 数据库操作系统, 操作审计
一般通过堡垒机来落实操作系统操作审计.
18. 账号申请和审核
账号申请应有申请流程, 保留申请文档
19. 定期的账号审阅
定期审阅账号是否继续使用并留有审阅文档.
20. 定期的数据库备份集的恢复测试
保留恢复测试的文档.
21. 数据库监控和巡检
保留监控和巡检的文档.
一些开源解决方案例子
OMS: OTRS http://blog.163.com/digoal@126/blog/static/16387704020145214022996/
DB: PostgreSQL
NOC: zabbix(or nagios) http://blog.163.com/digoal@126/blog/#m=0&t=1&c=fks_084075080085088066084084082095085080082075083081086071084
PostgreSQL HA: https://raw.githubusercontent.com/digoal/sky_postgresql_cluster/master/INSTALL.txt
PostgreSQL 异地容灾: stream replication (use security connection, 例如SSL压缩加密隧道)
PostgreSQL 备份: http://blog.163.com/digoal@126/blog/static/163877040201451894734122/
PostgreSQL 账号审计文件管理: http://blog.163.com/digoal@126/blog/static/1638770402014217696894/
安全相关
http://www.cyberciti.biz/tips/linux-security.html
PostgreSQL 密码安全 : http://blog.163.com/digoal@126/blog/static/16387704020149852941586/
参考
1. http://en.wikipedia.org/wiki/Sarbanes%E2%80%93Oxley_Act