Sql-Server

查詢以檢索 SQL Server 登錄密碼長度

  • November 5, 2020

公司安全部門要求我檢查我們的 Azure SQL 數據庫,並找出是否有任何 SQL 登錄名具有“短”密碼。我不知道實現這一點的方法——我知道我可以更改登錄名並強制他們使用 Windows 密碼策略——但這不會產生禁用登錄名並使我們的應用程序失敗的副作用嗎?

有沒有人有建議-最好是 TSQL 或 Powershell

不幸的是(或幸運的是),我相信沒有這樣的查詢,原因是除了密碼的雜湊值之外沒有關於儲存密碼的資訊。如果您查詢sys.sql_logins您將看到該列password_hash,並且根據文件,它包含

SQL 登錄密碼的雜湊值。從 SQL Server 2012 (11.x) 開始,儲存的密碼資訊是使用加鹽密碼的 SHA-512 計算的。

因此,要知道密碼的大小,您必須解密這些雜湊以獲得原始密碼,如果可能的話,這本身就是一個安全問題。

我知道我可以更改登錄名並強制他們使用 Windows 密碼策略——但這不會產生禁用登錄名並使我們的應用程序失敗的副作用嗎?

Policy Enforcement文件可以幫助您更好地了解該更改的行為。

引用自:https://dba.stackexchange.com/questions/279227