Netwrix Auditor for SQL Server
- 运行 Netwrix Auditor → 转到 "Search" → 如果尚未选择,点击 "Advanced mode" → 设置以下筛选条件:
- 筛选条件 = "Data Source"
运算符 = "Equals"
值 = "SQL Server" - 筛选条件 – "Details"
运算符 = "Contains"
值 = "Password"
- 筛选条件 = "Data Source"
- 点击 "Search" 按钮,并查看对密码做了哪些更改。
原生审计
- 运行 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 中打开脚本生成的文件。
关注 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 的安全性。
分享到