MySQL安全性解决方案

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

主要包括三方面的内容:数据库

  1. 面临安全性的挑战。安全

  2. MySQL的安全功能。服务器

  3. 部分功能演示。

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

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

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

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

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

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

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

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

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

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

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

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

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/下载试用版试用。

相关文章
相关标签/搜索