在本节主要检查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
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。