公司安全部门要求我检查我们的 Azure SQL 数据库,并找出是否有任何 SQL 登录名具有“短”密码。我不知道实现这一点的方法——我知道我可以更改登录名并强制他们使用 Windows 密码策略——但这不会产生禁用登录名并使我们的应用程序失败的副作用吗?
有没有人有建议-最好是 TSQL 或 Powershell
公司安全部门要求我检查我们的 Azure SQL 数据库,并找出是否有任何 SQL 登录名具有“短”密码。我不知道实现这一点的方法——我知道我可以更改登录名并强制他们使用 Windows 密码策略——但这不会产生禁用登录名并使我们的应用程序失败的副作用吗?
有没有人有建议-最好是 TSQL 或 Powershell
我认为,您的企业安全性意味着周密码。借助内置函数PWDCOMPARE的一种方法(无需任何第三方工具),但为此,您需要在数据库表中提供真正的周密码列表,从该表中查找每个密码并与 SQL 进行比较登录哈希一个接一个。以下是示例:
不幸的是(或幸运的是),我相信没有这样的查询,原因是除了密码的哈希值之外没有关于存储密码的信息。如果您查询sys.sql_logins您将看到该列
password_hash
,并且根据文档,它包含因此,要知道密码的大小,您必须解密这些哈希以获得原始密码,如果可能的话,这本身就是一个安全问题。
Policy Enforcement文档可以帮助您更好地了解该更改的行为。