Oracle数据库目前是应用最广泛的数据库之一,同时其安全问题也备受瞩目,Oracle每个季度(现在是每年1月、4月、7月、10月)发布关键补丁更新公告,对系列产品安全漏洞进行修复。对于安全运维人员来讲,在这个时间进行广泛漏洞扫描,督促数据库维护人员尽快打上补丁,正是合适的时机。
事情看起来简单,然而细节决定成败。在使用漏洞扫描产品对Oracle数据库进行漏洞扫描的时候,需要区分使用的扫描方式,否则可能对后续的修复加固工作带来一系列的困扰。一般来讲,Oracle数据库扫描分为远程扫描和登录扫描,其中登录扫描又分为数据库登录扫描和操作系统登录扫描。对于Oracle的远程扫描,建议作为在大范围网络中,探测可能受影响的Oracle数据库的手段,而 登录扫描作为进一步精准判定漏洞的手段。
远程扫描:通过远程网络访问的方式,获取被扫描对象的版本、指纹等信息,判断是否受漏洞影响。优点是能够快速、大范围识别网络中各系统存在的漏洞,然而在遇到Oracle数据库这类产品时,其容易产生误报的缺点也暴露出来。
Oracle数据库远程反馈的版本信息的时候,仅包含前四位版本信息,而PSU升级包修补漏洞后,影响版本号的第五位,所以业内提供远程扫描方式的漏洞扫描产品,面对Oracle数据库的时候误报较多。远程扫描结果可以作为快速初步定位的手段,但不能作为确认依据。如果需要进一步确认,就应该进行登录扫描。
大多数漏洞扫描产品厂商为解决远程扫描Oracle数据库误报的问题均提供了解决办法,以绿盟RSAS产品为例,为了避免远程扫描Oracle数据库产生误报,绿盟RSAS默认不启用Oracle扫描插件,如果需要扫描,在配置中勾选“启用”即可。同时也提供登录扫描选项,进行精确扫描。
如果只关注Oracle扫描,可以只选择【Oracle数据库】模板进行Oracle数据库专项扫描。
登录扫描:登录扫描分为数据库登录扫描和系统登录扫描。
数据库登录扫描:这种方式获取的补丁信息有限,不如系统登录获取补丁信息全面,对漏洞扫描产品来讲,判断漏洞存在还有局限。但是登录数据库后可以从数据表中查询到组件等信息。
系统登录扫描:登录Windows或者Linux,可以全面获取Oracle数据库的补丁信息,能够精准的判断是否存在漏洞。
所以,对于安全运维人员来讲,在通过远程扫描大范围判断Oracle数据库存在以后(或者本来就已经掌握了系统中有哪些数据库),就可以使用数据库登录+操作系统登录,对漏洞进行精准的确认。
仍然以绿盟RSAS产品为例,可以在任务配置中启用登录检查,然后输入操作系统登录方式和Oracle数据库登录方式,实现漏洞精准扫描。
数据资产是业务系统的最核心资产,数据库安全无小事,在日常安全漏洞扫描提供监督机制的基础上,根据实际的场景选择适当的扫描方式,既能进一步提供精准的漏洞判定结果,也能够减少DBA们的无效工作,可以提高整体工作效率,最终将数据库安全真正地做好。