Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >MySQL管理——密码安全

MySQL管理——密码安全

作者头像
MySQLSE
发布于 2023-09-12 11:22:02
发布于 2023-09-12 11:22:02
26200
代码可运行
举报
运行总次数:0
代码可运行

MySQL的日常管理中,密码安全直接关系到数据库的使用,DBA应该在密码管理上特别重视。

密码面临的风险

用户使用密码时,会面临如下风险:

  • 使用多种攻击技术,包括社会工程和密钥记录来发现密码
  • 利用社会工程猜测密码
  • 在系统表或文件中找到密码

注:社会工程意为利用人们在社会中的各种行为、心理、活动等,配上信息技术手段,来获取黑客想要的各种信息。

针对以上风险,MySQL的DBA可以利用如下方法进行防范,降低风险。

  • 启用密码过期策略,限制密码暴露
  • 启用“validate_password”组件,强制使用复杂度高的“强密码”,防止被攻击者轻易猜测
  • MySQL的密码存储在“mysql.user”表中,需要防止不具备管理员权限的用户读取该表,并需要对该表空间文件在操作系统上进行加密

攻击者推导密码的方法

密码在通常情况下通过哈希算法进行处理,但攻击者仍可以通过如下方法推导出密码。

  • 蛮力破解算法:通过使用不同的哈希算法将字符进行组合,以匹配密码使用的算法
  • 字典攻击:使用字典中的字符执行哈希操作,当用户使用安全性不高的密码时,该方法能够快速推导出密码
  • 彩虹表:由重复哈希和简化密码的长链中的第一个和最后一个哈希组成,当攻击者通过相同的算法链运行目标密码哈希,并找到与之匹配的算法链时,攻击者可以通过重播该链来推导密码

MySQL的密码验证组件

MySQL提供了密码验证组件,用以提高密码的安全性。该组件的安装文件名为“component_validate_password.so”保存在“plugin_dir”变量指定的路径下。组件安装成功后,该组件提供几个变量,通过对变量进行设置,以达到不同级别的密码安全要求。

validate_password.policy:强制开启验证密码,默认值为1(MEDIUM),检查密码的长度、数字、小写/大写和特殊字符。如果设置为2(STRONG)需要额外检查字典文件(与字典中的字符匹配将无法作为密码使用),并需要通过"validate_password.dictionary_file“变量指定字典文件。

validate_password.check_user_name:用于检查密码中是否包含用户名,默认情况下开启。

用户可以动态配置变量值,例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> SET GLOBAL validate_password.policy = 2;
mysql> SET GLOBAL validate_password.length = 12;

也可以将变量值写入配置文件,持久化保存。

与之相关联的变量可以通过SHOW语句查看:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> SHOW VARIABLES LIKE 'validate_password.%';
+-------------------------------------------------+--------+
| Variable_name                                   | Value  |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0      |
| validate_password.check_user_name               | ON     |
| validate_password.dictionary_file               |        |
| validate_password.length                        | 8      |
| validate_password.mixed_case_count              | 1      |
| validate_password.number_count                  | 1      |
| validate_password.policy                        | MEDIUM |
| validate_password.special_char_count            | 1      |
+-------------------------------------------------+--------+

MySQL用户除了使用上述的密码验证组件强化密码,还可以考虑从以下两方面增加密码的安全性:

  • 为root用户设置强密码
  • 为全部用户的密码指定使用期限,通过”default_password_lifetime“进行配置
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-11 10:07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
MySQL 8.0下设置简单密码出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
星哥玩云
2022/08/18
1.5K0
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
技术分享 | 细说 MySQL 用户安全加固策略
作者:官永强,爱可生 DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。
爱可生开源社区
2023/12/20
4050
技术分享 | 细说 MySQL 用户安全加固策略
mysql使用笔记一
MySQL和postgresql是目前比较火的两大开源数据库,绝大多数国产数据库都衍生于此,MySQL从整个架构上、设计上和语法上讲类似于早期的Sybase,SQLServer也源之于Sybase,从应用上讲SQLServer更友好,功能更丰富,单体数据库性能也是最好的;MySQL还有诸多的限制,不过这里只是试验和笔记,不做赘述。
python与大数据分析
2022/07/07
2310
mysql使用笔记一
技术分享 | OceanBase 安全审计之身份鉴别
本文以 MySQL 作为参考,介绍了 OceanBase(MySQL 模式)安全体系中关于身份鉴别的相关功能,包括身份鉴别机制、用户名组成、密码复杂度、密码过期策略等。
爱可生开源社区
2023/08/18
3810
技术分享 | OceanBase 安全审计之身份鉴别
MySQL 8.0新特性 — 密码管理
作为世界上最流行的开源数据库,MySQL各方面的功能都在不断完善,比如密码管理这一块,从一开始最简单的用户名密码、到5.7版本的validate_password插件、再到8.0版本丰富多彩的密码策略,已经完全可以媲美DB2、Oracle、SQL Server等大型商业数据库;今天就给大家带来 MySQL 8.0新特性 — 密码管理。
brightdeng@DBA
2020/09/03
1.8K0
MySQL 8.0新特性 — 密码管理
在 Ubuntu 上安装 MySQL
在 Ubuntu 中安装 Mysql 最方便方式是用 MySQL 自己的 APT 仓库。 APT 仓库中包含了 MySQL 的服务器和工具相关的软件。我们需要将此 MySQL APT 仓库添加到系统的包源列表中。
不惑
2023/09/23
1.2K0
MySQL 8密码策略
MySQL8提供了较多的密码管理功能和策略,包括密码过期时间设置,密码重用限制,密码验证,双密码,密码强度评估和密码失败跟踪等。DBA使用提供的这些功能和策略对MySQL用户的密码进行管理和配置,进一步完善数据库的安全保障。
数据和云
2021/10/13
2.9K0
MySQL8 中文参考(二十八)
mysql_no_login 服务器端认证插件阻止所有使用它的账户的客户端连接。此插件的用例包括:
ApacheCN_飞龙
2024/06/25
1370
MySQL入门03:MySQL修改root密码的方法
作为守护数据库安全的第一道关卡是root账户及其密码。 学会对root密码管理无疑是守门人和开锁人的一项基础技能。
SQLplusDB
2022/08/19
3K0
5.3CentOS@安装mysql8.0教程
mysql> select host,user,plugin from user;
itjim
2020/02/15
3.7K0
5.3CentOS@安装mysql8.0教程
Centos7安装mysql8.0教程
发现root的host是localhost,不是%,可以加个host是%的root账号: 输入:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘KC$abc123’;
chenchenchen
2022/01/05
8160
Centos7安装mysql8.0教程
保护密码安全,探讨密码加盐及其在Go语言中的实现
在当今数字化时代,个人隐私和数据安全成为了人们关注的焦点之一。随着网络犯罪的不断增加,用户的密码安全性变得尤为重要。密码加盐作为一种常见的安全措施,被广泛应用于密码存储和认证系统中。本文将深入探讨密码加盐的概念、重要性以及在 Go 语言中的实现方式。
繁依Fanyi
2024/04/21
6190
MYSQL 8 的 DB security 怎么应对安全部门的 bulabula
MYSQL 8 的 security 的确是和MYSQL 5.7 不大一样,但具体怎么弄到底和MYSQL 5.7 有什么不一样,还是的搞一搞。什么 还在使用MYSQL 5.6 ,5.5 ,那也可以看一眼,或许下次升级就直接跳过 5.7 呢 .
AustinDatabases
2019/09/17
8450
深入了解MD4,MD5,SHA哈希密码算法与破解技术
密码(password)是最广泛使用的认证系统之一,防止未经授权的用户访问系统,无论是离线还是在线。在大多数系统中,密码是通过加密存储的,以便为每个用户提供安全性。然而,在这些密码的加密之内,仍然存在漏洞。本文将回顾关于密码哈希(hash)函数的学术和出版文献,特别指出MD4,MD5,SHA算法以及在Linux操作系统中使用Salt字符串。
HACK学习
2019/08/07
2.7K0
Centos7安装mysql8教程
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
zhanyd
2022/05/16
2.1K0
Centos7安装mysql8教程
年底了,你的数据库密码安全吗
年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等。特别是进行等保评测时,评测机构会要求具备密码安全策略。其实 MySQL 系统本身可以设置密码复杂度及自动过期策略的,可能比较少用,大多数同学并未详细去了解。本篇文章我们一起来学习下如何设置数据库账号密码复杂度及自动过期策略。
MySQL技术
2021/01/18
7910
MySQL中涉及安全性的SQL语句
您的MySQL安全吗?数据是最有价值的资产,数据安全已经成为重中之重。本篇将介绍如何使用SQL语句确保MySQL的安全性。
MySQLSE
2024/07/18
1232
MySQL中涉及安全性的SQL语句
信息安全意识-密码安全
密码是我们生活中最常见的进行身份验证的一个因素,一般我们在登录系统或者是其他应用程序的时候,最先需要利用用户名和密码来验证我们的身份,这称为单因素身份验证。除了密码之外,我们还可以再进一步利用数字令牌、利用生物特征,比如虹膜扫描,视网膜扫描等来对你进行身份验证,但密码永远是最常见的身份验证的第一个因素。密码作为最基本的一个身份验证的因素,如果没有被保护好,或者被别人猜测到,而网站又没有做到足够的防护,没有检测或者其他加固的安全性措施的话,那么你的系统就完全暴露在攻击者面前,再也没有任何秘密可言。 
牛油果
2019/08/16
8470
信息安全意识-密码安全
面试官:你们是如何在数据库中存储密码?
张总:“你好,小王。我看到你在简历中提到对密码安全有一些了解。你能简单说说,当我们要存储用户密码时,应该采取哪些措施吗?”
不惑
2024/09/12
5760
面试官:你们是如何在数据库中存储密码?
MySQL密码策略管理插件validate_password
  validate_password是MySQL默认的密码管理策略插件,可通过配置对用户密码长度、强度进行管理;
陈哈哈
2021/10/13
4.6K0
相关推荐
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验