四、访问安全
1. 规范数据库管理软件,实现管理软件的标准、统一化。
2. 为了防止连入数据库的应用程序存在后门,造成数据库安全隐患,检查所有连接数据库程序的安全性。通过使用门户监控登录数据库,禁止对数据库的直接操作。
3. 对已经连接的IP网段进行规范化、统一化的管理,每季度进行权限复核操作,对系统所属IP、用户进行权限梳理工作。对员工进行安全培训,增强员工的系统安全观念,做到细心操作。
4. 确认访问数据库的主机是否为已知用户,使用专门进行维护用的主机与数据库进行连接,禁止使用公用dblink对数据库直接操作。系统维护人员在某一天接到投诉,发现一个表下面的列少了,还好是一个状态列,先手动insert进去,随后找原因,发现是因为应用人员用dblink链接测试库时候,链接到了生产库中。由此可见数据库安全是多么重要。
5.审计 SYSDBA 的操作行为。
6.对重要业务表的查询等行为,全部进行审计。
五、备份安全
1.建立备份机制,对于关键业务的系统搭建NBU、DP、DSG等备份管理软件,针对业务情况、系统压力、带库资源等创建合适的备份策略,本单位都是在闲时每周做一次全备,一天一个增备,且操作系统有crontab或者是自带磁带备份主要目录。
2.对于关键业务系统可以使用当前主流容灾软件技术Oracle Goldengate、DG、Quest Shareplex等,在业务高峰期,比如我们系统账期业务较忙,CPU idle每天1%或者0%。那么这个时候就有必要考虑使用同步复制创建备机,将账期业务迁移至备库,不影响主库的业务。
对于数据库安全的思考,不仅要有版本管理、库表管理、权限限制等数据库自身管理,还有对外部访问的安全考虑,包括客户端程序管理、应用系统安全检查、客户端IP控制,甚至有DBA及重要操作的审计以及数据备份。当然,数据库安全涵盖的范围很广,入侵防御、访问身份认证、数据加密等其他安全措施也应考虑,如果一个安全管理人员从数据库建设伊始就考虑到这些因素,数据泄露或者篡改的风险就会大大降低。
数据库的风险主要来源
数据库的风险主要来源于两个方面,一个是外部攻击,另一个是内部人员(有权限人员)的违规操作(故意或者无意),本文中的案例,就是有权限人员的误操作。要消除此类操作带来的风险,除了要进行严格的权限控制外,对于高权限用户的操作审计也非常重要,同时要做好数据备份,一旦发生问题可以有补救措施。
值得注意的是,数据库安全措施要兼顾性能影响和安全效果两个方面。例如,很多单位采购独立数据库审计产品而非简单开启数据库自身审计功能,除了符合第三方审计要求外,也是为了保护数据库性能不受自身审计模块开启的影响。