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

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

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

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服务器上中加密几乎所有被写入光盘的东西。

相关文章
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
2月前
|
安全 Java 数据库
后端进阶之路——万字总结Spring Security与数据库集成实践(五)
后端进阶之路——万字总结Spring Security与数据库集成实践(五)
|
3月前
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
3月前
|
Cloud Native 关系型数据库 大数据
CockroachDB:云原生数据库的新概念与实践
本文将介绍CockroachDB,一种先进的云原生数据库,它具备分布式、强一致性和高可用性等特点。我们将探讨CockroachDB的基本原理、架构设计以及在实际应用中的种种优势和挑战。
|
6月前
|
SQL 关系型数据库 数据库
RDS入门——Excel文件转存到RDS数据库实践
本实验将帮助您快速掌握RDS产品的实例开通,熟悉RDS产品的常用功能与基础操作,完成云上数据库搭建。
|
7天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
32 0
|
2月前
|
缓存 监控 关系型数据库
构建高效的数据库应用:Python 实践
在当今数据驱动的世界中,构建高效的数据库应用程序对于企业和个人来说至关重要。Python 作为一种强大的编程语言,提供了丰富的数据库工具和库,使得开发人员能够轻松地构建高效、可靠的数据库应用程序。在本文中,我们将探讨一些关键的技术和最佳实践,以帮助你构建高效的数据库应用程序。
|
2月前
|
敏捷开发 弹性计算 架构师
浅谈微服务架构下的数据库设计与实践
在当今快速发展的软件工程领域,微服务架构因其高度的模块化和灵活性而受到广泛欢迎。然而,随之而来的是对数据库设计和管理提出了新的挑战。本文将探讨在微服务架构下,如何有效地设计和实践数据库以支持服务的独立性、数据的一致性和系统的扩展性。我们将从微服务的数据库隔离策略谈起,深入分析数据库的分库分表、事务管理、数据一致性解决方案等关键技术,并通过实例说明如何在实际项目中应用这些原则和技术。本文旨在为软件开发者和架构师提供一份指南,帮助他们在微服务架构的环境下,更好地进行数据库设计和管理。
204 1
|
3月前
|
SQL 监控 关系型数据库
解密SQL性能异常事件及阿里云数据库的性能调优实践
作为开发者想必都知道数据库是现代应用的核心组件之一,而且在当今互联网时代之下,SQL查询的性能直接影响系统的整体性能,它的性能对于系统的稳定性和响应速度至关重要。那么本文就来讨论一下SQL性能异常的排查和优化方法,包括我个人印象深刻的SQL性能异常事件,以及分享一下使用阿里云数据库产品/工具进行SQL性能调优的经验和心得体会。
84 1
解密SQL性能异常事件及阿里云数据库的性能调优实践
|
3月前
|
SQL 存储 监控
公司内部电脑监控软件的数据库管理:SQL代码实践
随着科技的飞速发展,公司内部电脑监控软件在保障信息安全和提高员工生产效率方面发挥着重要作用。本文将深入探讨监控软件的数据库管理,并通过SQL代码实践展示其操作和优化方法。
300 0