MySQL安全配置之操作系统级配置

 

1. 禁用MySQL命令历史记录

安全说明
在linux /UNIX上,mysql客户机将交互式执行的语句记录到一个历史文件中。默认情况下,该文件在用户的主目录中名为.mysql_history。大多数在mysql客户机应用程序中运行的交互式命令都保存到历史文件中。应该禁用mysql命令历史记录。
配置方法

如果存在.mysql_history,则删除它。
使用下面两种方法来防止它再次被创建:
a. 将mysql_histfile环境变量设置为/dev/null.这将需要放在shell的启动脚本中。
配置环境变量

vi ~/.bashrc

添加如下配置:

export MYSQL_HISTFILE=/dev/null

修改完后,保存退出,执行如下命令,使更改生效

source ~/.bashrc

b. 创建$HOME/mysql_history作为/dev/null的链接。

ln -s /dev/null $HOME/.mysql_history

 

2. 禁用MYSQL_PWD环境变量

安全说明
MYSQL_PWD是一种用于存储mysql密码的环境变量,以明文形式存储mysql密码,存在安全隐患。
检查方法
检查MYSQL_PWD环境变量是否存在于某个进程中:

grep MYSQL_PWD /proc/*/environ

如果有返回行说明那个进程使用了MYSQL_PWD环境变量。
配置方法
不设置环境变量或确保MYSQL_PWD环境变量未设置敏感信息,对使用MYSQL_PWD环境变量变量的脚本和进程,建议不再使用该环境变量。

 

3. 禁用MySQL操作系统账号登陆

安全说明
MySQL系统账号在安装完数据库后,不应该有其他用途。建议禁止该账号登陆操作系统。此举在防止黑客利用MySQL数据库漏洞反射shell有极佳效果。
检查方法
假设MySQL数据库操作系统账号就是mysql,执行下列命令:

getent passwd mysql | egrep "^.*[ \ /bin\ / false| \ / sbin \ / nologin]$"

如果没有返回行则说明存在安全隐患。
配置方法
执行下列语句禁止mysql用户(如hadoop)登陆:

usermod -s /sbin/nologin hadoop

回退步骤

usermod -s /bin/bash hadoop

 

版权声明:
作者:youlijiang
链接:https://www.cnesa.cn/885.html
来源:正群欣世
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>