问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle MySQL 安全漏洞(CVE-2016-0705)修复时会会对系统造成什么影响

发布网友 发布时间:2022-05-01 06:25

我来回答

2个回答

懂视网 时间:2022-05-01 10:47

转自:

DBAplus社群

http://www.toutiao.com/m5762164771/

迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上) - 今日头条(TouTiao.com)
http://toutiao.com/a6300616158581604609/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=4592472790&utm_medium=toutiao_ios

写在前面

MySQL 5.7版本于2015年10月份左右GA,至今已经大半年了,但作为MySQL DBA的我却一直没时间follow它的特性,实在惭愧,以后会花时间来研究5.7版本的特性并针对部分优化功能做出压力测试。

本系列基于5.7.12版本来讲述MySQL的新特性,同时也建议大家跟踪官方blog和文档(http://dev.mysql.com/doc/refman/5.7/en/),以尽快知悉其新的变化。

MySQL 5.7的目标是成为发布以来最安全的MySQL服务器,其在SSL/TLS和全面安全开发方面有一些重要的改变。

1、5.7版本的用户表mysql.user要求plugin字段非空,且默认值是mysql_native_password,并且不再支持mysql_old_password。

2、增加密码过期功能

DBA可以设置任何用户的密码过期时间,具体详见官方文档《密码过期策略》(http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html)。

技术分享

可能大家都有如果业务系统的账号某一天突然过期了,业务受到影响怎么办? 别担心,可以设置密码永不过期。

default_password_lifetime=0

3、DBA可以通过对用户加锁/解锁进一步控制其访问db

例子:

技术分享

4、SSL特性

MySQL 5.7版本提供了更为简单的SSL安全访问配置,并且默认连接就采用SSL的加密方式。细心的朋友在看官方文档的时候,会注意到安装步骤中多了一安装SSL的步骤,具体关于SSL是什么,请参考《图解SSL和加密》(http://www.linuxidc.com/Linux/2016-04/130034.htm)。

技术分享

以下推荐两篇延伸阅读,关于SSL特性我相信绝大多数数据库都没有开启,姜承尧文章中的测试案例显示弱开启SSL性能开销在25%左右。大家在尝试新的特性的时候,根据自己的业务做评估。

《MySQL的SSL加密连接与性能开销》

《SSL/TLS in MySQL 5.7》

5、使用更安全的初始化方式

逐步废弃mysql_install_db的安装方式使用initialize代替(mysql_install_db <5.7.6<= mysqld —initialize) ,使用initialize参数初始化数据库有如下特性:

  1. 只创建一个 root账号,并且生成一个临时的标记为过期密码

  2. 不创建其他账号

  3. 不创建test 数据库

特别强调与—initialize不同,初始化的时候使用参数。

技术分享

则会生成一个无密码的root账号。更详细的请移步官方文档(http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html)。

6、SQL_MODE的变化

官方文档上表述,5.7 版本默认的SQL_MODE="ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION" 。而实际上我自己的测试环境中默认添加了STRICT_TRANS_TABLES 属性。

技术分享

STRICT_TRANS_TABLES 意思是说要存储的字段的长度大于字段定义的大小,直接报错而非像5.6版本以及之前,截断数据进行存储,同时抛出一个warning。注意同一个会话调整 sql_mode必须退出之后在进入sql_mode才会生效。详细了解SQL_MODE请移步《sql_mode官方文档》(http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html)。注意5.7对于,‘00000000 00:00:00‘ 这类default值的影响。

技术分享

7、online ddl支持rename index name

个人感觉这个功能比较鸡肋,通常改变索引名称的时候,本身索引的结构需要增删字段,新建的索引名称也要修改合适的名称。

技术分享

8、新增内置的full text 插件,支持中文、韩文、日文全文索引

之前的版本,只能依赖单词之间空格进行分词,对于依赖于语义分词而非空格分词的其他语言种类,5.7版本的引入支持解析中文、韩文、日文的全文索引--ngram full-text parser解决了该问题。具体请移步《ngram Full-Text Parser》(http://dev.mysql.com/doc/refman/5.7/en/fulltext-search-ngram.html)。

9、动态修改varchar长度大小

可以通过ALTER TABLE语句以in place方式修改varchar的大小且无需table-copy。但存在限制:表示varchar长度的字节数不能变化(如果变更前使用1个字节表示长度,变更后也必须使用1个字节表示),即只支持0~255内的或者255以上的范围变更(增大),如果字段的长度从254增到256时就不能使用in-place算法,必须使用copy算法,否则报错。需要注意的是,减小varchar(N)长度的大小必须使用copy类型,如:

技术分享

10、临时表性能优化

MySQL 5.7对临时表做了极大的改动,提升性能。

通过优化CREATE TABLE, DROP TABLE, TRUNCATE TABLE,和ALTER TABLE语句的执行逻辑,提升临时表的性能(这个是从官网翻译的,还没找到除了alter之外的其他资料说明详细的优化过程)。

InnoDB临时表元数据不再存储于InnoDB系统表而是存储在INNODB_TEMP_TABLE_INFO,包含所有用户和系统创建的临时表信息。该表在第一次在其上运行select时被创建。

技术分享

11、新增临时表空间

为所有非压缩的innodb临时表提供一个独立的表空间,默认的临时表空间文件为ibtmp1,位于数据目录。我们可通过innodb_temp_data_file_path参数指定临时表空间的路径和大小。

技术分享

MySQL每次重新启动时,会重新创建临时表空间。

注意:从5.7.5开始,新增一个系统选项internal_tmp_disk_storage_engine可定义磁盘临时表的引擎类型为InnoDB,而在这以前,只能使用MyISAM。而在5.6.3以后新增的参数default_tmp_storage_engine是控制create temporary table创建的临时表的存储引擎,在以前默认是MEMORY,不要把这二者混淆了。

技术分享

12、优化临时表

从MySQL 5.7.2针对正常和压缩的临时及相关对象引入新的"non-redo" undo log,因为临时表在数据库崩溃后不需要恢复,也就无需redo logs,避免了写relog相关的io,从而提高了性能。必须指出操作临时表需要undo log用于MySQL运行时的回滚、MVCC等。详见《innodb-temporary-table-undo-logs》(https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-table-undo-logs.html)。

13、支持新的DATA_GEOMETRY空间类型的数据

InnoDB现在支持MySQL-supported空间数据类型。之前的空间数据是以binary BLOB数据存储的,现在空间数据类型被映射到了一个InnoDB内部数据类型DATA_GEOMETRY。

14、升级innochecksum

innochecksum--离线的InnoDB文件校验工具,新增选择项或扩展的功能,如:

  1. 支持使用指定校验算法;

  2. 支持只重写校验值而不进行验证;

  3. 可指定允许的校验和不匹配量;

  4. 显示各类页的个数、导出页类型信息、输出至日志、从标准输入读取数据等;

  5. 从5.7.2起可支持校验超过2G的文件。

详细的用法参考《innochecksum 官方文档》(http://dev.mysql.com/doc/refman/5.7/en/innochecksum.html)。

15、online DDL语句重建普通表和分区表

OPTIMIZE TABLE、ALTER TABLE … FORCE、ALTER TABLE … ENGINE=INNODB等DDL操作使用inplace算法,减少了重建时间和对应用的影响。

16、针对Fusion-io NVM文件系统的优化

Linux系统中Fusion-io Non-Volatile Memory (NVM)文件系统提供了原子写能力,使InnoDB的doublewrite变得冗余。因此,MySQL5.7.4以后,如果Fusion-io设备支持原子写, MySQL系统会自动关闭doublewrite,减少IO,提升性能。

更多新特性解析未完待续……敬请期待~

迄今最安全的MySQL?细数5.7那些惊艳与鸡肋的新特性(上)【转载】

标签:

热心网友 时间:2022-05-01 07:55

mysqlcve-2016-6662怎么修原始漏洞分析地址安全客文章地址就我目前测试的情况来看,这个漏洞比较鸡肋,原因有以下两点:1,使用默认方式安装的mysql,mysql用户并没有配置文件/etc/mysql/my.cnf的所属权限;2,不关闭selinux或apparmor的话,exp脚本执行是会报错的。legalhackers原文中提到这个漏洞的前提是很多人按照错误的安装指南来进行权限配置,将配置文件的所属用户修改成了mysql。不过貌似漏洞发现者手里还藏了几个更加严重的mysql漏洞,并没有披露。I.VULNERABILITYMySQL<=5.7.15远程代码执行/权限提升(0day)5.6.335.5.52克隆mysql的同样受影响,包括:MariaDBPerconaDBII.INTRODUCTION一个独立的研究组织发现多处严重的Mysql漏洞,此次通报的是其中比较严重的一个漏洞CVE-2016-6662,它允许攻击者远程注入恶意设置到被攻击服务器的Mysql配置文件(my.cnf)中,导致更加严重的后果。该漏洞影响所有默认配置的Mysql版本分支(5.7、5.6、5.5),包括最新的版本,并可能被攻击者进行本地或者远程的利用。Exp既可以通过网络连接或者利用类似phpmyadmin之类的web管理工具,以及SQL注入漏洞等来实现远程提权的目的。SQL注入漏洞是在web应用中最常见的漏洞之一,在存在注入漏洞的情况下,攻击者可以配合CVE-2016-6662进行更加深入的入侵。如果被攻击服务器有运行受影响的mysql版本,攻击者可以以root权限执行任意代码,从而完全控制被攻击服务器。目前官方还没有提供针对该漏洞的补丁,即使服务器开启了SELinux安全模式,也会受到该漏洞Exp的影响。该通报后面提供一个该漏洞的Poc,演示攻击者如何实现远程代码执行。III.DESCRIPTION默认的Mysql安装包自带mysql_safe脚本,启动mysql服务器就可以观察到,例如,进行mysql全面更新。Debian系统:root@debian:~#lsb_release-aNoLSBmolesareavailable.DistributorID:Debian追问我想知道的是 我在修复此漏洞时,会对我的主机造成什么影响? 或者是没有影响。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产车间员工岗位职责及权限、任职要求分别是什么 车间普工岗位职责(集合6篇) "上海"的地名是谁起的,什么意思? 老公的爸妈是表亲,我爸妈也是表兄妹,孩子会怎么样吗? 爸妈是近亲结婚他们是表兄妹 我生孩子会有问题吗? 爸妈是亲表兄妹结婚对这代没事。。不知道下一代有问题没。。。_百度... 鉴证实录 法证女朋友怎么死的0 沈阳御通实业有限公司怎么样? 玉环御通广告有限公司御通服务 问御石通效果怎么样啊,治疗结石的 这个男生手摸后脑勺头像图片出自哪个动漫? 银行卡被别人qq绑定了怎么办 为什么说泰国单导面膜这个产品效果更好? 谁知道燃气灶维修有哪些方法? 银行卡给别人绑定qq了怎么解除? 宋亚轩在《王牌对王牌7》越来越瞩目,他在时代少年团中的地位怎么样? 宋亚轩称作业多到写不完,他在学业上有多努力? 宋亚轩能取代华晨宇在《王牌对王牌》的地位吗?他是否正式加入了王牌家族? 幼儿园的小孩学习编程可以吗?会不会太难了? west side story (西城故事)的背景资料 你好:男的1979年11月30日时辰不明(农历)女的1983年7月23日上午9-10点左右(农历)合婚吗? 宋亚轩高中读哪里? 1979年农历10月11日是阳历哪日 宋亚轩目前参加高考了吗? 1979年农历11月30是什么星座 安东尼.罗宾 和 安东尼.罗宾斯 是一个人么? 请问历史上的11月30日(无论哪年)发生过什么事情? 麻烦给算下八字,男 阳历生日是1979年11月30日早晨8点50分生人,谢谢 网线面板2个口怎么接线 紫薇命盘解析: 公元1979年11月30日1点15分,女 日本君是什么意思?可是指女人吗?为什么日本众多漫画人物都喜欢把2手放在后脑勺上?是日本习俗吗 后脑勺有超大蝴蝶结,蝴蝶结的带子拖着地上的动漫人物。 关于《老夫子》漫画,明显两种画风,一个是后脑勺是方的,一个后脑勺 动漫中有哪几位神秘遮面男? zzang gu是哪个动漫人物? 哈密瓜,犁子,胡萝卜丶西红柿丶白菜丶苹果丶香焦这些物体怎么分类 后脑勺很高的老头是什么动漫 这是动漫人物吗?是的话是谁?出自哪里 一个动漫女生,后脑勺上戴个狐狸面具,娃娃头,银色或淡紫色头发,穿着和服,这个是什么动漫? 画动漫人物用什么笔上色 水果类别怎么分 搭建一套完整的防伪溯源体系,软件啊贵还是硬件贵? 中国银行手机银行提前还房贷提示交易异常 结婚证是一人一本吗 重庆经贸职业学院。能否打CUBA 我的意思是说,结婚证是不是有两个本子的? 怎么才能跑好业务? 结婚证要几本 跑业务的技巧 北京市1977年结婚证是给一张还是两张?