Postgresql从MD5密码验证改为SCRAM-SHA-256
2021/6/28 19:21:15
本文主要是介绍Postgresql从MD5密码验证改为SCRAM-SHA-256,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随着密码学技术的发展,MD5哈希算法构造的密码越来越不安全,所以,PG顺应发展,从10版本开始支持了SCRAM-SHA-256加密算法,因为使用的新的哈希算法。使得在暴力破解的时候花费的代价更加昂贵。那么,接下来,在PG中看一下如何从MD5切换到SCRAM-SHA-256。
首先,太老的的驱动不支持SCRAM-SHA-256,都会报错,如JDBC,会报The authentication type 10 is not supported。那么就需要升级驱动。
接下来就是数据库服务端修改配置:
#修改postgresql.conf参数文件 password_encryption = scram-sha-256 #重新载入配置文件 pg_ctl reload -D $PGDATA 或 SELECT pg_reload_conf(); #查看参数配置是否修改成功 SHOW password_encryption; #重置用户密码 \password user_name #修改pg_hba.conf验证方法,然后reload即可 如: host all all 0.0.0.0/0 md5 改为 host all all 0.0.0.0/0 scram-sha-256
实例:
#通过\password user_name修改了hank用户密码 postgres=# select rolname,rolpassword from pg_authid where rolname in('hank','zabbix'); rolname | rolpassword ---------+--------------------------------------------------------------------------------------------------------------------------------------- zabbix | md5435f13d666b53dd9b4b829e237213fd8 hank | SCRAM-SHA-256$4096:yqNGsct76W5ZjPvMxxjzRw==$NmR4QIuHRlhu+I/HP1TQ4OC6stmtgN6Oc7oZa76tKxQ=:kNOwGMU+tSbJ2QQiD1Hb/rCKX7/coQEdkeUjD9+pEhE= #pg_hba.conf没有修改,但是同样可以通过密码登陆,这是pg的一个兼容性特性,即使没写SCRAM-SHA-256,可以自动识别密码为SCRAM-SHA-256加密的,然后验证通过,而且使用老的MD5加密的用户也可以正常登陆 host all all 0.0.0.0/0 md5 psql -h ******* -p 1921 -U hank Password for user hank: psql (12.6) Type "help" for help. hank=> #如果修改pg_hba.conf为scram-sha-256,即使zabbix用户写对密码,也无法正常登陆,如下,只有通过scram-sha-256加密的hank用户可正常登陆,也可以查看视图pg_hba_file_rules host all all 0.0.0.0/0 scram-sha-256 psql -h xxxxx -p 1921 -U zabbix Password for user zabbix: psql: error: FATAL: password authentication failed for user "zabbix" psql -h xxxxxx -p 1921 -U hank Password for user hank: psql (12.6) Type "help" for help. hank=> #修改密码后,可正常登陆 postgres=# \password zabbix Enter new password: Enter it again: postgres=# select rolname,rolpassword from pg_authid where rolname in('hank','zabbix'); rolname | rolpassword ---------+--------------------------------------------------------------------------------------------------------------------------------------- hank | SCRAM-SHA-256$4096:yqNGsct76W5ZjPvMxxjzRw==$NmR4QIuHRlhu+I/HP1TQ4OC6stmtgN6Oc7oZa76tKxQ=:kNOwGMU+tSbJ2QQiD1Hb/rCKX7/coQEdkeUjD9+pEhE= zabbix | SCRAM-SHA-256$4096:Q2LODw88k0a3G9cr36Crvw==$EhBkOVbaNIxpqZADeYGCQE6LIam/k+aqmdQqBuxJM28=:Xw+ySsSGidAdvfQ/98LL38NnK1wsT96sivwtJZ144vU= (2 rows) psql -h xxxxxxxx -p 1921 -U zabbix Password for user zabbix: psql (12.6) Type "help" for help. zabbix=>
这篇关于Postgresql从MD5密码验证改为SCRAM-SHA-256的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用