MySQL安全配置之文件系统权限

 

 

1. 设置“datadir”的权限

安全说明
如果允许MySQL用户以外的其他用户从数据目录中读取文件,那么该用户可能能够从包含密码的mysql.user表中读取数据。
配置方法
使用如下命令

chmod 700 <datadir>
chown mysql:mysql <datadir>

回退步骤

 

chmod 775 <datadir>

 

 

2. 设置“log-bin”二进制日志文件的权限

安全说明
log-bin就是binary log,即二进制日志文件,这个文件记录了mysql所有的dml操作。限制二进制日志文件的权限将有益于保护数据信息不泄漏,或被恶意修改。
检查方法

  1. 执行sql查看log-bin日志文件状态及相关配置
mysql> show variables like "log_bin%";
+---------------------------------+-------------------------------+
| Variable_name                   | Value                         |
+---------------------------------+-------------------------------+
| log_bin                         | ON                            |
| log_bin_basename                | /data/mysql/data/binlog       |
| log_bin_index                   | /data/mysql/data/binlog.index |
| log_bin_trust_function_creators | OFF                           |
| log_bin_use_v1_row_events       | OFF                           |
+---------------------------------+-------------------------------+
  1. 检查日志文件的权限是660并且属于mysql:mysql

配置方法

chmod 660 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下已开启binlog,文件权限为640,所属mysql:mysql

 

 

3. 设置“log_error”错误日志文件的权限

安全说明
错误日志记录了MySQL Server每次启动和关闭的详细信息以及运行过程中所有较为严重的告警和错误信息。限制错误日志文件的权限将有益于保护数据信息不泄漏,或被恶意修改。
检查方法

  1. 执行sql查看log-err日志文件状态及相关配置
mysql> show global variables like "log_error";
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| log_error     | /data/mysql/logs/mysqld.log |
+---------------+-----------------------------+
  1. 检查日志文件的权限是660并且属于mysql:mysql

配置方法

chmod 660 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下,错误日志文件权限为640,所属mysql:mysql

 

 

4. 设置“slow_query_log”慢查询日志文件的权限

安全说明
慢查询日志用来记录在MySQL中响应时间超过阀值(long_query_time)的语句。限制慢查询日志文件的权限将有益于保护数据信息不泄漏,或被恶意修改。
检查方法

  1. 执行sql查看slow_query_log慢查询日志文件状态及相关配置
mysql> show variables like "%slow_query_log%";
+---------------------+-----------------------------------+
| Variable_name       | Value                             |
+---------------------+-----------------------------------+
| slow_query_log      | OFF                               |
| slow_query_log_file | /data/mysql/data/master2-slow.log |
+---------------------+-----------------------------------+
  1. 检查日志文件的权限是660并且属于mysql:mysql

配置方法

  1. 执行SQL语句,开启慢查询日志
mysql> set global slow_query_log = on;
Query OK, 0 rows affected (0.00 sec)
  1. 执行如下命令
chmod 660 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下,慢查询日志文件权限为640,所属mysql:mysql

 

 

5. 设置“relay_log_basename”中继日志文件的权限

安全说明
MySQL在进行主主复制或主从复制的时候会在home目录下面产生相应的relay log。限制中继日志文件的权限将有益于保护数据信息不泄漏,或被恶意修改。
检查方法

  1. 执行sql查看中继日志文件状态及相关配置
mysql> show variables like "relay_log_basename";
+--------------------+------------------------------------+
| Variable_name      | Value                              |
+--------------------+------------------------------------+
| relay_log_basename | /data/mysql/data/master2-relay-bin |
+--------------------+------------------------------------+
  1. 检查日志文件的权限是660并且属于mysql:mysql

配置方法

chmod 660 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下,中继日志文件权限为640,所属mysql:mysql

 

 

6. 设置“general_log”普通日志文件的权限

安全说明
记录建立的客户端连接和执行的语句。限制普通日志文件的权限将有益于保护数据信息不泄漏,或被恶意修改。
检查方法

  1. 执行sql查看普通日志文件状态及相关配置
mysql> show variables like "%general_log%";
+------------------+------------------------------+
| Variable_name    | Value                        |
+------------------+------------------------------+
| general_log      | OFF                          |
| general_log_file | /data/mysql/data/master2.log |
+------------------+------------------------------+
  1. 检查日志文件的权限是660并且属于mysql:mysql

配置方法

  1. 执行SQL语句,开启普通日志
mysql> set global general_log = on;
Query OK, 0 rows affected (0.00 sec)
  1. 执行如下命令
chmod 660 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下,普通日志文件权限为640,所属mysql:mysql

 

 

7. 设置SSL密钥文件的权限

安全说明
限制密钥文件的权限将有益于保护数据信息不泄露,或被恶意修改。
检查方法

  1. 执行sql查询密钥文件状态及相关配置
mysql> show variables where variable_name='ssl_key';
+---------------+----------------+
| Variable_name | Value          |
+---------------+----------------+
| ssl_key       | server-key.pem |
+---------------+----------------+
  1. 检查日志文件的权限是400并且属于mysql:mysql

配置方法
使用如下命令

chmod 400 <file_name>
chown mysql:mysql <file_name>

 

8. 设置plugin插件目录的权限

安全说明
限制插件目录的权限将有益于保护数据信息不泄露,或被恶意修改。
检查方法

  1. 执行sql查询插件目录状态及相关配置
mysql> show variables where variable_name='plugin_dir';
+---------------+-------------------------------------+
| Variable_name | Value                               |
+---------------+-------------------------------------+
| plugin_dir    | /usr/local/hadoop/mysql/lib/plugin/ |
+---------------+-------------------------------------+
  1. 检查日志文件的权限是755,并且属于mysql:mysql

配置方法
使用如下命令

chmod 755 <file_name>
chown mysql:mysql <file_name>

备注
8.0版本默认情况下,plugin插件目录的权限为755,所属mysql:mysql

 

版权声明:
作者:SE_Gao
链接:https://www.cnesa.cn/886.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。

THE END
打赏
海报
MySQL安全配置之文件系统权限
    1. 设置“datadir”的权限 安全说明 如果允许MySQL用户以外的其他用户从数据目录中读取文件,那么该用户可能能够从包含密码的mysql.user表中读取……
<<上一篇
下一篇>>