1、sybolic_links 配置项具体解释,及和安全的相关性
symbolic-links=0
MySQL数据库及表(仅MyISAM)支持符号链接(symbolic link),即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录。
一般在生产环境中,数据库data文件所在分区和系统分区是分开的,而使用软连接的情况下多数是保存在系统分区。而针对数据库加固的重要思想就是将系统分区和数据分区分开,防止数据库写入数据影响系统性能,也防止系统用户修改数据库数据。
当使用软连接,尤其是用root运行mysqld时,攻击者将可以通过数据库获得root权限,又由于数据同时存储在系统分区,将导致攻击者可以修改系统分区的任意文件;当使用mysql命令修改软连接对应的数据库,会修改存储在系统分区的实际文件,可能对系统内的其他文件进行删除和重命名。
同时,在数据库加固中会对整个data文件夹进行权限加固,使用软连接的数据库文件将不会被加固到。
2、创建2个用户自己名字1,名字2,可对demo数据库aaa(cmd text)表和bbb(cmd text)表有所有权限
1、创建demo数据库,并检查是否创建好
2、创建两个用户scr1,scr2
3、创建aaa,bbb两个表,并给两个用户赋权
3、muser1 用户 读取外部的 /etc/passwd 文件,读到aaa表
先配置权限
然后保存,关闭 selinux (setenforce 0) 重启 mysql (Service mysqld restart)
配置好之后需要查看我们要访问的两个文件夹的权限,我们需要读的权限。
可以看到我们两个文件夹都是可以读取的,那么我们就能进行下面的操作了 。
4、muser2用户读取外部的/etc/my.cnf 文件 ,读到bbb表中
文件夹权限上文已经查看过可以放心操作
5、总结今天内容和安全相关的配置。
1、secure_file_priv null 什么文件都读不了 默认/var/lib/mysql-files/ 有读取权限 为无 任意读取路径 能够做到任意路径读取 local-infile=1 [mysqld] [mysql]
2、确保log-raw选项没有配置为ON。当log-raw记录启用时,有权访问日志文件的人可能会看到纯文本密码。
3、禁用symbolic-links选项。禁用符号链接以防止各种安全风险。
4、禁止使用–skip-grant-tables选项启动Mysql服务。使用此选项,会导致所有客户端都对所有数据库具有不受限制的访问权限。
5、访问外部文件的时候,需要注意该文件夹的权限是否可读。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。