基于MariaDB打造数据库安全的五项基本实践

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 数据泄露的代价是昂贵的。包括对商业的影响、客户信心的丧失、法律成本、罚金及所有因攻击带来的直接损失,可能会达数百万。最好的防御也是最好的进攻,所以采取以下五项基本实践,可以让数据更安全:防护、升级、管理、升级和加密。

数据泄露的代价是昂贵的。包括对商业的影响、客户信心的丧失、法律成本、罚金及所有因攻击带来的直接损失,可能会达数百万。最好的防御也是最好的进攻,所以采取以下五项基本实践,可以让数据更安全:防护、升级、管理、升级和加密。

1、使用数据库代理来避免被攻击

数据库代理或者网关代理介于应用和数据之间,接收来自应用的连接,然后代表应用去连接数据库。设计良好的数据库代理会提供过滤功能和安全模块,帮助系统获得更好的安全性、可靠性、可扩展性和性能。
MaxScale Database Firewall Filter会解析通过过滤的请求,可以阻止那些不符合白名单的查询类型,而让我们正常的查询可以顺利通过。例如,你可以设置某一特定的连接只能做更新和插入,另外一个连接则必须满足特定的正则要求等。
像MaxScale这样的代理也可以保护数据库免受DDoS攻击:当很多直接连接到数据库服务时,数据库会发生过载,甚至被压垮。但代理层吸收掉部分负载,从而起到限制此类攻击影响的效果。

2、建立审计机制,加强日志机制

审计与日志相互关联、密不可分,但审计日志比常规但日志要复杂很多。审计日志能提供管理员调查可疑活动的信息,协助针对异常时间进行根本原因分析。除此之外,审计日志还有助于确保与GDPR、PCI、HIPPA、SOX的一致性。
MariaDB的审计插件可以记录大量信息,包括所有接入的连接,所有查询的执行,对每个表的访问事件等。管理员可以看到谁,在什么时间,访问了某张表,谁插入了数据,谁又删除了数据。审计插件可以将日志记录到文件或系统日志(syslog)中,如果你已经将业务分析流程建立在syslog中,就可以基于次分析审计信息了。

3、执行严格的用户账号管理

仔细管理数据库的用户账号对于数据库安全至关重要。其重要性不言而喻,在此就不赘述了。只是简单提醒一下用户账号管理的几个关键方面:

  • 只允许从本机客户端以root用户访问
  • 要求使用强密码
  • 针对不同应用提供不同的数据库用户账号
  • 限制可以访问数据库的IP地址

4、保持数据库软件和OS的更新(有些挑战)

我们都知道为什么要保持软件的更新,但现实中仍然会有各种原因导致会有很多老应用必须泡在旧的OS上,而且使用的是非常旧的数据库服务。它们可以作为一种提醒,保持系统更新是保护数据免受最新攻击的唯一途径。
这不仅限于服务器软件,也包括OS。勒索软件WannaCry就是利用一个Windows的安全漏洞。

5、加密敏感数据,包括应用、传输等等

我们统计记录了最新的一些实践经验。很多企业不太看中加密,但它却很有价值。毕竟,它能降低黑客攻击的动力,尤其是当破解需要花费的成本大于收益时。
第一阶段加密发生在应用层,即在数据库传入数据库之前。如果应用中的数据已经加密,黑客即使突破了数据库,也看不到数据。
下一阶段数据加密是在传输过程中,即数据经过加密后,再在客户端和数据库服务之间,以网络方式传输。这个类似于浏览器使用HTTPS协议传输数据。显然服务器可以看到信息,因为它需要读取你提供的信息;你也可以读取这些信息,因为是你填写的这些表单,但除了你和服务器之外,其他人不能读到。

其他

除了以上谈到的5点基本内容外,可以基于不同数据的加密技术来保证数据安全。像MariaDB可以将表空间、重做日志、二进制日志等进行加密。
参考MariaDB的《5-essential-practices-database-security》

目录
相关文章
|
23天前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
108 3
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
90 11
|
2月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
2月前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
252 2
|
2月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
113 5
|
2月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
93 3
|
2月前
|
存储 关系型数据库 MySQL
Maria DB Workbench支持哪些数据库引擎
【10月更文挑战第17天】Maria DB Workbench支持哪些数据库引擎
35 0

推荐镜像

更多