Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心操作指南

如何跟踪 SQL Server 中的登录密码更改

如何跟踪 SQL Server 中的登录密码更改

原生解决方案 vs. Netwrix Auditor for SQL Server

Netwrix Auditor for SQL Server

  1. 运行 Netwrix Auditor → 转到 "Search" → 如果尚未选择,点击 "Advanced mode" → 设置以下筛选条件:
    • 筛选条件 = "Data Source"
      运算符 = "Equals"
      值 = "SQL Server"
    • 筛选条件 – "Details"
      运算符 = "Contains"
      值 = "Password"
  2. 点击 "Search" 按钮,并查看对密码做了哪些更改。
Image

原生审计

  • 运行 SQL Management Studio,并执行以下 T-SQL 代码以创建并启用 SQL Server 审核(audit)以及 SQL Server 审核规范(audit specification),根据需要调整日志的路径:
      -- Create a server audit.
CREATE SERVER AUDIT AuditSQL
    TO FILE ( FILEPATH ='\\SQL\Audit\' )
        WITH ( QUEUE_DELAY = 1000, ON_FAILURE = CONTINUE );
GO
-- Create a server audit specification for login password changes.
CREATE SERVER AUDIT SPECIFICATION User_pw_change
FOR SERVER AUDIT AuditSQL
    ADD (LOGIN_CHANGE_PASSWORD_GROUP);
GO
-- Enable the audit.
ALTER SERVER AUDIT AuditSQL
WITH (STATE = ON);
GO
      
  • 要查看登录密码的变更,请在 SQL Management Studio 中执行以下代码:
      SELECT * FROM sys.fn_get_audit_file ('\\SQL\Audit\*',default,default)
WHERE action_id = 'PWR'
GO
      
  • 在 MS Excel 中打开脚本生成的文件。
Image
了解有关 Netwrix Auditor for SQL Server 的更多信息

关注 SQL Server 中的登录密码变更,以尽量降低账户被入侵的风险

在没有获得适当授权的情况下,任何用户都不应更改 Windows SQL Server 的登录密码。不幸的是,默认情况下 SQL Server 并不会记录登录密码的变更;因此,如果有人在你的 SQL Server 环境中修改了登录密码,你甚至不会知道该更改发生过,更不用说确定是谁修改了密码。缺少密码更改日志会使你难以对数据库进行有效控制;事实上,无法审计登录变更会让你的 SQL Server 安全性及关键数据面临风险。

要收集包含变更的密码事件,你可以使用 SQL Server 审计。不过,该方法需要在 SQL Server Management Studio 中编写 Transact-SQL 脚本,因此请做好准备,重新提升你的脚本能力。或者,你也可以使用 Netwrix Auditor for SQL Server 来审计登录密码变更——以及更多内容。该综合解决方案不仅可以帮助你跟踪 SQL Server 登录,还可以跟踪对数据库对象、权限、实例、密码事件等的变更。它提供有关执行了哪些操作、何时执行以及由谁执行的详细信息,因此你可以在数据遭到破坏之前更快识别潜在威胁活动,并增强 SQL Server 的安全性。

分享到