问题:
周二晚上服务器漏洞扫描报了1521端口十多个oracle数据库相关的高危漏洞,需要紧急解决。
排查:
1.首先考虑到服务器是否安装oracle数据库,如果安装了就得做升级。
首先是在根目录通过命令find -name *oracle* 查oracle相关文件以便确认其安装位置,并没有找到其安装位置。
然后 为了保险起见,通过命令ps -ef | grep oracle 查看是否存在服务进程,结果是没有。
说明服务器上没有安装oracle服务。
2.进一步排查,看是不是问题出在端口上
通过命令lsof -i:1521发现该端口确实启动着呢,这就很奇怪。为什么oracle服务都没有起着,怎么它对应的端口却启动着呢?
然后通过lsof -i:1521返回的pid,发现了nginx的pid(拿ps -ef|grep nginx命令查出来的pid做的对比才发现)。那么问题暂时可以定义到nginx上了。
然后查看nginx的配置文件发现里面确实配置了1521端口,该端口是转发代理了一个远程的oracle服务。所以我就猜到扫出来的oracle的漏洞会不会是那个远程服务器上的oracle数据库。
咨询(重点):
咨询了技术经理,他说有一些漏洞扫描软件会追踪端口,只要你的服务器上起着那个端口,就会追踪那个端口。比如你服务器上的1521端口,因为配置在nginx里面了,你启动这nginx服务,那么1521端口也就起来了。然后查你1521端口对应的服务,在你服务器上没查到代理的服务,然后发现它依赖nginx代理,所以跑到nginx里面找1521代理的远程服务,从而扫到了远程服务的漏洞了。
解决:
联系远程服务厂商解决远程服务的漏洞即可。