数据库安全的5个基本实践

2020年10月10日08:33:26 发表评论

阿里云服务器:[活动地址]

购买可领取:[阿里云2000元代金券]

一旦数据发生泄露,那么付出的代价将是非常惨痛的。由于数据泄露而导致的业务中断、客户信心丧失、法律成本、监管罚款,或者是由于类似于蠕虫病毒攻击造成的直接损失,这些后果可能需要花费数百万。俗话说得好,最好的防守就是发起进攻,所以让我们来学习以下五个关键实践,以确保数据库的安全:保护、审计、管理、更新和加密。

1.使用代理保护数据库免受攻击
数据库代理(或网关代理)位于应用程序和数据库之间,接受来自应用程序的连接请求,然后代表这些应用程序连接到数据库。智能数据库代理(如我们自己使用的MaxScale)提供了过滤器和加载模块,以提供安全性、可靠性、可伸缩性和性能优势。

MaxScale数据库防火墙过滤器通过过滤器解析发起的查询,如果发送过来的查询不符合已经提前设置的查询类型的白名单,那么过滤器就会自动阻止。例如,给定的连接只能执行更新和插入,而另一个连接必须匹配某些正则表达式,等等。

像MaxScale这样的代理也可以保护数据库不受DDoS的攻击:当过多的连接直接进入到数据库服务器时,它就会超载。但是代理会吸收一些负载来限制这种攻击的影响。

2.建立审计和健壮的日志记录
审计和日志记录是紧密相连的,但是审计日志比一般日志要复杂得多。审计日志给用户提供了调查可疑活动所需要的全部信息,如果确实做过违反规则的操作,还可以根据审计日志进行根源分析。此外,审计日志有助于确保遵守诸如GDPR、PCI、HIPPA和SOX等规则。(学习更多关于用MariaDB TX处理GDPR的信息)

MariaDB审计插件可以记录大量信息:所有传入的连接、所有执行的查询,甚至所有单个表的访问记录。用户可以看到谁在给定的时间访问了一个表,以及谁执行了插入或删除数据的操作。审计插件可以记录到文件或syslog,因此如果已经有了依赖于syslog的工作流,那么就可以直接将其绑定到这些文件中。

3.实行严格的用户帐户管理
严格管理数据库用户帐户是非常重要的。无论对于IT生态系统的哪个方面来说,这都是一条正确的规则,因此我们不会在这里详细说明。相反,我们将简单地提醒您用户帐户管理的几个关键方面:

只允许超级管理员从本地客户端进行访问。
坚持使用强密码。
每个应用程序都有单独的数据库用户。
限制可以访问数据库服务器的IP地址的数量。

4.保证数据库软件和操作系统是最新的
我们都知道让软件处于最新版本的原因,但还是有很多人会去运行遗留的操作系统以及旧版本的数据库服务器。我们时刻都要谨记,只有将版本保持为最新版本这才是保护数据不受那些最新威胁的唯一方法。

这不仅适用于服务器软件,也适用于操作系统。毕竟,Windows操作系统安全补丁的应用不太好,这也间接导致了蠕虫病毒的攻击成为了可能。

5.加密敏感数据,无论是在应用程序中,还是在数据传输中,甚至处于空闲时
许多组织机构都会对加密进行简短的处理,但这么做却很有价值。毕竟,如果他们能在平时的工作中能够发现密码会被破解,那么这就会降低黑客入侵的概率。

加密的第一阶段是在应用程序里面,此时数据还未到达数据库。如果数据在应用程序中就已经被加密了,那么破坏数据库的黑客就看不出数据是什么(不过,这只适用于没有密钥的数据)。

接下来是传输过程中的数据加密。这意味着当数据从客户端移动到数据库服务器(或在代理服务器上)时,数据在网络上加密。这与在web浏览器中使用HTTPS基本相同。显然,服务器可以看到这些信息,因为它需要读取用户填写的表单,用户也可以读取信息,因为是他们填写的表单,但在用户和服务器之间没有人能够读取它。

最后,我们讲一下数据库处于空闲时的数据加密。你可以使用它来加密InnoDB表空间、InnoDB redo日志以及二进制日志。这意味着你可以在MariaDB服务器上中加密几乎所有被写入光盘的东西。

阿里云服务器:[活动地址]

购买可领取:[阿里云2000元代金券]

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
阿里云最新代金券免费领取

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: