6.6.4 数据库安全性设计
数据库安全设计是系统安全设计中重要的一环,本方案着重从以下几个方面进行了设计。
1.防止用户直接操作数据库的方法
任何对数据库进行操作的SQL语句都进行SQL注入验证,防止用户非法操作数据库,用户只能用账号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操作数据库。
2.用户账号密码的加密方法
本系统采用MD5加密,数据库中存储非明文密码。
3.数据库管理和维护说明
通常在Oracle数据库运行当中,DBA应该对数据库的运行日志和表空间的使用状况进行详细的监控,从而能够及早的发现数据库中可能存在的问题。
4.Oracle警告日志文件的监控
在Oracle运行当中,一般会在警告日志文件(alert_SID.log)中记录一些数据库的实际运行情况:
(1)数据库的关闭、启动和启动时的那些非缺省参数;
(2)对数据库进行的某些操作,例如创建或者是删除表空间,以及增加数据文件;
(3)数据库的日志切换情况,以及每次切换的时间的记录,或者如果因为检查点操作时没有执行完成从而造成的不能切换问题,要记录下不能切换的原因;
(4)应该定期检查DBA日志文件,并根据从日志中发现的问题及时进行处理;
(5)针对数据库中发生的错误,假如出现坏块、表空间不够或者是数据库内部错误等;
(6)出现坏块检查是否由于硬件问题,假若不是,那么检查是否是哪个数据库对象出现了坏块,就需要对这个对象进行重建;
(7)根据出现的ORA-600日志文件的内容查看相应的TRC文件,假如是Oracle的bug,那么就要及时打上相应的补丁;
(8)如果有人未经授权删除了表空间内检查数据库的安全问题,检查是否因为密码太简单;如果有必要,就要撤消某些用户的系统权限;
(9)表空间是否不够增加数据文件到相应的表空间;(www.daowen.com)
(10)检查数据库的连接情况:要定时对DBA数据库的连接情况进行安全检查,看与数据库建立的会话数目是否正常,假如建立了过多的连接,则会消耗数据库的资源;
(11)对数据库表空间的使用情况进行监控。在数据库运行了一段时间后,因为需要不断的在表空间上创建和删除对象,这就会在表空间中产生大量的碎片,那么DBA就应该及时了解表空间的碎片和可用空间的情况,从而决定是否要对碎片进行一定的整理或者为表空间增加一些数据文件等。
5.检查数据库定时作业的完成情况
如果数据库中使用了Oracle的JOB来完成一些定时作业,那么就要对这些JOB的运行情况进行检查。
如果FAILURES列是一个大于0的数,这就说明JOB运行失败,需要进行进一步的检查。
6.检查数据库文件的状态
DBA要及时去查看数据库中数据文件的状态,并根据实际情况来决定如何进行处理,一般来说,检查数据文件状态的SQL语句如下:
select file_name,status from dba_data_files;
如果数据文件的STATUS列不是AVAILABLE,这时候就需要采取相应的措施,例如:对该数据文件进行恢复操作,或者是重建该数据文件所在的表空间。
7.控制文件的备份
在数据库的结构发生变化时,例如增加了数据文件、增加了表空间或者是重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,那么应该及时对DBA进行控制文件的备份。
8.操作系统的相关维护
DBA要注意对操作系统的监控,主要包括以下几个方面:
(1)如果Oracle提供网络服务,那么检查网络连接是否正常;
(2)检查数据库服务器是否有硬件故障,如磁盘、内存报错等;
(3)检查文件系统的空间使用情况,如有必要,需要对Oracle的警告日志和TRC文件进行清理;
(4)检查操作系统的资源使用情况是否正常。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。