Oracle 数据库日常巡检之检查数据库安全性

艺帆风顺 发布于 2025-04-03 21 次阅读


在本节主要检查Oracle数据库的安全性,包含:检查系统安全信息,如系统账户,系统防火墙策略,密码策略等。

1.检查系统安全信息

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

检查登录成功的日志:

cat /var/log/secure | grep 'Accepted'
grep -i accepted /var/log/secure

检查登陆失败日志

grep -i failed /var/log/secure
May 27 13:37:38 localhost sshd[30971]: reverse mapping checking getaddrinfo for bogon [192.168.10.4] failed - POSSIBLE BREAK-IN ATTEMPT!
May 27 13:37:40 localhost sshd[30971]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.10.4 user=root
May 27 13:37:40 localhost sshd[30971]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
May 27 13:37:42 localhost sshd[30971]: Failed password for root from 192.168.99.35 port 40316 ssh2

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

检查系统是否有异常用户,注意密码配置复杂一些,建议是“大小写+特殊符号+数字”

# cat /etc/passwd

检查系统是否有异常服务链接

netstat -natp

检查系统是否有异常进程top命令,有时候有些病毒木马或挖矿程序会伪装成系统内核进程,使用top命令会查看不了,那么就要注意结合服务器监控的各个指标情况来综合判断分析:如cpu负载情况,内存情况,网络流量情况,链接情况,是否用隐藏进程等综合分析。

2.检查用户修改密码

在数据库系统上往往存在很多的用户,如:第三方数据库监控系统,初始安装数据库时的演示用户,管理员用户等等,这些用户的密码往往是写定的,被很多人知道,会被别有用心的人利用来攻击系统甚至进行修改数据。需要修改密码的用户包括:
数据库管理员用户SYS,SYSTEM;其他用户。
登陆系统后,提示符下输入cat /etc/passwd,在列出来的用户中查看是否存在已经不再使用的或是陌生的帐号。若存在,则记录为异常。

修改密码方法:

alter user USER_NAME identified by PASSWORD;

3.防火墙策略

默认一般情况系统是只开放系统登录ssh端口,和数据库端口1521,其他端口非必要不开放

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" port port=1521 protocol=tcp accept' --permanent
firewall-cmd --reload

如需限制特地IP能访问数据库:

firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source address="ip" port port=1521 protocol=tcp accept' --permanent
firewall-cmd --reload
    版权声明:本文内容始发于51CTO>作者:chenzm0592,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。始发链接:https://blog.51cto.com/chenzm0592/5341512在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。