ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL安全性解决方案

2021-02-28 22:52:47  阅读:145  来源: 互联网

标签:加密 解决方案 MySQL OpenSSL 密钥 使用 权限 安全性


这篇文章是4月9日网络研讨会——MySQL安全性解决方案的图文版内容。

主要包括三方面的内容:

  1. 面临安全性的挑战。

  2. MySQL的安全功能。

  3. 部分功能演示。

随着数据爆发式的增长,安全性已经是用户头等重要的工作,数据已经成为其最重要的资产。

MySQL安全性解决方案
这一页包含了数据库所面临的各个方面的风险:

缺乏配置:指的是数据库的安全相关配置没有进行重新设定,使用默认值或者不当的配置。解决方法为更改默认的配置和控制。

特权账户:数据库里面存在多个特权账户,该账户权限过多,误操作会照成巨大影响。解决方法为制定权限策略,权限最小化原则,为用户匹配适当的权限。

访问控制薄弱:没有设置专用的管理账户,账户属性模糊,执行查询工作的同时,有执行管理工作。解决方法为设置专用的管理账户,为管理账户和应用账户设置不同的权限。

认证薄弱:登录账户的密码简单,长时间不更换等等。解决方法为强制实施“强密码”,并定期进行轮换。

审计薄弱:不符合规章制度的要求,没有设置审计或相关的审计策略。解决方法为,按照合规要求和审计策略配置相关审计记录。

缺少加密:在涉及数据、备份及网络传输等环节缺乏加密,导致数据泄露。解决方法为在数据传输的各个环节使用加密。

正确的凭据和密钥管理:加密使用的凭据和密钥没有按照要求进行保管,会致使密钥丢失或者不可用。解决方法为使用专门的密钥保管工具存放密钥和凭据。

备份不安全:备份没有使用加密等措施,导致备份数据泄露。解决方法为对备份数据进行加密。

无监控:对系统不采取监控措施,完全等待事后发现。解决方法为采用正确的监控系统对安全、用户、对象等等进行监控。

应用程序编码薄弱:应用程序编码经验不足,不对查询语句进行严格限制,导致意外的查询语句进入数据库。解决方法为使用防火墙拦截白名单之外的查询语句。

MySQL安全性解决方案

除了数据库的安全风险之外,持有数据的组织需要对应不断加强的数据信息保护法律法规的要求。全球范围已经对数据保护,尤其是个人数据保护增强了法规的要求,例如,2018年底推出的GDRP,中国的网络信息安全法近年来不断补充安全规范和指南,人大常委会于2019年12月宣布,制定有关个人数据保护和安全的立法是下一个立法年度的优先事项,说明不远的将来,中国即将出台相关法律。

MySQL安全性解决方案

这一页显示的是目前国际上普遍存在的合规要求,如果有国际业务的组织请留意相关法规要求,避免违规操作。

上面的内容是数据库面临的挑战与合规要求,那么应该如何确保数据库的安全呢?

MySQL安全性解决方案

通过评估、预防、检测及恢复四个方面来确保数据库的安全性。这是一个通用的方法论。评估意味着需要定位风险和漏洞,确保必要的安全控件都已经正确安装。预防意味着使用加密算法、用户控制、访问控制等手段尽可能的防止***。检测意味着使用审计、监控、警告灯手段对仍然可能存在的数据侵入进行检测。恢复意味着万一出现了安全事件,也可以保证服务不会中断。并且需要对安全事件进行论证、事后验证已解决安全漏洞。

针对这个方法论,MySQL提供了下面的安全性功能。

MySQL安全性解决方案

下图是企业版MySQL安全性架构整体一览:
MySQL安全性解决方案

接下来将对这个架构里面的详细内容逐一介绍。
MySQL安全性解决方案

从MySQL8.0开始社区版与企业版同样使用OpenSSL,之前由于许可的问题,社区版无法使用OpenSSL,这个问题在8.0得以解决(8.0.18全部版本开始使用OpenSSL)。使用OpenSSL可以支持TLS从1.0到1.3版本的各种协议。并且基于Facebook的贡献,SLL的动态选项可以支持不重启服务器进行更新证书。

MySQL安全性解决方案
8.0使用OpenSSL的优势包括:使用经过优化的OpenSSL库,支持在不升级的情况下对其打补丁。另外,使用基于OpenSSL的FIPS对象模块来提供机密性、整合性和信息摘要服务来满足FIPS(美国联邦信息处理标准)的要求。
MySQL安全性解决方案

TDE加密源于5.7版本,5.7版本只适用于表空间文件的加密,8.0将其扩展到日志的加密。下面放一个关于TDE功能的演示:

点我看视频

MySQL安全性解决方案
8.0增加了一个管理专用的端口,有了这个端口以后,DBA可以不受最大连接的限制,登录到服务器对连接进行管理。

MySQL安全性解决方案

增加了一组system_user权限,主要目的是为了将权限更细化,防止一般用户拥有过度的权限。拥有该权限的用户复制管理以下的需求:
MySQL安全性解决方案

8.0.16增加了撤销部分权限的功能,该功能可以更加精细管理MySQL的权限。

MySQL安全性解决方案

角色功能可以改善MySQL的使用权控制:

MySQL安全性解决方案

从MySQL8.0开始,密码默认使用SHA2 Caching,使用它连接更加迅速。

MySQL安全性解决方案

并且,为了解决更改密码与推送到应用层同步的问题,增加了一个双重密码功能。

MySQL安全性解决方案

MySQL的密码策略可以包含如下内容:

MySQL安全性解决方案

接下来再介绍一下Keyring API

MySQL安全性解决方案

包括企业版TDE功能在内,都是基于这个API实现的,使用这个API可以将密钥保管在主机或者专用的密钥保管库里面。最新的Keyring API支持HashiCop Vault

MySQL安全性解决方案
使用Keyring可以对密钥进行管理,适用于如下场景:

MySQL安全性解决方案

使用Keyring可以对存于磁盘的数据进行加密,表空间,日志等等,可以将密钥以加密文件形式保存(企业版)或使用专用的密钥保管库。

MySQL安全性解决方案

数据屏蔽和反识别功能,可以对敏感数据进行屏蔽和去识别,脱去敏感信息,符合法律法规的要求。

MySQL安全性解决方案

除了可以对敏感数据进行屏蔽,还可以生成随机数据供测试使用,并且随机数据支持使用自定义的字典。

MySQL安全性解决方案

MySQL安全性解决方案

MySQL安全性解决方案

MySQL企业版的审计功能,支持开箱即用,记录连接、登录和查询日志等相关内容。

MySQL安全性解决方案

MySQL企业版认证功能可以集中化认证,整合管理基础架构。

MySQL安全性解决方案

支持LDAP认证。

MySQL安全性解决方案

最后介绍一下,MySQL的防火墙。防火墙通过白名单的形式,将为记录在名单内的语句阻挡在服务器之外,可以防止SQL注入***。并且可以作为一个***检测系统使用,检测SQL并发出警告。

MySQL安全性解决方案

下面放上一个关于防火墙的演示:

点我看视频

MySQL安全性解决方案

MySQL企业版和安全相关的全部功能如上图所示,感兴趣的可以通过https://edelivery.oracle.com/下载试用版试用。

标签:加密,解决方案,MySQL,OpenSSL,密钥,使用,权限,安全性
来源: https://blog.51cto.com/15080016/2642083

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有