虽然为每个目的选择唯一的密码是个好主意,但实际上这种情况很少发生。因此,许多人从易于记住的个人密码池中选择密码。在对不经常使用的系统进行身份验证时,很可能会依次尝试来自此类池的多个密码。或者,如果出现拼写错误,失败的密码与实际密码非常接近。
由于几乎没有人描述有效的密码策略,包括如何处理被拒绝的密码,是否应该开始假设这些密码被收集在一个出售给最高出价者的数据库中?
有实施指南吗?当候选密码被拒绝时,通常会发生什么?他们是被记录下来,立即丢弃还是留在附近直到垃圾收集?失败的密码处理程序是否是任何审计控制的一部分?似乎有很多关于如何处理有效密码的实施要求和建议,但对于被拒绝的密码值却含糊其辞。
编辑
我将尝试在此处列出记录失败的登录安全凭据的各种实现,以便了解此过程的广泛性:
内容管理系统:
Joomla通过登录失败日志插件
这个小插件收集有关您的 Joomla 站点管理员每次登录尝试失败的日志,并将关于每个失败的登录尝试发送一封电子邮件给站点的超级管理员,其中包含用户名、密码、IP 地址和错误。
KPlaylist v1.3 和 v1.4 - 一个免费的 PHP 系统,可以通过 Internet 获取您的音乐收藏。
在 apache 错误日志中记录失败登录尝试的用户名和密码
Drupal 5.x 5.19 之前的版本和 Drupal 6.x 6.13 之前的版本。
当匿名用户由于输入错误的用户名或密码而无法登录,并且他所在的页面包含一个可排序的表格时,(不正确的)用户名和密码将包含在表格上的链接中。如果用户访问这些链接,则密码可能会通过 HTTP 引荐来源网址泄露到外部站点。
独立软件
Symantec Client Security 3.1 和 SAV CE 10.1 随附的报告服务器
登录尝试失败后,Symantec Reporting Server 的管理员密码可能会泄露。
Linux:
OpenSSH通过修改后的 auth-passwd.c;通过重载 pam_sm_authenticate 函数使用 PAM
编辑#2
似乎已经达成共识,记录失败的密码或 PINS 被视为严重/重大的安全风险,但据我所知,以下标准没有提供专门解决此风险的指导、审计程序或控制: