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
版权声明:
作者:SE_Gao
链接:https://www.cnesa.cn/885.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论