1.确保MYSQL_PWD环境变量未设置

描述

MYSQL_PWD环境变量的使用意味着MYSQL凭证的明文存储,极大增加MySQL凭据泄露风险。

加固建议

删除系统环境变量中MySQL密码(MYSQL_PWD)配置

2.匿名登录检查

描述

检查MySQL服务是否允许匿名登录

加固建议

登录MySQL数据库,执行以下命令删除匿名账户:

delete from user where user='';

flush privileges;

3.确保log-raw选项没有配置为ON

描述

当log-raw记录启用时,有权访问日志文件的人可能会看到纯文本密码。

加固建议

编辑Mysql配置文件<conf_path>/my.cnf,删除log-raw参数,并重启mysql服务

4.禁止使用--skip-grant-tables选项启动MySQL服务

描述

使用此选项,会导致所有客户端都对所有数据库具有不受限制的访问权限。

加固建议

编辑Mysql配置文件<conf_path>/my.cnf,删除skip-grant-tables参数,并重启mysql服务

5.为MySQL服务使用专用的最低特权账户

描述

使用最低权限账户运行服务可减小MySQL天生漏洞的影响。受限账户将无法访问与MySQL无关的资源,例如操作系统配置。

加固建议

使用非root和非sudo权限用户启动MySQL服务

6.修改默认3306端口

描述

避免使用熟知的端口,降低被初级扫描的风险

加固建议

编辑<conf_path>/my.cnf文件,[mysqld] 段落中配置新的端口参数,并重启MySQL服务:

port=3506

7.禁用symbolic-links选项

描述

禁用符号链接以防止各种安全风险

加固建议

编辑Mysql配置文件<conf_path>/my.cnf,在[mysqld] 段落中配置symbolic-links=0,5.6及以上版本应该配置为skip_symbolic_links=yes,并重启mysql服务。

8.确保没有用户配置了通配符主机名

描述

避免在主机名中只使用通配符,有助于限定可以连接数据库的客户端,否则服务就开放到了公网

加固建议

执行SQL更新语句,为每个用户指定允许连接的host范围。

登录数据库,执行use mysql;

执行语句select user,Host from user where Host='%';查看HOST为通配符的用户;

删除用户或者修改用户host字段,删除语句:DROP USER 'user_name'@'%'; 。更新语句:update user set host = <new_host> where host = '%';

执行SQL语句:

OPTIMIZE TABLE user;

flush privileges;

9.确保配置了log-error选项

描述

启用错误日志可以提高检测针对mysql和其他关键消息的恶意尝试的能力,例如,如果错误日志未启用,则连接错误可能会被忽略。

加固建议

编辑Mysql配置文件<conf_path>/my.cnf,在[mysqld_safe] 段落中配置log-error参数,<log_path>代表存放日志文件路径,如:/var/log/mysqld.log,并重启mysql服务:

log-error=<log_path>

10.删除'test'数据库

描述

测试数据库可供所有用户访问,并可用于消耗系统资源。删除测试数据库将减少MySQL服务器的攻击面。

加固建议

登录数据库执行以下SQL语句删除test数据库:

DROP DATABASE test;

flush privileges;

11.禁用local-infile选项

描述

禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力

加固建议

编辑Mysql配置文件<conf_path>/my.cnf,在[mysqld] 段落中配置local-infile参数为0,并重启mysql服务:

local-infile=0

Mysql安全加固的更多相关文章

  1. lamp下mysql安全加固

    lamp下mysql安全加固 1.修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母.数字和符号组成的不规律 ...

  2. 利用login-path对MySQL安全加固

      Preface       Connection security is  one of the most important safety strategies which we should ...

  3. [Windows Server 2012] MySQL安全加固

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:MySQL ...

  4. Mysql 安全加固经验总结

    本文为博主原创,转载请注明出处: 目录 1.内网部署Mysql 2. 使用独立用户运行msyql 3.为不同业务创建不同的用户,并设置不同的密钥 4.指定mysql可访问用户ip和权限 5. 防sql ...

  5. mysql常见安全加固策略

    原创 2017年01月17日 21:36:50 标签: 数据库 / mysql / 安全加固 5760 常见Mysql配置文件:linux系统下是my.conf,windows环境下是my.ini: ...

  6. MYSQL数据库攻防与加固

    这是“官方”原本的模样搬过来的..写的很粗略啊.还有篇详细的请查看:MySQL安全加固题目及答案参考解析 启动xserver-mysql,进入xserver-mysql,开始实验,实验步骤如下: 1. ...

  7. Linux CentOS 使用Yum源安装MySQL 5.7

    在CentOS(Fedora.RedHat)系统中,可以使用yum install mysql命令来安装MySQL,但所安装的MySql版本一般都较旧,所以更推荐通过源码编译安装或下载最新rpm安装包 ...

  8. MySQL数据库安装后的安全设置

    导语: 已经通过报的方式安装了mysql,装完之后有些安全设置必须要做. 装完以后数据库已经可以使用了,但是有安全风险. 风险在访问数据库不需要任何信息就可以访问. [10:17:02 root@C8 ...

  9. 修改ibdata1大小的验证以及如何使用mysqld_multi管理多实例

    修改ibdata1大小的验证 ibdata是共享表空间,在MySQL初始化的时候就生成了. 但很多童鞋会看到网上各种大神的调优建议,在MySQL已经初始化的情况下,修改配置文件中innodb_data ...

随机推荐

  1. 1组-Alpha冲刺-3/6

    一.基本情况 队名:震震带着六菜鸟 组长博客:https://www.cnblogs.com/Klein-Wang/p/15544334.html 小组人数:7人 二.冲刺概况汇报 王业震 过去两天完 ...

  2. vue 3 学习笔记 (六)——watch 、watchEffect 新用法

    选项式API与之前写法相同,本篇文章主要通过 Options API 和 Composition API 对比 watch 的使用方法,让您快速掌握 vue3 中 watch 新用法.建议收藏! 一. ...

  3. 访问ajax请求后的结果

    let getJPM = (function() { let result; let url ="xxx"; $.ajax({ type: "post", ur ...

  4. 全面了解一致性哈希算法及PHP代码实现

    在设计一个分布式系统的架构时,为了提高系统的负载能力,需要把不同的数据分发到不同的服务节点上.因此这里就需要一种分发的机制,其实就是一种算法,来实现这种功能.这里我们就用到了Consistent Ha ...

  5. Matlab指针

    Matlab指针 第一印象貌似是Matlab中不存在指针,所有变量与函数的赋值都是按值传递的,不会对参数进行修改.其实Matlab提供了handle类作为指针代替品.只要我们利用handle子类,就可 ...

  6. Augustus指南(Trainning部分)

    Augustus指南 官方 Tutorial Index Augustus是一个真核生物基因预测软件,目前有网页服务端和本地版,它基于Hidden-Markov Model(隐马尔科夫链模型HMM)( ...

  7. 硬盘SSD、HDD和SSHD都是什么意思?哪种类型硬盘最好?

    硬盘分类:(1)HHD 机械硬盘(Mechanical hard disk)(2)SSD 固态硬盘(solid state drive/disk)(3)SSHD 混合硬盘,说白了就是HDD+SSD=S ...

  8. mysql 实现某年单季度内的品牌TOPn销量在此年此单季度内销量占比

    数据表:       结果表: mysql语句:  

  9. 漏洞分析:CVE-2017-17215

    漏洞分析:CVE-2017-17215 华为HG532路由器的命令注入漏洞,存在于UPnP模块中. 漏洞分析 什么是UPnP? 搭建好环境(使用IoT-vulhub的docker环境),启动环境,查看 ...

  10. 日常Java 2021/11/9

    线程的优先级 每一个Java线程都有一个优先级,这样有助于操作系统确定线程的调度顺序.Java线程的优先级是一个整数,其取值范围是1(Thread.MIN_PRIORITY ) -10 (Thread ...