最危险的数据库威胁及其预防措施
所有组织在某种程度上都使用数据库,无论是处理简单的低容量数据集,如秘书的通讯录,还是用于战略信息分析的大型大数据存储库。
所有这些数据库的共同点是它们需要受到保护,以抵御它们面临的许多风险,其中主要风险包括信息的丢失、篡改和盗窃。其他风险,虽然不如关键风险那么严重,但同样危险,包括性能下降、违反保密协议或者privacy agreements。
用于保护组织网络的安全机制可以抵挡一些对数据库的攻击。然而,一些风险对于database systems (DBMS)是独特的,并且需要特定的安全措施、技术和工具。
威胁影响数据库
以下是目前影响数据库的最常见威胁的列表,必须通过加固数据库服务器并添加一些常见安全和审计技术的程序来减轻这些威胁。
权限管理不当
经常情况下,数据库服务器在组织中以其默认安全设置安装,并且这些设置从未更改。这使得数据库暴露给了知道默认权限并知道如何利用它们的攻击者。
还有一种滥用合法权限的情况:用户使用他们的数据库权限来进行未经授权的使用,例如泄露机密信息。
存在非活动帐户也会带来安全风险,这种风险经常被忽视,因为恶意人员可能会知道这些帐户的存在,并利用它们未经授权地访问数据库。
数据库注入攻击
数据库注入攻击的主要形式是SQL injection攻击,该攻击针对使用SQL语言的关系型数据库服务器(RDBMS)。NoSQL数据库(如MongoDB、RavenDB或Couchbase)不容易受到SQL注入攻击,但容易受到NoSQL注入攻击的影响。NoSQL注入攻击较为罕见,但同样危险。
SQL注入和NoSQL注入攻击都通过绕过Web应用程序的数据输入控制,将命令传递给数据库引擎以公开其数据和结构来进行操作。在极端情况下,成功的注入攻击可以使攻击者无限制地访问数据库的核心。
可利用的数据库漏洞
企业IT部门常常不定期更新其数据库管理系统(DBMS)的核心软件。因此,即使发现漏洞并且供应商发布了修补程序来消除它,公司在修补系统之前可能需要几个月的时间。结果是漏洞暴露了很长时间,这可能会被网络犯罪分子利用。
DBMS不进行修补的主要原因包括难以找到合适的时间窗口来关闭服务器并进行维护;测试补丁的要求复杂且耗时;对于维护DBMS的责任人不明确;系统管理员的工作量过大等。
隐藏数据库服务器的存在
组织中不遵守软件安装规定(或缺乏这样的规定)导致用户自行安装数据库服务器以解决特定需求的情况。结果是服务器出现在组织的网络中,安全管理员对此毫不知情。这些服务器将机密数据暴露给组织或暴露可以被攻击者利用的漏洞。
可访问的备份
尽管数据库服务器受到了安全层的保护,但这些数据库的备份可能可被非特权用户访问。在这种情况下,存在一个未经授权的用户可能复制备份并将其挂载到自己的服务器上以提取其中包含的敏感信息的风险。
保护数据库的技术和策略
为了为组织的数据库提供足够的保护,需要采用一系列最佳实践的防御矩阵,结合定期进行内部控制。最佳实践矩阵包括以下内容:
- 管理用户访问权限,消除过度权限和不活跃用户。
- 对员工进行风险缓解技术的培训,包括识别常见的网络钓鱼攻击、互联网和电子邮件使用的最佳实践,以及password management。
- 评估任何数据库漏洞,识别受损的终端点并分类敏感数据。
- 实时监视所有数据库访问活动和使用模式,以便检测数据泄漏、未经授权的SQL和Big Data事务,以及协议/系统攻击。
- 利用数据库保护和审计平台自动进行审计。
- 阻止恶意的网络请求。
- 归档外部数据,encrypt databases,并隐藏敏感信息的数据库字段。
数据库安全工具
上述技术需要组织的IT部门付出大量的努力,而且往往IT人员无法完成所有任务,因此保持数据库安全所需的任务被搁置。幸运的是,有几个工具可以使这些任务变得更容易,以便威胁数据库的危险不会影响它们。
Scuba数据库漏洞扫描器
Scuba是一款免费、易于使用的工具,可以揭示组织数据库中隐藏的安全风险。它为Oracle、Microsoft SQL、Sybase、IBM DB2和MySQL数据库提供超过2,300个评估测试,可以检测各种漏洞和配置错误。
通过其清晰简明的报告,Scuba揭示了哪些数据库存在风险,以及每个数据库中潜伏的风险。它还提供了如何缓解已确定风险的建议。
Scuba扫描可以在Windows、Mac或Linux客户端上执行。使用该工具进行典型的扫描需要2到3分钟的时间,具体取决于数据库的大小、用户和组的数量以及网络连接的速度。除了操作系统保持最新之外,没有安装前提条件。
虽然Scuba是一个独立的免费工具,但Imperva将其包含在其专门用于数据安全的产品范围内,提供数据保护和security in the cloud、数据隐私以及用户行为分析。
dbWatch控制中心
dbWatch是一个完整的数据库监控和管理解决方案,支持Microsoft SQL Server、Oracle、PostgreSQL、Sybase、MySQL和Azure SQL。它旨在在大规模的本地、混合或cloud database环境中进行主动监控,并尽可能自动化例行维护。
dbWatch具有高度可定制性,涵盖了从监控到管理、分析和报告的DBA工作流程。该工具的用户强调其轻松发现服务器(包括虚拟服务器)的能力。这对于IT资产管理和跟踪来说是一个很好的优势,有助于成本确定和风险评估。
尽管功能强大,dbWatch的学习曲线陡峭,因此在购买该工具后,安装和培训过程将需要一些时间,以便该工具能够完全运行。可以下载免费的限时评估版本。
AppDetectivePRO
AppDetectivePRO是一个可以立即发现配置错误、身份验证/访问控制问题、缺失的补丁或任何可能导致数据泄漏、未经授权的信息修改或denial of service (DoS) attacks的数据库和大数据扫描器。
通过其简单的配置和用户友好的界面,AppDetectivePRO可以立即发现、评估和报告任何数据库或大数据存储库的安全性、风险和安全状况,无论是在企业内部还是云端,只需几分钟的时间。
AppDetectivePRO可用作主机或网络操作系统和静态或动态应用程序的扫描器的附加组件。它提供了50多个开箱即用的合规性和配置策略选项,无需维护用于数据收集的SQL脚本。
DbDefence是用于托管在Microsoft SQL Server上的数据库的安全工具。它易于使用、易于访问,并且对于加密完整数据库并保护其模式以及完全阻止对数据库的访问,即使是具有最高权限的用户,也是非常有效的。
加密在服务器端运行,授权管理员可以安全地加密和解密数据库,而无需更改访问它们的应用程序。该工具适用于2005年之后的任何SQL Server版本。
DbDefence在SQL文件和对象级别上工作,这使其与其他SQL Server工具有所区别。它可以区分哪些对象被尝试访问以及哪些对象被拒绝或允许访问。
将DbDefence作为解决方案的一部分,不需要为每个客户应用程序购买许可证。一个单独的重新分发许可证足以在任意数量的客户端上安装它。
OScanner是一个用Java开发的Oracle数据库分析和评估工具。它具有基于插件的架构,目前具有以下功能的插件:
– Sid枚举
– 密码测试(常见和字典)
– Oracle版本枚举
– 用户帐户角色、权限和哈希的枚举
– 审计信息的枚举
– 密码策略的枚举
– 数据库链接的枚举
结果以图形化的Java树形展示。它还提供简洁的XML报告格式和内置的XML查看器以查看报告。安装该工具只需要Java运行环境和OScanner安装(zip)文件。
OScanner的操作方式与Oracle Auditing Tool的密码猜测功能(OAT opwg)类似,使用.accounts.default文件获取默认用户名/密码对。它与Oracle工具的区别在于它还尝试猜测具有相同用户名和密码的帐户。
dbForge Security Manager是MySQL套件的一部分,为其增加了一个强大的工具,用于管理MySQL数据库中的安全性。具有扩展功能和实用友好的用户界面,旨在简化常规的安全管理任务,如管理MySQL用户帐户和权限。
使用Security Manager可以提高IT人员的生产力。它还提供其他好处,如用简化的MySQL用户帐户和权限的可视化管理代替复杂的命令行操作。该工具还通过简化的管理流程来增加数据库安全性,从而减少错误并减少管理人员所需的时间。
通过安全管理器窗口的五个选项卡,您可以只需几次点击即可创建用户帐户,并为每个帐户授予全局和对象权限。创建帐户后,您可以一目了然地查看其设置,以确保没有错误。
您可以下载完全免费的dbForge Studio for MySQL版本,提供基本功能。然后有标准、专业和企业版本,价格高达大约400美元。
最后的话:真正安全的数据库。
组织通常会认为自己的数据很安全,仅仅因为他们有备份和firewalls。但是数据库安全还有许多其他方面,超出了这些安全措施。在选择数据库服务器时,组织必须考虑上面列出的方面,所有这些方面都意味着赋予数据库服务器在组织关键数据的战略管理中的重要性。