美文网首页mysqlMysql
Mysql文件软连接symbolic-links

Mysql文件软连接symbolic-links

作者: 前浪浪奔浪流 | 来源:发表于2022-02-11 11:04 被阅读0次

最近在做mysql数据库加固,主要根据CIS数据库加固规则来写脚本,其中有一个加固项是禁止mysql使用软连接,被同事提问使用软连接为什么不行,一时之间我也不知道该如何回答,所以专门写个文章来分析一下mysql软连接这个功能。

根据mysql官方文档,使用软连接的方法如下:

You can move databases or tables from the database directory to other locations and replace them with symbolic links to the new locations. You might want to do this, for example, to move a database to a file system with more free space or increase the speed of your system by spreading your tables to different disks.

把数据库或者表移动到其他位置,并使用软连接替换原来文件的位置。

比如你的data文件下有一个表文件,现在移动到其他磁盘并使用软连接替换,那再data文件下找到这个表文件的时候,这个文件就会指向其他文件的路径,这样说来系统的其他位置存在数据库文件。

image

我先创建了数据库aaa,然后使用root账号进入data文件夹下把数据库文件移动到其他文件夹,并创建软连接,可以看到,软连接文件权限为777,属于root用户root组

image

实际文件的权限仍为原来数据库的文件权限,所以即使使用软连接,实际文件仍能保留数据库初始文件属性。

一般在生产环境中,数据库data文件所在分区和系统分区是分开的,而使用软连接的情况下多数是保存在系统分区。而针对数据库加固的重要思想就是将系统分区和数据分区分开,防止数据库写入数据影响系统性能,也防止系统用户修改数据库数据。

当使用软连接,尤其是用root运行mysqld时,攻击者将可以通过数据库获得root权限,又由于数据同时存储在系统分区,将导致攻击者可以修改系统分区的任意文件;当使用mysql命令修改软连接对应的数据库,会修改存储在系统分区的实际文件,可能对系统内的其他文件进行删除和重命名。

同时,在数据库加固中会对整个data文件夹进行权限加固,使用软连接的数据库文件将不会被加固到。

Mysql8已经默认禁用Symbolic links

'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

目前只能搜集到这么多信息,欢迎指正,另外在网上搜到可以通过realpath漏洞对包含软连接的数据库进行攻击,这也是不能使用软连接的一个原因,但原理没搞清楚就没在这里写,希望有大神看到可以指点一下~

发布于 2018-12-05 15:18 原文连接https://zhuanlan.zhihu.com/p/51570114

相关文章

  • Mysql文件软连接symbolic-links

    最近在做mysql数据库加固,主要根据CIS数据库加固规则来写脚本,其中有一个加固项是禁止mysql使用软连接,被...

  • Day10预习笔记

    符号链接文件:软连接 以l开头的文件 软连接的创建:ln –s 原文件 链接文件 删除:rm 字符/块设备文件: ...

  • 第三章 MySQL数据库

    方案一:直接连接MySQL数据库 创建连接文件创建MySQL.py文件,用来配置和MySQL数据库连接(应该也可以...

  • day11-文件属性补充及shell命令

    第1章 文件类型补充 符号链接文件:软连接(soft link) 快捷方式 ln -s 原文件 软连接文件 访问...

  • linux下软连接和硬连接的区别

    这几天看操作系统的文件系统,看到关于文件连接的问题.文件连接分为两种,软连接和硬连接,其中软连接就是我们通常说的符...

  • 软硬链接的区别

    软链接: ln -s 给目标目录创建一个软连接 1.软连接相当于文件的不同入口(快捷方式) 2.软连接依附于文件实...

  • ln、find、tar

    符号连接 (symbolic link)文件 也被称为 软连接 ln -s创建软连接 ln 不接参数,创建...

  • MyBatis基础配置

    yml文件配置 依赖引入 MySQL连接配置 注意: JDBC连接Mysql6 com.mysql.cj.jdbc...

  • Linux链接文件与查看或者合并文件内容

    04-建立链接文件:ln Linux链接文件类似于Windows下的快捷方式。链接文件分为软连接和硬链接。软连接:...

  • python 连接mysql,mongo,redis

    一,配置文件 1,连接mongo 2,连接redis 3,连接mysql

网友评论

    本文标题:Mysql文件软连接symbolic-links

    本文链接:https://www.haomeiwen.com/subject/xnyakrtx.html