Przypadkowo wpisałem hasło w polu logowania, czy nadal jest bezpieczne?

75

Patrzyłem na klawiaturę i wpisałem hasło, ponieważ myślałem, że już wpisałem swoją nazwę użytkownika. Nacisnąłem Enter, a kiedy zapytałem o hasło, nacisnąłem Ctrl+ c.

Czy powinienem podjąć środki ostrożności, aby upewnić się, że hasło nie jest gdzieś zapisane jako zwykły tekst, czy powinienem je zmienić?

To też było na tty na serwerze Ubuntu 16.04 LTS.

hermancain
źródło
10
Twoje hasło będzie znajdować się w pliku dziennika i należy je edytować, aby nie zawierało hasła, ale nawet po usunięciu go z pliku dziennika sugeruję zmianę hasła na wszelki wypadek.
John Militer
1
duplikat w sprawie bezpieczeństwa se: security.stackexchange.com/questions/101172/…
stanri
4
Kolejny dobry powód, aby używać kluczy publicznych SSH + z osobnego komputera i zachować wyświetlanie konsoli i klawiaturę tylko na wypadek awarii.
RedGrittyBrick
@stacey, że Q służy do logowania na (prawdopodobnie zdalnej) stronie kontrolowanej przez innych; dotyczy to systemu lokalnego. Niektóre nakładają się, ale to nie to samo.
dave_thompson_085
2
Nie mam jeszcze żadnego systemu Ubuntu 16.04 do przetestowania tego. Ale wykonanie dokładnie tych samych kroków w instalacji Ubuntu 14.04 na pulpicie nie rejestruje nazwy użytkownika ani hasła. Wygląda na to, że nacisnąłeś ctrl-c we właściwym momencie, aby uniknąć dostania się hasła do plików logów.
kasperd

Odpowiedzi:

101

Chodzi o to, czy twoje hasło jest zapisane w dzienniku uwierzytelnienia.

Jeśli logujesz się na konsoli tekstowej pod Linuksem i naciśniesz Ctrl+C po pytaniu o hasło, nie zostanie wygenerowany wpis dziennika. Przynajmniej dotyczy to Ubuntu 14.04 lub Debian jessie z SysVinit i prawdopodobnie w przypadku innych dystrybucji Linuksa; Nie sprawdziłem, czy nadal tak jest w systemie z Systemd. Naciśnięcie Ctrl+ Czabija loginproces, zanim wygeneruje on dowolny wpis dziennika. Więc jesteś bezpieczny .

Z drugiej strony, jeśli faktycznie podjąłeś próbę logowania, co dzieje się, jeśli naciśniesz Enterlub Ctrl+ Dpo pytaniu o hasło, wówczas wprowadzona nazwa użytkownika pojawi się jako zwykły tekst w dziennikach uwierzytelnienia. Wszystkie niepowodzenia logowania są rejestrowane; pozycja dziennika zawiera nazwę konta, ale nigdy nie zawiera niczego na temat hasła (tylko fakt, że hasło było niepoprawne).

Możesz to sprawdzić, przeglądając dzienniki uwierzytelnienia. Na Ubuntu 14.04 lub Debian jessie z SysVinit, dzienniki uwierzytelnienia są włączone /var/log/auth.log.

Jeśli jest to maszyna pod twoją wyłączną kontrolą i nie loguje się zdalnie, a plik dziennika nie został jeszcze utworzony, a Ty możesz i możesz edytować plik dziennika bez niszczenia czegokolwiek, a następnie edytuj dziennik plik, aby usunąć hasło.

Jeśli twoje hasło jest zapisane w logach systemowych, powinieneś uznać je za naruszone i musisz je zmienić. Dzienniki mogą przeciekać z różnych powodów: kopii zapasowych, próśb o pomoc… Nawet jeśli jesteś jedynym użytkownikiem tego komputera, nie ryzykuj.

Uwaga: Nie sprawdziłem, czy Ubuntu 16.04 działa inaczej. Ta odpowiedź może nie zostać uogólniona na wszystkie warianty Uniksa i na pewno nie jest możliwa do uogólnienia na wszystkie metody logowania. Na przykład OpenSSH rejestruje nazwę użytkownika, nawet jeśli naciśniesz Ctrl+ Cpo pytaniu o hasło (w rzeczywistości zanim wyświetli monit o podanie hasła).

Gilles
źródło
13
W tym drugim przypadku powinieneś go również zmienić wszędzie tam, gdzie go używałeś.
gronostaj
2
Popraw mnie, jeśli się mylę, ale generalnie jedynymi osobami, które zobaczą te dzienniki, są osoby, które mogą już mieć dostęp do twoich danych, jeśli chcą. A co jeśli zobaczą swoje hasło? O co tyle szumu?
Mehrdad,
4
@Mehrdad Dzienniki uwierzytelnienia są zwykle zarezerwowane dla administratorów, prawda. Ale jest różnica między zaufaniem komuś z możliwością zainstalowania keyloggera a zaufaniem dla moich haseł. Możliwe jest również, że kopia zapasowa wycieknie lub że udostępnię dzienniki komuś, aby pomóc w rozwiązywaniu problemów itp. Ryzyko, że wycieknie wpis dziennika jest zbyt wysokie, aby je zignorować.
Gilles
1
Jeśli ta odpowiedź jest prawidłowa, oznacza to regresję w porównaniu z Ubuntu 14.04. Wykonanie wspomnianych kroków w systemie Ubuntu 14.04 nie rejestruje nazwy użytkownika ani hasła, ponieważ logowanie zostało przerwane przez naciśnięcie klawiszy ctrl-c, zanim informacje te zostaną zarejestrowane.
kasperd
2
@kasperd Post jako odpowiedź.
wizzwizz4
7

W twoim przypadku jesteś bezpieczny - wpisałeś hasło i anulowałeś je. Hasło wpisane w monicie logowania, po którym następuje nieprawidłowe hasło, zostanie uznane za nieudane uwierzytelnienie i zostanie częściowo zapisane w btmpdzienniku. W przypadku ttykonsoli jest to w porządku.

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

„Przypadkowo” wpisane hasło zostało zapisane jako UNKNOWN, więc tutaj wszystko dobrze. Jednak nieudane uwierzytelnienia na ekranie logowania GUI pokazują niepoprawne wpisy logowania

$ 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)    

Czy jest w tym coś dobrego? Dobrze . . . Atakujący musiałby przede wszystkim mieć dostęp do twojego systemu, a tym bardziej musiałby mieć uprawnienia roota, aby móc odczytać btmpdziennik. Co oznacza również dla komputera z jednym użytkownikiem - jest to równoznaczne z kradzieżą hasła, więc wpis nie jest użyteczny dla atakującego, jeśli zna twoje hasło. Hasło we wpisie, które można już wywnioskować, zostało tylko częściowo zapisane, ale daje to całkiem spore korzyści atakującemu, więc nie ma nic dobrego w tej części

Czy powinieneś zmienić hasło? Prawdopodobnie, aby mieć 100% pewności, z drugiej strony atakujący musiałby mieć dostęp do twojego btmpdziennika, który jest taki sam jak dostęp /etc/shadow, więc nie ma z tego żadnej realnej korzyści.

Uwaga dodatkowa : Wszystkie dane wyjściowe z mojego Ubuntu 14.04

Sergiy Kolodyazhnyy
źródło
Prawdą jest również to, że ten plik tekstowy samolotu wyświetlałby hasło w pliku dziennika, gdyby ktoś uruchomił system operacyjny na tym samym komputerze. Jeśli użyjesz tego samego hasła w innym miejscu, może to stanowić osobne zagrożenie bezpieczeństwa. Zalecałbym usunięcie ich z pliku dziennika i użycie programu, który zapisuje zwolnione miejsce w zależności od tego, jak ważne jest dla Ciebie to hasło
Joe
@Joe o jakich konkretnych dziennikach mówimy? /var/log/auth.log? Tak, ponowne użycie hasła jest częstym problemem, jestem tego świadomy, więc nie używam go ponownie.
Sergiy Kolodyazhnyy 28.04.16
1
Tylko jedna strona pomyślała o innych, kiedy to sprawdzają, ponieważ znam tak wiele osób, które mają 1 hasło do wszystkiego.
Joe
Powinien też napisać plik btmp
Joe
podsumowując ... po prostu sudo rm /var/log/btmp?
phil294