oracle日常巡检--检查数据库安全

Rain 2019-03-22

概述

续一下之前日常巡检的内容,下面介绍下检查数据库安全和其他方面的检查,数据库安全方面包含:检查系统安全信息,定期修改密码。


一、检查数据库安全

1、检查系统安全日志信息

系统安全日志文件的目录在/var/log下,主要检查登录成功或失败的用户日志信息。

grep -i accepted /var/log/secure
grep -i inval /var/log/secure &&grep -i failed /var/log/secure

检查登录成功的日志:

[root@nwppdb1 ~]# grep -i accepted /var/log/secure
Jan 14 10:38:57 nwppdb1 sshd[88509]: Accepted password for oracle from 10.92.13.231 port 57530 ssh2
Jan 14 12:41:28 nwppdb1 sshd[60810]: Accepted password for oracle from 10.92.13.231 port 57910 ssh2
Jan 14 13:36:19 nwppdb1 sshd[100890]: Accepted password for oracle from 10.92.13.231 port 58059 ssh2
Jan 14 15:34:28 nwppdb1 sshd[70520]: Accepted password for oracle from 10.92.13.231 port 51689 ssh2
Jan 14 15:56:33 nwppdb1 sshd[86490]: Accepted password for oracle from 10.92.13.231 port 51995 ssh2
Jan 14 16:11:58 nwppdb1 sshd[97485]: Accepted password for oracle from 10.92.13.231 port 52427 ssh2
Jan 14 16:29:14 nwppdb1 sshd[109655]: Accepted password for oracle from 10.92.13.231 port 52931 ssh2
Jan 15 15:00:08 nwppdb1 sshd[25599]: Accepted password for oracle from 10.92.13.231 port 65068 ssh2

检查登录失败的日志:

[root@nwppdb1 ~]# grep -i inval /var/log/secure &&grep -i failed /var/log/secure

在出现的日志信息中没有错误(Invalid、refused)提示,如果没有(Invalid、refused)视为系统正常,出现错误提示,应作出系统告警通知。

2、检查用户修改密码

在数据库系统上往往存在很多的用户,如:第三方数据库监控系统,初始安装数据库时的演示用户,管理员用户等等,这些用户的密码往往是写定的,被很多人知道,会被别有用心的人利用来攻击系统甚至进行修改数据。需要修改密码的用户包括:

数据库管理员用户SYS,SYSTEM;其他用户。

登陆系统后,提示符下输入cat /etc/passwd,在列出来的用户中查看是否存在已经不再使用的或是陌生的帐号。若存在,则记录为异常。

oracle日常巡检--检查数据库安全

修改密码方法:

alter user USER_NAME identified by PASSWORD;

二、其他检查

1、检查当前crontab任务是否正常

[oracle@nwppdb1:/home/oracle]$crontab -l

00 12 * * * /rmanbackup/scripts/rmanbackup.sh

2、Oracle Job是否有失败

select job,what,last_date,next_date,failures,broken from dba_jobs Where schema_user='NWPP_TEST';

oracle日常巡检--检查数据库安全

如有问题建议重建job,如:

exec sys.dbms_job.remove(1);
commit;
exec sys.dbms_job.isubmit(1,'REFRESH_ALL_SNAPSHOT;',SYSDATE+1/1440,'SYSDATE+4/1440');
commit;

3、检查失效的索引

select index_name, table_name, tablespace_name, status From dba_indexes Where owner = 'NWPP_TEST' And status <> 'VALID';

oracle日常巡检--检查数据库安全

注:分区表上的索引status为N/A是正常的,如有失效索引则对该索引做rebuild,如:

alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;

4、检查不起作用的约束

SELECT owner, constraint_name, table_name, constraint_type, status
FROM dba_constraints
WHERE status = 'DISABLE'
and constraint_type = 'P';

oracle日常巡检--检查数据库安全

如有失效约束则启用,如:

alter Table TABLE_NAME Enable Constraints CONSTRAINT_NAME;

5、检查无效的trigger

SELECT owner, trigger_name, table_name, status FROM dba_triggers WHERE status = 'DISABLED';

oracle日常巡检--检查数据库安全

如有失效触发器则启用,如:

ALTER TRIGGER NWPP_TEST.PREVENTDELETEDTKSGLSJMB ENABLE

oracle日常巡检--检查数据库安全


到这里我们的oracle数据库日常巡检方面内容就到这了,大家也可以在下方留言说需要看哪方面内容,我抽时间做一些整理。

后面会分享更多关于DBA方面内容,感兴趣的朋友可以关注下!

oracle日常巡检--检查数据库安全

相关推荐