码迷,mamicode.com
首页 > 数据库 > 详细

为何SQL Server登入账号的Password Hash值变动了呢?

时间:2019-09-16 14:30:23      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:rip   ros   hash   dha   传值   重建   sql   mail   数据   

Rock日常管理手上的SQL Server会特别注意一点,就是Logins的帐密保存


因为万一哪一天某台SQL Server无预警挂点,所有的帐密该如何快速建立呢?

当然可以利用还原master的方式到新机上,这样就可以一并还原所有帐密。

而第二层保险就是我会每一天搜集所有SQL Server的Logins的Sid及Password

Hash值,一但遇到问题也可以透过这些搜集的数据来重建账密。

而这些数据搜集附加价值就是我也可以每一天做数据差异比对,就可以知道哪一

些账号的密码及设定值被异动过,来快速发现问题。

某一天一早我例行性的做了账号数据的比对,发现某一笔账号的Password Hash值改变了

我直觉认为有人改了密码。但是经过我检查LOG及Audit纪录都没发现有变更过密码的迹象

,且用原来的帐密也都可以正常登入。再仔细一查,发现是杂凑密码的算法由SHA-1变

更为SHA-2导致Password Hash值不一样了。

我来重现一下问题,我们常常会需要在移机升级的过程中一并搬移账号

而下图中我利用SQL2000的KB246133产生的SP来建出SQL2000账号转

移的Script并在一台SQL2012执行该语法,建立Login账号叫TestUser。

技术图片

如下图所示该TestUser的Password杂凑算法回传值是1(红色圈选处)

,因此表示该账号的密码目前是用SHA-1来演算。
技术图片

此时我利用刚刚建立的账号TestUser来登入SQL2012,如下面两张图所示

技术图片

技术图片

完成第一次登入后,我们再来看看Password的Hash值是否有变化,如下图所示

在经过第一次登入后PasswordHash跟PasswordHashAlgorithm的回传值都不同了

,Password的杂凑演算也由SHA-1变为SHA-2了。

技术图片

SQL2012以后的密码都是用SHA-2做杂凑演算,因此只要我们的做第一次登入

后,原来从SQL2000搬过来用SHA-1做杂凑演算会被SQL自动更改为用SHA-2

,所以Password Hash值才会变动了。

参考数据来源 ?https://msdn.microsoft.com/zh-tw/library/ms345412(v=sql.110).aspx

我是ROCK技术图片

rockchang@mails.fju.edu.tw

原文:大专栏  为何SQL Server登入账号的Password Hash值变动了呢?


为何SQL Server登入账号的Password Hash值变动了呢?

标签:rip   ros   hash   dha   传值   重建   sql   mail   数据   

原文地址:https://www.cnblogs.com/petewell/p/11526597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!