中国领先的IT技术网站
|
|

如何迈开MySQL数据库的安全合规使用第一步?

本文介绍了关系型数据库系统的定义和设计原理,目前软件市场上主流关系型数据库的使用情况,重点分析了数据库安全漏洞被黑客攻击的风险,互联网普遍使用的开源数据库MySQL 5.7的升级特点,数据库漏洞扫描对这个新版本的检查支持。

作者:思源来源:安华金和|2017-06-16 21:56

【51CTO活动】8.26 带你深度了解清华大学、搜狗基于算法的IT运维实践与探索


本文介绍了关系型数据库系统的定义和设计原理,目前软件市场上主流关系型数据库的使用情况,重点分析了数据库安全漏洞被黑客攻击的风险,互联网普遍使用的开源数据库MySQL 5.7的升级特点,数据库漏洞扫描对这个新版本的检查支持。

2017年6月10日,第三届PHP全球开发者大会在京举办,会上,关于《MySQL 5.7优化不求人》的演讲满满干货,颇受好评。提到MySQL数据库,我们过去的印象是中小企业为了节约成本会使用MySQL,但慢慢我们发现,很多大型的网站均应用了MySQL数据库,这种开源的关系型数据库管理系统也因其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。由此可见,其发展前景非常光明。

今天,我们沿着“关系型数据库管理系统→主流关系型数据库及安全漏洞→MySQL数据库版本及特性→数据库漏洞扫描对MySQL5.7的支持”的思路为MySQL数据库使用者做一番浅梳理,并重点关注数据库安全防护的事前阶段——漏洞扫描,以此安全视角来谈一谈MySQL 5.7的安全应用第一步。

1F关系型数据库管理系统

数据库管理系统通常会选择某种“数学模型”存储、组织、管理数据库中的数据,常用的数据模型包括“层次模型”、“网状模型”、“关系模型”以及“面向对象模型”等。基于“关系模型”的数据库管理系统称为关系数据库管理系统(Relational Database Management System,RDBMS)。随着关系数据库管理系统的日臻完善,目前关系型数据库管理系统已占据主导地位。

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则,在关系型数据库中这种规则就称为范式。数据库设计的三大范式是数据库需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时不会发生插入(insert)、删除(delete)和更新(update)操作异常。第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项[确保每列保持原子性],第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ],第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]。通常使用实体关系图来建立数据模型,其中包含了实体(既数据对象)、关系和属性三种基本成分。

2主流关系型数据库及安全漏洞

通过关系数据库管理系统,数据库开发人员可以轻而易举地创建关系数据库,并在该数据库中创建各种数据库对象(表、索引、视图、存储过程、触发器、函数等)以及维护各种数据库对象。目前成熟的关系数据库管理系统主要源自欧美数据库厂商,典型的有美国微软公司的SQL Server、美国IBM公司的DB2和Informix,德国SAP公司的Sybase,美国甲骨文公司的Oracle,然而这些数据库都是商业数据库,且价格昂贵。国产数据库虽然已有核心部门(如金融银行、移动通信、石油电力等)应用,在软件成熟度和功能上国产数据库尚未成为主流的应用,核心单位在“享受着”国外数据库厂商提供服务的同时,不得不将核心部门的信息交由国外数据库管理,企业的核心数据、核心部门的机密数据不安全因素剧增。

CVE(全球漏洞库)和CNNVD(中国国家漏洞库)已公布了各种数据库漏洞总共2000多个,国外数据库存在后门,国产数据库也有安全漏洞,安华金和数据库攻防实验室已向CNNVD提交了国内外数据库漏洞的研究成果。虽然数据库厂商据此提供了大量补丁包,但这些补丁包所修复的漏洞数量也是有限的,同时大量的应用系统出于系统稳定性和兼容性的原因也无法实现补丁升级。同时,国外漏洞扫描渗透软件Metasploit、Nessus工具,国内DBHacker数据库漏洞验证工具,使黑客利用这些漏洞对数据库攻击不再是难事。

3MySQL数据库版本及特性

2001年,中国加入世贸组织(WTO)以来,中国政府越来越重视数据安全、版权制度建设以及知识产权的保护。MySQL就是一种开源数据库软件,而且具有功能强大等特点。很多企业将MySQL作为首选数据库管理系统,MySQL成为了全球最受欢迎的数据库管理系统之一。目前,淘宝、百度、新浪已经将部分业务数据迁移到MySQL数据库中,MySQL的应用前景可观。

MySQL数据库常见的版本有5.0、5.6、5.7和6.0,一般大家会认为6.0版本是最新的,但是MySQL 6.0是2009年出现的版本版,2009年4月20日甲骨文收购Sun公司,现在看官网上已经不提供mysql6.0的下载,而且6.0安装界面风格明显要老一点,估计Sun被收购了之后,版本号重定了。

MySQL数据库可以采用插件的方式支持不同的存储引擎。常用的存储引擎有两种:MyISAM和InnoDB。从MySQL5.6版本开始,InnoDB存储引擎的表已经支持全文索引和事务安全,既InnoDB给MySQL提供了具有事务(commit)、回滚(rollback)和崩溃修复能力的事务安全(ACID),对于大多数数据库表而言,InnoDB存储引擎已经够用了,MySQL服务实例默认的存储引擎就是InnoDB。

现在来看MySQL5.7是最新版,主要有以下几个特性提升:

1)安全性:如从MySQL5.7开始,root用户的密码不再是空,而是随机产生一个密码,默认安装完后是没有test数据库的,默认连接就采用SSL的加密方式,可以为用户设置密码过期策略,一定时间后,强制用户修改密码;

2)灵活性:提供对JSON的支持,以应对非结构化数据库的挑战,generated column(被生成列)数据库中这一列由其他列计算而得;

3)易用性:小到一个客户端快捷键ctrl+c的使用,大到专门提供一个系统库(sys)来帮助DBA和开发人员使用数据库,以前需要借助外部工具才知道的,现在直接查询sys库下相应的表就能得到答案:查看数据库中的冗余索引、获取未使用的索引、查看使用全表扫描的SQL语句;

4)可用性:在线设置复制的过滤规则不再需要重启MySQL,只需要停止SQL thread,修改完成以后,启动SQL thread,在线修改buffer pool的大小,支持重命名索引和修改varchar的大小等;

5)性能:包括临时表相关的性能改进、只读事务的性能优化、连接建立速度的优化和复制性能的改进。

4数据库漏洞扫描对MySQL5.7的支持

安全测评机构、安服团队、集团安全部门在信息安全等级保护的指导下,对重要的业务应用系统进行等保安全测评,数据库的安全检查是等保的重点要求。单纯靠人工很难在短时间内全面、有效、准确的发现数据库的安全问题,借助数据库漏扫工具可以提高安全检查效率。

安华金和作为专注与数据安全的产品和服务提供商,是中国当前唯一提供数据库安全全线产品的公司,形成了一条完整的数据库安全产品线:数据库漏洞扫描(简称DBScan)、数据防火墙、数据库加密、数据库脱敏、数据库监控与审计、数据库运维管控等产品。使用DBScan与人工检测相结合的方式,检测数据库的安全问题,并提出有针对性的整改措施,用来扭转数据库安全问题频发的严峻局面,保护和促进信息化的健康发展。

在实际测评工作中测评人员面临的问题是数据库类型多,每个类型数据库还可能由于版本不同,数据库缺省账户、安全配置参数等也不同。Oracle各版本的缺省账户有700多个,达梦6和7从连接的端口号到安全配置项都有不同,互联网企业已广泛使用的MySQL5.7,内部系统表的结构与之前的版本不同。DBScan也与时俱进升级支持,满足新版本的弱口令和数据库漏洞扫描,安华金和欢迎广大互联网企业试用。

【编辑推荐】

  1. Mysql死锁以及死锁日志分析
  2. MySQL服务器发现大量TIME_WAIT解决办法
  3. MySQL表名忽略大小写问题记录
  4. MySQL死锁问题分析及解决方法实例详解
  5. 拆解 MySQL 的高阶使用与概念
【责任编辑:枯木 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

视频课程+更多

热门职位+更多

读 书 +更多

游戏开发核心技术--剧本和角色创造

《游戏开发核心技术--剧本和角色创造》分“剧本”、“角色”和“游戏玩法”三部分,第一部分着重说明故事的历史、一般故事元素、传统故事设...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 官方软考报名与培训中心