我应该记录用户更改了密码吗?

信息安全 密码 日志记录 重设密码
2021-08-28 14:20:08

记录用户更改密码是否存在安全问题?每当管理员出于审计目的更改用户密码时,我已经在记录,但是是否有理由不记录每个用户何时更改自己的密码?

编辑:以下问题的答案

您期望从中获得什么收益?

主要是法医。如果用户声称他们被黑客入侵,则能够查看谁(管理员的 user_id 或自己)更改了密码。

我们不使用它来支持任何密码管理方案,例如强制更改密码或禁止密码重用。

谁可以访问这些日志?

系统管理员和可能的小型支持团队。

我们在谈论什么样的账户?

电子学习平台上的用户帐户,即教师和学生。

另外,你有密码过期规则吗?

不,我说的是存储每次更改密码的时间,而不仅仅是最后一次更改。

你在存储什么信息?(实际上没有问但暗示)

我们正在存储更改密码的用户的用户 ID、进行更改的用户的用户 ID(可能是管理员或学生教师)、更改密码的时间以及用于更改密码的 URI。

4个回答

回答您的问题,是的,您可以并且应该记录密码更改,这样做从根本上没有任何问题,只要您不记录密码本身”

要记录什么?

在为安全目的设计日志记录时,您希望解决以下问题:

事件发生在什么时候?

  • 事件发生的日期和时间(使用通用日志格式)

发生了什么?

  • 事件的简短描述(例如密码更改)

谁触发了事件?

  • 用户 ID、姓名、电子邮件或某些唯一标识符

为什么会触发事件?

  • 这与“什么”不同,尽管很多人都这样使用它。这就是事件被执行的原因。(例如,由于政策而更改密码、用户手动更改密码等)。这对于消除噪音非常有用。

场景

讨论所见内容的最佳方法之一是通过场景并询问团队:

  • 活动提供什么信息?
  • 该事件是否需要合规/合法?
  • 我们是出于侦探的原因而登录吗?(例如触发 SIEM)或进行纠正?(例如,事后取证)
  • 谁将查看日志?
  • 我们将如何保护日志?

例子:

James 是 IR 团队的一员,该团队负责 Made-Up Company 的关键应用程序“不存在”。James 希望能够查看所有密码更改,以便检测在正常策略过程之外发生的更改。如果在没有支持团队记录事件的情况下发生密码更改,这些事件将触发和调查。日志将发送到 IR SIEM 设备,当事件无法与所需策略更改之外的密码更改相关联时,该设备将使用规则集向 IR 团队触发警告。

(在工作场所使用这个必须小心。我刚刚做了这个例子。)

[编辑] - 更新了最初的答案,使其更加清晰。感谢@SeldomNeedy 的建议。

我不能给你一个不记录一些东西的理由;你必须给我一个你需要记录它的理由。

从理论上讲,您可以记录用户所做的所有事情(包括鼠标指针移动、单击以及窗口何时为前景)。

但是,您需要记录所有内容吗?您可以在不牺牲性能的情况下记录所有内容吗?您可以将日志存储一段有用的时间吗?

当用户更改他/她的密码时,没有理由不登录。您可以防止用户过于频繁地更改密码。或者您可以基于密码更改的历史、习惯和模式构建的任何功能。

您甚至可以将密码更改与重大安全漏洞相关联,以确定用户的“技术”程度。

您可以记录一些消息以指示用户已更改密码以及一些信息,例如 ipaddress(以跟踪是否有人无意更改了他的密码)从他更改密码的位置。

请避免记录 PII 信息,如果日志文件泄露,会导致返回特定用户。

不记录它们比记录它们更具安全风险,但是(正如其他所有人所说)要小心记录信息的内容/方式。

其他答案指出,日志将允许您的管理员检测违规行为,并向用户发送通知将允许他们单独检测违规行为。

我想我们都假设您将密码存储为带有随机盐的哈希值。只是提醒一下,使用随机盐会显着降低攻击者破解散列密码的能力,因为他们必须对每个唯一的盐进行完整的破解过程(希望对于系统中的每个密码都是唯一的,并且每次它们都是改变)。

如果您想实施一些新的密码策略,那么您可以:

  • 保留密码更改时间的记录(可能不是“日志”)
  • 保留密码的散列版本及其随机盐

这些允许您稍后实施以下政策:

  • 过期,仅使用时间戳部分
  • 密码历史,通过使用每个历史盐对新密码进行哈希处理,并与历史哈希进行比较,以确保用户不会重复使用旧密码