【问题标题】:Log SQL Server Password change记录 SQL Server 密码更改
【发布时间】:2009-04-18 14:14:12
【问题描述】:

我最近发生了一件不幸的事情。我托管了一个业务合作伙伴的 SQLServer 2005 服务器,并且“sa”密码被神秘地更改了(没有人愿意对此负责)。所以我想知道,有没有一种方法可以配置 SQL Server 2005 来记录所有密码更改?

我知道这可以通过 Windows Server 2003、Windows Server 2008 或类似版本来实现。但问题是,我在 Windows XP Pro 上运行(我知道我不应该这样做,但我的业务伙伴声称她没有购买完整的 Windows Server 操作系统的预算)。

非常感谢!

【问题讨论】:

    标签: sql-server security windows-xp passwords password-protection


    【解决方案1】:

    一些想法……

    1. 使用 SQL 分析器,Audit Login Change Password Event Class
    2. DDL triggers,指定ALTER USER DDL event
    3. 重命名“sa”,创建一个虚拟“sa”帐户

    任何有权更改密码的人都可以撤消或关闭任何审核

    【讨论】:

      【解决方案2】:

      一旦您第二次丢失数据,他们是否有足够的资金从头开始重新创建数据库?说真的,您应该简单地使用 Windows 事件查看器来查看最后一次访问。 SA 通常会在安全日志中显示一个事件。

      【讨论】:

        【解决方案3】:

        gbn 有正确的想法

        在研究同一主题时,我发现了 Aaron Bertrand 写的一个很好的例子。
        本质上,您需要使用 AUDIT_LOGIN_CHANGE_PASSWORD_EVENT 参数创建一个事件

        CREATE EVENT NOTIFICATION PasswordChangeNotification
            ON SERVER WITH FAN_IN
            FOR AUDIT_LOGIN_CHANGE_PASSWORD_EVENT
            TO SERVICE 'PasswordChangeService', 'current database';
        GO
        

        你可以在这里找到他的例子
        http://www.mssqltips.com/sqlservertip/2708/tracking-login-password-changes-in-sql-server/

        【讨论】:

        • 在堆栈溢出中不鼓励在链接中回答。在您的答案中提供该页面中回答 OP 问题的部分,以便将来的读者即使链接已损坏也可以阅读它。
        • 它需要从该网站上获取大量信息才能给出完整的答案......这对我来说就像是在偷窃......无论如何你可以在archive.org上找到一个备份,那样我不要认为它会永远消失......
        • 作为标准做法,您可以包含原始线程中的基本部分。现在在这种情况下,您可以包含准确实施解决方案的想法,并在底部包含链接以供进一步参考。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        • 1970-01-01
        • 2021-02-10
        • 2012-07-03
        • 2018-02-27
        相关资源
        最近更新 更多