在数据库安装和使用过程中,不适当的或不正确的配置可能会导致数据发生泄露。数据库基础配置不当的因素如图5-2所示。
图5-2 数据库基础配置不当的因素
1.账号配置
通常数据库会内置默认账号,其中会有部分账号是过期账号或处于被禁用状态的账号,而其他账号则处于启用状态。这些默认账号通常会被授予一定的访问权限,并使用默认的登录密码。如果此类账号的权限较大而且默认登录密码未被修改,则很容易被攻击者登录并窃取敏感数据,造成数据泄露。
2.权限管理
有些手动创建的运维或业务访问账号,基于便利性而被授予一些超出其权力范围的权限,即授权超出了应授予的“最小访问权限”,从而使这些账号可以访问本不应被访问的敏感数据,导致数据泄露。
3.密码强度
对于采用静态密码认证的数据库,系统账号如采用默认密码或易猜测的简单密码,如个人生日、电话号码、111111、123456等,攻击者只需通过简单的尝试就可以偷偷登录数据库,获取数据库访问权限,导致数据泄露。
4.日志审计
数据库通常包含日志审计功能,而且能直接审计到数据库本地操作行为。但开启该功能后一般会占用较大的计算和存储资源,因此很多数据库管理人员关闭该功能,从而导致数据库操作无法被审计和记录,后续发生数据泄露或恶意操作行为时无法溯源。
5.安全补丁
在数据库运行期间,安全人员可能发现诸多数据库安全漏洞。安全人员把数据库漏洞报告提交给数据库厂商后,数据库厂商会针对漏洞发布补丁程序。当该版本的数据库软件相关补丁不能及时更新时,攻击者就能利用该漏洞攻击数据库,从而导致数据泄露。
6.可信访问源
当数据库所在的网络操作系统未设置安全的防火墙访问策略,且数据库自身也未限制访问来源时,在一个比较开放的环境中,数据库可能会面临越权访问。例如,攻击者通过泄露的用户名和密码、通过一个不受信任的IP地址也能访问数据库,轻易地获取数据库内部存储的敏感数据密码,从而造成数据泄露。