数据库安全测试——完全指南(1)

2021-09-02   出处:softwaretestinghelp  作/译者:softwaretestinghelp/喜安  

了解什么是数据库安全以及相关的概念,比如安全威胁、遵循的最佳实践准则、测试类型、技术、流程等。

在这篇文章里,我们将会探讨什么是数据库安全,存在的数据库威胁类型、数据库安全的重要性、以及执行数据库安全测试时用到的一些工具。

同时我们也会了解数据库安全的最佳实践方法,数据库安全测试的类型、流程和技术。

你将学习到以下内容:

        什么是数据库安全

            数据库安全最佳设计原则

            数据库安全性差的影响

            数据库威胁类型

                1)没有约束的数据库权限

                2)SQL 注入

                3)糟糕的审计追踪

                4)暴露的数据库备份

                5)数据库配置错误

                6)缺乏安全专业知识

                7)拒绝服务 (DoS)

                8)数据管理不善

        数据库安全测试

            数据库测试流程

            数据库安全测试的类型

            使用数据库测试工具的好处

            数据库安全测试技术

                1)渗透测试

                2)风险评估

                3)SQL注入验证

                4)密码破解

                5)安全审计

            经常问的问题

        结论


什么是数据库安全


    数据库安全是为了保护数据库免遭恶意攻击而实施的控制和措施。同时也是为能够安全访问数据,数据库管理系统所需遵循的流程。

    如今,很多企业都忽视了数据库的安全性,他们忘记了任何组织中的任一攻击者都有途径进入他们存储了重要信息和敏感数据的数据库,从而可以窃取出这些重要数据。

    标准数据库安全包含不同的安全控制、工具和措施,旨在保护数据库管理系统(DBMS),目的是保护公司信息的机密性、完整性和可用性。

    每个企业都应该把保护数据库的底层基础设施(如网络和服务器)作为实施数据库安全的措施。

    攻击者总是在研究新方法来渗透数据库并窃取企业数据,这种情况每天都在发生。这意味着每个企业都必须确保他们的数据库足够强大以抵御任何攻击。

数据库安全最佳实践

    我们目前有多种保证数据库安全的方法,但有些企业需要实施一些最佳方法,以确保其数据库更安全。

    这些数据库安全的最佳实践方法均以最大限度地减少组织内的漏洞,同时最大限度地保护其数据库为目的。

    虽然可以单一实施某个方法,但最好是多个协同实施以保证企业的数据库安全。

    列举其中的一些方法如下:

  • 限制未经授权的访问,使用非常强大的凭据并多方认证

  • 对数据库做压力测试,以保证在分布式抗拒绝服务(DDoS)或用户访问时,数据库不会崩溃

  • 实施物理安全,比如给服务器机房加锁或者有安全团队对服务器机房进行监控

  • 物理硬件需要定期维护,并且需要制定适当的灾难恢复计划,比如定期备份数据库。

  • 最好不要在包含数据库的同一台服务器上托管 Web 服务器和应用程序。

  • 任何现有系统都需要进行审查,以确保其中没有漏洞,并制定对策来降低已发现漏洞带来的影响。

  • 实施数据加密系统以保护公司数据的完整性和机密性,包括静态数据和动态数据。访问之前需要使用正确的密钥对其进行解密。

  • 在外围层配置防火墙是数据库安全的最佳方法。这有助于防止攻击者通过接入企业网络来窃取或破坏数据。还有 Web 应用程序防火墙 (WAF),可提供与传统防火墙相同的作用。

  • 数据库加密是最有效的数据库安全方法之一,因为是直接对数据库中的数据进行操作的。动态数据和静态数据均可以做加密。

  • 密码和权限的管理对于维护数据库安全非常重要。这项工作通常由那些专门维护密码、权限认证等访问控制的安全人员来承担。

  • 敏感数据的隔离会让访问数据变得很困难。任何未经授权的人都不会轻易的找到敏感数据库,在某些情况下甚至感知不到敏感数据库的存在。

  • 实施变更管理。这可以保证在任何变更中,数据保护可以有条不紊的进行。把变更记录在册是非常有必要的,也是保护企业数据的一个必要手段。

  • 实施数据审计是非常重要的,这需要定期读取应用程序和数据库的日志文件。这类日志通常是为了审计而存在,比如谁在什么时候登陆了数据库并做了什么操作。

数据库安全性差的影响

    数据库安全对于每个拥有在线业务的公司来说都是非常重要的。如果没有适当的数据库安全措

施,则可能导致数据丢失或数据泄露,这对公司的财务和声誉都可能造成严重的负面影响。

    实施数据库安全可能并不容易做到,但对于将资源安全放在首位的公司来说,实施数据库非常

关键。

    列举一些数据泄露的影响如下:

  • 对品牌的破坏性影响:每当公司确认存在数据泄露时,通常都会影响公司的品牌和声誉,因为客户和合作伙伴会无法信任公司可以保护其数据。这个影响是灾难性的,很多人都会退出和公司的合作。

  • 对业务连续性的破坏性影响:许多受到数据库入侵的公司就一直没能恢复过来,而有些公司直到漏洞被关闭才能继续运转。这就是每个公司都应该把数据库安全纳入其业务连续性计划 (BCP) 的原因。

  • 对知识产权的损害影响:如果数据库被入侵,那么一些敏感的专有文件、商业秘密和其他形式的知识产权很可能会被窃取或暴露给公众。这些都可能被竞争对手利用,那对公司来讲是不利的。

  • 对财务的破坏性影响:数据泄露后,公司需要花钱和客户沟通、挽回局面、修复受损的系统、还有一些调查,比如法庭调查。

  • 罚款和处罚:安全是非常严肃的事情,这也是我们给企业制定必须要遵守的安全规范的原因。如果不遵守,那就面临罚款或处罚。我们有通用数据保护条例 (GDPR)、支付卡行业数据安全标准 (PCI DSS)、健康保险流通与责任法案 (HIPAA) 等标准。

数据库威胁类型

    数据库面临非常多的内部和外部的威胁,在这篇文章中,我们对其中的几个做讨论。

    1)没有约束的数据库权限

        通常是用户被授予多个权限导致的权限滥用。这个用户包括在职员工和离职员工。

        有一些控制手段如下:

            a)尽一切努力实施非常严格的访问控制和权限控制策略

            b)确保不会向所有员工授予过多的权限,并立即清理掉过期的权限。

    2)SQL注入

        SQL注入攻击是恶意代码通过web应用的前端注入然后传递到后端。这会让攻击者对数据库中的数据有绝对的访问权。

        这个攻击目的在于窃取数据或损坏数据。SQL 注入针对的是传统数据库,而 NoSQL 注入针对的是大数据数据库。

    3)糟糕的审计追踪

        根据相关的安全标准,出于审计目的,数据库上的每个事件都应该被记录。如果没有数据审计日志,那就会面临非常严重的安全风险,因为无法对入侵事件进行追溯调查。

    4)暴露的数据库备份

        每个企业都应该做好数据库备份,不过当备份被暴露时,数据库就很容易受到损害和盗窃。有很多的安全漏洞就是因为数据库备份被暴露。

        保护企业敏感数据的最好方法就是对数据库和数据库备份做加密和审计。

    5)数据库配置错误

        有一些数据库威胁是因为数据库配置错误。攻击者通常会攻击有默认账户和设置的数据库。配置数据库时不应该有类似默认账户的内容,数据库的设置也应该让入侵者难以入侵。

    6)缺乏安全专业知识

        如果缺乏专业的安全知识,又没有基本的数据库安全规则,那么就可能造成数据泄露。安全人员可能缺乏一些实施安全控制和其他安全策略所需要的知识。

    7)拒绝服务(DOS)

        这是一种对服务可用性的攻击,会影响数据库服务器的性能,也会让用户无法使用数据库服务。

        举个例子,有一个非常重要的财务数据请求,由于DOS攻击无法连接到数据库,那就可能导致资金损失。

    8)数据管理不善

        有些企业未能以正确的方式管理他们的敏感数据,他们不能准确的清点他们的数据,导致有些数据被攻击者利用,那如果没有对添加到数据库的新数据进行适当的清点,那么数据库就暴露了。

        这就是对静态数据做加密的重要性,并且需要对其做必要的权限控制。


未完待续。。。

 {测试窝原创译文,译者:喜安}


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
140°|1407 人阅读|0 条评论

登录 后发表评论