前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL安全性解决方案

MySQL安全性解决方案

作者头像
MySQLSE
发布2020-09-28 15:45:53
1.6K0
发布2020-09-28 15:45:53
举报

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

主要包括三方面的内容:

  1. 面临安全性的挑战。
  2. MySQL的安全功能。
  3. 部分功能演示。

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

这一页包含了数据库所面临的各个方面的风险:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

接下来将对这个架构里面的详细内容逐一介绍。

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

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

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

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

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

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

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

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

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

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

接下来再介绍一下Keyring API

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

使用Keyring可以对密钥进行管理,适用于如下场景:

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

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

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

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

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

支持LDAP认证。

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

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

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

感谢您关注MySQL!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档