保护数据库安全从如今开始

咱们都知道如今数据是核心资产,而数据基本上是存储在数据库中的。所以,保护数据库就成为了保护数据的重要环节。其实,在考虑购买第三方的专业数据库保护产品以前,有不少工做是能够如今就开始作的,尤为是对于那些数据管理员(DBA)而言。学习一些基本的数据库安全知识对他们颇有帮助。这篇文章就讲述了其中一些要点。
此外,若是想要更加系统的了解数据库可能面临的安全威胁,能够看看 Impvera公司CTO Amichai Shulman的这个文章——十大数据库威胁。他还写一个ppt,更简洁明了。固然,你能够不看产品介绍的部分,而只关注技术部分,应该仍是颇有帮助的。国内也有中文版的材料,好事者放上去的,不过我不肯定连接是否会一直有效,仅供参考。我在这里摘录一些内容(网上摘抄,也不是我翻译的,呵呵):
        威胁 1 - 滥用太高权限
        当用户(或应用程序)被授予超出了其工做职能所需的数据库访问权限时,这些权限可能会被恶意滥用。例如,一个大学管理员在工做中只须要可以更改学生的联系信息,不过他可能会利用太高的数据库更新权限来更改分数。
 
         威胁 2 - 滥用合法权 
        用户还可能将合法的数据库权限用于未经受权的目的。假设一个恶意的医务人员拥有能够经过自定义 Web 应用程序查看单个患者病历的权限。一般状况下,该 Web应用程序的结构限制用户只能查看单个患者的病史,即没法同时查看多个患者的病历而且不容许复制电子副本。可是,恶意的医务人员能够经过使用其余客户端(如MS-Excel)链接到数据库,来规避这些限制。经过使用 MS-Excel 以及合法的登陆凭据,该医务人员就能够检索和保存全部患者的病历。
        这种私自复制患者病历数据库的副本的作法不可能符合任何医疗组织的患者数据保护策略。要考虑两点风险。第一点是恶意的医务人员会将患者病历用于金钱交易。第二点可能更为常见,即员工因为疏忽将检索到的大量信息存储在本身的客户端计算机上,用于合法工做目的。一旦数据存在于终端计算机上,就可能成为特洛伊***程序以及笔记本电脑盗窃等的***目标。

         威胁 3 - 权限提高 
        ***者能够利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。漏洞能够在存储过程、内置函数、协议实现甚至是 SQL语句中找到。例如,一个金融机构的软件开发人员能够利用有漏洞的函数来得到数据库管理权限。使用管理权限,恶意的开发人员能够禁用审计机制、开设伪造的账户以及转账等。

        威胁 4 - 平台漏洞 
        底层操做系统(Windows 2000、UNIX 等)中的漏洞和安装在数据库服务器上的其余服务中的漏洞可能致使未经受权的访问、数据破坏或拒绝服务。例如,“冲击波病毒”就是利用了Windows 2000的漏洞为拒绝服务***创造条件。

        威胁 5 - SQL 注入  
        在 SQL注入***中,***者一般将未经受权的数据库语句插入(或“注入”)到有漏洞的SQL数据信道中。一般状况下,***所针对的数据信道包括存储过程和 Web应用程序输入参数。而后,这些注入的语句被传递到数据库中并在数据库中执行。使用SQL注入,***者能够不受限制地访问整个数据库。 防止SQL注入将如下三个技术结合使用能够有效地抵御SQL注入:***防护系统(IPS)、查询级别访问控制(请参阅“滥用太高权限”)和事件相关。 IPS能够识别有漏洞的存储过程或SQL注入字符串。可是,单独使用IPS并不可靠, 由于SQL注入字符串很容易发生误报。若是只依赖IPS,安全管理人员会发现大量“可能的”SQL注入警报,被搞得焦头烂额。

        威胁 6 - 审计记录不足  
        自动记录全部敏感的和/或异常的数据库事务应该是全部数据库部署基础的一部分。若是数据库审计策略不足,则组织将在不少级别上面临严重风险。

        威胁 7 - 拒绝服务 
        拒绝服务 (DOS)是一个宽泛的***类别,在此***中正经常使用户对网络应用程序或数据的访问被拒绝。能够经过多种技巧为拒绝服务 (DOS)***创造条件,其中不少都与上文提到的漏洞有关。例如,能够利用数据库平台漏洞来制造拒绝服务***,从而使服务器崩溃。其余常见的拒绝服务***技巧包括数据破坏、网络泛洪和服务器资源过载(内存、CPU 等)。资源过载在数据库环境中尤其广泛。

        威胁 8 - 数据库通讯协议漏洞  
        在全部数据库供应商的数据库通讯协议中,发现了愈来愈多的安全漏洞。在两个最新的 IBMDB2 Fix Pack 中,七个安全修复程序中有四个是针对协议漏洞1。一样地,最新的 Oracle 季度补丁程序所修复的 23个数据库漏洞中有 11 个与协议有关。针对这些漏洞的欺骗性活动包括未经受权的数据访问、数据破坏以及拒绝服务。例如, SQL Slammer2蠕虫就是利用了 Microsoft SQL Server协议中的漏洞实施拒绝服务***。更糟糕的是,因为自身数据库审计机制不审计协议操做,因此在自身审计记录中不存在这些欺骗性活动的记录。

        威胁 9 - 身份验证不足 
        薄弱的身份验证方案可使***者窃取或以其余方法得到登陆凭据,从而获取合法的数据库用户的身份。***者能够采起不少策略来获取凭据。

·暴力- ***者不断地输入用户名/密码组合,直到找到能够登陆的一组。暴力过程多是靠猜想,也多是系统地枚举可能的用户名/密码组合。一般,***者会使用自动化程序来加快暴力过程的速度。
·社会工程– 在这个方案中,***者利用人天生容易相信别人的倾向来获取他人的信任,从而得到其登陆凭据。例如,***者可能在电话中假装成一名 IT 经理,以“系统维护”为由要求提供登陆凭据。
·直接窃取凭据– ***者可能经过抄写即时贴上的内容或复制密码文件来窃取登陆凭据。

        威胁 10 - 备份数据暴露  
        常常状况下,备份数据库存储介质对于***者是毫无防御措施的。所以,在若干起著名的安全破坏活动中,都是数据库备份磁带和硬盘被盗。防止备份数据暴露全部数据库备份都应加密。实际上,某些供应商已经建议在将来的 DBMS产品中不该支持建立未加密的备份。建议常常对联机的生产数据库信息进行加密,可是因为性能问题和密钥管理不善问题,这一加密方法一般是不现实的,而且通常被公认为是上文介绍的细化的权限控制的不理想的替代方法。


至于对策,有的其实由DBA经过一些配置和加固就能够DIY,固然,有的还须要考虑引入第三方的产品,例如对于提权行为、滥用合法权限行为、SQL注入行为的断定。在之后,我还会更多地谈及数据库审计的话题。
相关文章
相关标签/搜索