MySQL数据库安全加固方法

MySQL数据库安全加固方法

基本安全原则

  • 选择稳定、无漏洞版本并及时升级更新、打补丁

  • 配置防火墙策略,更改默认端口

  • 避免使用弱口令,定期更新口令

  • 严格的权限分配和访问控制

具体安全配置

系统层面配置

  • 系统安装时,需要确认没有其他⽤户登录在服务器上。建议在服务器本地安装,不使⽤⽹络远程安装。

  • 数据库版本选择稳定、无漏洞的版本,并及时更新、打补丁

  • 查看系统防火墙或网络安全设备,是否有限制对MySQL数据库的访问

  • 不设置环境变量或确保MYSQL_PWD环境变量未设置敏感信息

  • 禁止使用命令行历史记录

    Linux系统:
    执行如下命令:
    find / -name ".mysql_history"
    ​
    查看是否存在mysql的历史命令记录文件,如果存在,则需要进行如下加固:
    ​
    (1)删除.mysql_history文件;
    (2)设置环境变量MYSQL_HISTFILE为/dev/null,并添加到shell的初始化脚本中,创建mysql_history到/dev/null的链接:
     ln -s /dev/null $HOME/.mysql_history 

服务器配置

严禁将数据库服务器允许从公⽹直接访问,也严禁将数据库服务器配置公⽹IP或通过⽹络设备映射出公⽹IP。
在局域⽹内限制开放的端口。需要其他额外的端口,需要提出申请,并有⽂档记录。
服务器不应该具备访问外⽹的能⼒(如有必要,可单向访问)。
新的服务器正式投⼊使⽤前,必须经过安全加固。

数据库通信安全

  • 通信加密

    show variables like ‘have_openssl’;
    have_openssl=YES
  • 服务端证书验证

    查看my.cnf文件[Client] 字段,已配置ssl_verify_server_cert参数
  • SSL连接配置

    1.show variables like ‘ssl_cert’;
    2.show variables like ‘ssl_key’;
    3.show variables like ‘ssl_ca’;

⽤户和密码配置

  • 严格限制Mysql帐户,使用专用的最小权限账号运行Mysql数据库进程

  • 重命名root账号

  • 禁止数据库账号共用

  • 控制最高权限只有管理员

    使用如下sql语句:
    ​
    SELECT user, host FROM mysql.user
    WHERE (Select_priv = 'Y') OR (Insert_priv = 'Y') OR (Update_priv = 'Y')
    OR (Delete_priv = 'Y')  OR (Create_priv = 'Y')  OR (Drop_priv = 'Y');
    SELECT 
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值