与用户活动有关的风险-密码长度不够、对重要数据的非法访问以及窃取数据库内容等恶意行动。
以上各类危险都可能发生在网络设备、操作系统或数据库自身当中。对数据库服务器进行安全保护时,都应将这些因素考虑在内。
数据库安全-漏洞区域及示例
在重要数据库服务器中,还存在着多种数据库服务器的漏洞和错误配置。下面列出了几个实例。
安全特征不够成熟-绝大多数常用的关系数据库系统已经存在了十多年之久,并且具有强大的特性,产品非常成熟。但不幸的是,IT及安全专业人士认为理所当然应该具有的许多特征,在操作系统和现在普遍使用的数据库系统中,并没有提供。
非内建式数据库标准安全性能
MS SQL Server Sybase Oracle 7 Oracle 8
帐户锁定设备 no no no yes
重命名管理帐户 no no no no
要求严密的口令 no no no yes
陈旧的帐户 no no no no
密码失效 no yes no yes
登录时间限制 no no no no
例如,上表列出了大多数IT专业人士期望或要求操作系统所应具备的特性,但在数据库服务器的标准安全设施中并未出现。由于这些数据库都可进行端口寻址的,操作系统的核心安全机制并未应用到与网络直接联接的数据库中。一些产品,例如Microsoft SQL Server, 都可利用功能更加强大的Windows NT安全机制去发现上面提到的安全漏洞。但是,考虑到兼容性问题(运行环境并不全是Windows NT),所以大多数依然执行MS SQL Server的安全标准。而实施则是另外一回事了。如果公司实用的是Oracle 8,管理员如何能知道是否真地实施了安全特性?是否一直在全公司中得到实施?
这几项特性相结合,使得与之相关的问题更加严峻。由于系统管理员的帐号是不能重命名的(SQL和Sybase是“sa”,对于Oracle是“System”和“sys”),如果没有密码封锁可用或已配置完毕,入侵者就可以对数据库服务器发动强大字典式登录进攻,最终能破解密码,有什么能够挡住他们对服务器耐心,持久的高水平攻击呢?