这些漏洞存在的主要原因在于数据库本身并没有进行全面安全防护,并且服务器配置还需要数据库管理员根据企业要求重新进行配置。企业必须对数据库进行评估来确定某些功能是否真的必要,以及禁用那些不需要的功能来减少攻击面。此外,企业必须对默认设置或者较弱的登录凭证时刻保持警惕,必须部署完善的特权和身份验证措施,最重要的是,企业需要定期修复补丁。
在所发现的漏洞中,有将近一半的漏洞或直接或间接地与数据库环境内不适当的补丁修复管理有关。这是很恐怖的概念:在前三个月补丁修复周期内,只有38%的管理员修复企业的Oracle数据库,并且只有三分之一的管理员花费一年或者更长时间进行修复。
1. 默认、空白和强度弱的用户名或者密码
在一个企业中,跟踪数百或者甚至数千个数据库可能是很艰巨的任务,但是删除默认、空白以及强度弱的登录凭证将是完善数据库安全非常重要的第一个步骤。攻击者们总是将注意力放在这些默认帐户上,必要的时候就能派上用场。
2. SQL注入攻击
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多,但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
如果企业数据库平台无法对输入内容进行审查,攻击者将能够执行SQL注入攻击,就像在web攻击中所做的那样,SQL注入攻击最终将允许攻击者提升权限,并且获取对更广泛功能的访问权限。很多供应商发布了修复程序来避免这些问题,但是如果DBMS仍然未打补丁,这些修复程序也帮不了企业管理者。
3.广泛的用户和组特权
企业必须确保没有将特权给那些不必要的用户。安全专家建议,只有将用户设置为组或者角色的一部分,然后通过这些角色来管理权限,这样将比向用户分配直接权利要更加易于管理。
4.启用不必要的数据库功能
每个数据库安装都会附带各种类型各种大小的功能,并且大部分都不会被企业所使用。数据库安全意味着减少攻击面,企业需要审查这些数据库功能,找出不必要或者不使用的功能,然后禁用或者卸载它们。这不仅能够降低通过这些载体发动的零日攻击的风险,而且能够简化补丁修复管理,因为这些不必要的功能也需要进行补丁修复。