在本节主要检查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 10.7.230.35 port 40316 ssh2
说明:在出现的日志信息中没有错误(Invalid、refused)提示,如果没有(Invalid、refused)视为系统正常,出现错误提示,应作出系统告警通知。
检查系统是否有异常用户,注意密码配置复杂一些,建议是“大小写+特殊符号+数字”
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
mysql:x:1000:1000::/home/mysql:/bin/bash
检查系统是否有异常服务链接
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