我不小心在登录字段中输入了密码,它仍然安全吗?


75

我低头看着键盘并输入密码,因为我以为我已经输入了登录名。我按Enter,然后在要求输入密码时按Ctrl+ c

我应该采取一些预防措施以确保密码不是以纯文本格式存储在某处,还是应该更改密码?

这也是在ubuntu服务器16.04 LTS上的tty上。


10
您的密码将在日志文件中,并且您应该对其进行编辑以使其不包含密码,但是即使将其从日志文件中删除,我还是建议您还是更改密码,以防万一。
John Militer

1
关于安全性的重复信息:security.stackexchange.com/questions/101172/…–
斯坦里

4
另一个很好的理由是在单独的PC上使用SSH +公钥,并保留控制台显示屏和键盘,仅用于紧急情况。
RedGrittyBrick '16

@ stacey,Q用于登录到其他人控制的(可能是远程)站点;这是用于本地系统。有一些重叠,但是不一样。
dave_thompson_085 '16

2
我还没有任何Ubuntu 16.04系统可以对此进行测试。但是在Ubuntu 14.04桌面安装上执行完全相同的步骤不会记录用户名或密码。您似乎在适当的时候按下了ctrl-c,以避免将密码输入到任何日志文件中。
kasperd '16

Answers:


101

问题在于您的密码是否记录在身份验证日志中。

如果要在Linux下的文本控制台上登录,并且在密码提示下Ctrl+C,则不会生成任何日志条目。至少对于Ubuntu 14.04或带有SysVinit的Debian jessie,甚至其他Linux发行版,这都是正确的。我没有检查在使用Systemd的系统上是否仍然如此。在生成任何日志条目之前,按Ctrl+会C终止该login进程。所以你很安全

另一方面,如果您实际进行了登录尝试(如果在密码提示符下按EnterCtrl+ 会发生这种情况)D,那么您输入的用户名将以纯文本形式出现在身份验证日志中。记录所有登录失败;该日志条目包含帐户名,但从不包含有关密码的任何内容(只是密码不正确的事实)。

您可以通过查看身份验证日志进行检查。在Ubuntu 14.04或带SysVinit的Debian jessie上,身份验证日志位于中/var/log/auth.log

如果这是一台由您独占控制的机器,并且它不是远程日志,并且尚未备份日志文件,并且您愿意并且能够编辑日志文件而不会破坏任何内容,那么请编辑日志文件以删除密码。

如果您的密码记录在系统日志中,则应认为该密码已泄露,需要进行更改。日志可能由于各种原因而泄漏:备份,请求帮助……即使您是这台计算机上的唯一用户,也不要冒险。

注意:我没有检查Ubuntu 16.04是否工作不同。该答案可能无法推广到所有Unix变体,当然也不能推广到所有登录方法。例如,即使您在密码提示下按Ctrl+ C(实际上,在显示密码提示之前),OpenSSH也会记录用户名。


13
在后一种情况下,您还应该在重新使用它的任何地方进行更改。
gronostaj

2
嗯,如果我错了,请纠正我,但通常只有那些会看到这些日志的人是那些可能会在需要时访问您数据的人。那么,如果他们看到密码了怎么办?有什么大不了的?
Mehrdad

4
@Mehrdad身份验证日志通常保留给管理员,是的。但是,信任能够安装键盘记录程序的人与使用我的密码信任他们之间是有区别的。备份也可能泄漏,或者我将与某人共享日志以帮助进行故障排除等。日志条目泄漏的风险过高而无法忽略。
吉尔斯2016年

1
如果此答案正确,则与Ubuntu 14.04相比,这是回归。在Ubuntu 14.04上执行上述步骤不会记录用户名或密码,因为在记录该信息之前按ctrl-c会中断登录。
kasperd '16

2
@kasperd发表为答案。
wizzwizz4 2016年

7

就您而言,您很安全-您输入了密码并从密码中取消了。在登录提示中键入密码,然后输入错误的密码将被视为身份验证失败,并且会部分记录在btmp日志中。对于tty控制台,这没关系。

$ sudo lastb                                                                   
[sudo] password for xieerqi: 
UNKNOWN  tty1                          Mon Apr 25 22:14 - 22:14  (00:00)    

“偶然地”键入的密码记录为UNKNOWN,所以在这里一切都很好。但是,GUI登录屏幕上的身份验证失败确实显示了模糊的失败登录条目

$ sudo lastb                                                                   
[sudo] password for xieerqi: 
hellowor :1           :1               Mon Apr 25 22:17 - 22:17  (00:00)    
UNKNOWN  tty1                          Mon Apr 25 22:14 - 22:14  (00:00)    

那有什么好处吗?好 。。攻击者首先必须具有访问您系统的权限,甚至更多-他/她将必须具有root用户访问权限才能读取btmp日志。对于单用户计算机来说,这也意味着-密码已经被盗,因此即使攻击者知道了您的密码,也无济于事。您已经可以推断出该条目中的密码仅被部分记录,但是对于攻击者而言,这是一个相当不错的优势,因此该部分没有什么好处。

您应该更改密码吗?可能只是为了100%保证。另一方面,攻击者将不得不访问您的btmp日志,而这与访问日志相同/etc/shadow,因此并没有真正的优势。

旁注:我的Ubuntu 14.04的所有输出


如果有人要在同一台计算机上启动实时操作系统,则该平面文本文件也将在日志文件中显示密码也是正确的。如果在其他地方使用相同的密码,则可能会带来单独的安全风险。我建议将它们从日志文件中刷新出来,并使用一个程序来重写释放的空间,具体取决于该密码对您而言的重要性
Joe

@Joe我们正在谈论哪些特定日志?/var/log/auth.log?是的,密码重用是一个常见问题,我很清楚,所以我不会重用。
Sergiy Kolodyazhnyy

1
当其他人查找时,也有其他想法,我知道很多人对所有事情都拥有1个密码。

也应该重写btmp文件

那么,总结一下..简单sudo rm /var/log/btmp吗?
phil294
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.