MySQL最佳安全配置指导手册
本文旨在帮助用户在快速完成 MySQL 部署后,只需要很少的时间就可以完成 MySQL的安全配置。这些安全配置可以帮助用户抵御大多数常用形式的黑客攻击行为。本文选取MySQL5.7 版本+Linux 系统作为安全配置演示对象。所有安全配置项都会展示检测方式和修补方法。以帮助用户快速判断是否存在配置问题并进行修补。 说明:本文档中安全配置项仅供参考,部分配置项需结合实际环境及测试验证正常方可应用到生产环境中。 1操作系统级别安全配置 本节包含和MySQL数据库所运行的操作系统密切相关的安全配置项 1.1确保数据文件在非系统分区 建议理由: 操作系统上有明确的系统分区和非系统分区。如果数据文件在系统分区,会提高整个系统因为磁盘空间用尽发生拒绝服务的几率。 检查手段: (1)进入数据库执行下列语句 show variables where variable_name = ‘datadir’; (2)df –h <上面的地址返回值> 如果发现结果中存在/ /var /usr说明数据文件在系统分区建议换区 修复建议:迁移走数据文件 (1)停止数据库服务 service MySQL stop (2)拷贝数据文件到非系统分区 cp –rp <老地址> <新地址> (3)修改MySQL配置文件中datadir的值成新地址 (4)启动MySQL数据库 service MySQL start 1.2确保MySQL操作系统账号权限最小化 建议理由: MySQL在操作系统上的账号权限最小化有助于减小MySQL数据库漏洞造成的影响。防止黑客利用MySQL漏洞入侵操作系统,造成更大损失。 检查手段: 假设MySQL账号为MySQL ps -ef | egrep “^MySQL.*$” 如果没有返回行,则权限存在问题 修复建议:创建一个仅用于运行MySQL和直接相关进程的用户。 1.3禁止MySQL链接历史记录 建议理由: … Read more