Linux - 记录尝试过的用户名和密码

ste*_*tef 5 security login ssh logs ubuntu

我正在使用 Ubuntu Server,我很好奇是否可以记录潜在攻击者尝试过的用户名和密码。

我可以 grep/var/log/auth.log并查看所有失败的尝试,但我想查看他们正在尝试的用户名和密码。

Jak*_*uje 20

sshd_config¹ 中调高日志的详细程度后,您可以看到失败的用户名,但无法查看失败的密码,因为这可能是一个潜在的安全问题,并且会侵犯用户的隐私(例如,您可能会输入错误)你的密码,它会被泄露到一些日志文件中)。

所有密码都作为极其敏感的数据处理,只存储在内存中,从不写入日志,因此它们将无法从安全上下文中泄露出来。

为此,您应该使用一些为此用例定制的特制蜜罐,而不是标准的生产安全产品。

¹查看man sshd_config更多信息

  • 即使记录用户名也是一个坏主意。人们经常不小心在用户名字段中输入他们的密码(例如,因为他们弄错了密码,并希望只需再次输入密码,但用户界面也将用户名设为空白)。 (4认同)
  • `:/^要这样做/s/should\(.*\).$/would have to\1 因为这是一个非常非常糟糕的主意。/` (2认同)

Dew*_*gan 5

通过查看已完成此操作的站点上可能发生的情况,可以轻松揭示未完成此操作的原因。

我曾经被要求提高一个记录错误密码的网站的密码哈希强度(我无法想象他们这样做的可能原因)。为了最大程度地减少用户的不便,我首先让它在用户登录时自动转换用户,但由于那些一段时间没有登录的用户也需要改进的保护,我尝试破解它们,将所有猜测的密码转换为更高的哈希标准。

经过一周的时间尝试了我所知道的一切,比如 facebook 等大型泄密事件中的已知密码列表以及多种语言的字典、排列等等,我得到了大约 4,000 个未登录用户的密码,而我无法找到这些密码。裂缝。

我收集了过去几年的错误密码日志,用这些密码来对抗无法破解的密码,并破解了剩下的四分之一。也就是说,它猜出了系统中四分之一的硬密码,包括多个管理员帐户,这意味着我只需要重置 3,000 个用户的密码,而不是 4,000 个。

所以我认为对于恶意攻击者来说,这样的日志的价值怎么强调都不为过。

根本没有充分、有效的理由来记录失败的密码,并且有充分的理由避免这样做 - 如果数据泄露,您就泄露了大批用户的登录信息。这些“坏密码”将是他们改回的密码,或者他们在您系统上的其他帐户上使用的密码,或者他们在其他系统(他们的银行、电子邮件......)上使用的密码。

通过保留这样的日志,您将危及您的用户,而在安全方面并没有真正的优势。