Root i moje hasło są takie same


8

Jeśli mogę cat /etc/shadowuzyskać zaszyfrowane hasła roota i mojego użytkownika.

Te hasła są takie same (wiem, złe bezpieczeństwo) dla każdego konta, ale /etc/shadowpokazują się jako różne zaszyfrowane ciągi.

Dlaczego? Czy dla każdego stosowane są różne algorytmy?


Poleciłbym przeczytać to jako dobry punkt wyjścia. Krótka odpowiedź brzmi: hasze są solone, a hasz bez soli wcale nie jest haszem.
Boris the Spider

Odpowiedzi:


10

Oddzielni użytkownicy oznaczają oddzielny identyfikator użytkownika, dlatego też algorytm będzie obejmował osobne skróty.

Nawet użytkownik o tej samej nazwie, tym samym haśle i utworzony w tym samym czasie (z prawie pewnym prawdopodobieństwem) skończy z innym hashem. Istnieją inne czynniki, które pomagają utworzyć szyfrowanie.

Jeśli chcesz spojrzeć na szybki przykład tutaj , może to lepiej wyjaśnić.


17
Wystarczy wspomnieć tutaj słowo: nazywa się to soleniem skrótu.
Ulrich Schwarz,

1
Oddzielni użytkownicy niekoniecznie oznaczają oddzielne identyfikatory użytkowników. Identyfikatory użytkowników nie mają na to wpływu. Klucz podstawowy w /etc/passwd, /etc/shadowto nazwa użytkownika, a nie identyfikator użytkownika (co nie jest nawet wymienione w /etc/shadow).
Stéphane Chazelas

Wyjaśnienie nie do końca odpowiada na pytanie. Co w ogóle ma z tym wspólnego identyfikator użytkownika? Ponadto adres URL tak naprawdę nie rzuca światła na odpowiedź na pytanie.
kontr-

@ StéphaneChazelas Nie, oddzielni użytkownicy oznaczają oddzielne identyfikatory użytkowników. W bazie danych użytkowników może znajdować się wiele wpisów o różnych nazwach użytkowników dla tego samego identyfikatora użytkownika, ale wszyscy są tym samym użytkownikiem, współużytkują wszystkie konteksty bezpieczeństwa (własność pliku, sygnały itp.) I różnią się jedynie metodami logowania ( np. różne hasła i różne powłoki, ale prowadzące do tego samego konta).
Gilles

@Gilles, nie zgadzam się. Możesz mieć różnych użytkowników z tym samym UID, ale różnymi GID i dodatkowymi GID (zobacz, w jaki sposób członkowie / etc / group są przywoływani według nazwy, a nie UID), różne parametry logowania ... To coraz mniej powszechne, szczególnie biorąc pod uwagę, że rzeczy jak sudo, nie działają z tym dobrze.
Stéphane Chazelas

2

Algorytm jest taki sam. Nowoczesne zestawy cieni używają podłączanych modułów uwierzytelniania (PAM), a PAM pozwala skonfigurować jeden algorytm mieszający. Chodzi o „solenie”, co oznacza losowe hasło w celu uzyskania efektu, o który pytasz.

Solenie jest przeciwwagą dla ataków słownikowych, w których atakujący ze słownikiem znanych par hasło / hash próbuje dowiedzieć się, czy podana wartość skrótu dla nieznanego hasła odpowiada wartości skrótu dla jednego ze znanych haseł.

Solenie zapobiega temu, ponieważ inna wartość soli prowadzi do innej wartości skrótu, więc nie ma znaczenia, że ​​hasło jest równe. (Jest to jednak zła praktyka, ale z innych powodów.) Aby atak słownikowy zakończył się powodzeniem, atakujący musi teraz mieć słowniki dla każdej możliwej wartości soli. Prawdziwie losowa sól o wystarczającej wielkości sprawi, że prawdopodobieństwo takiego ataku będzie znikome.

Sugerowana lektura: Jak przechowywane są hasła w Linuksie (Zrozumienie haszowania za pomocą narzędzi-cieni)


0

W pliku cienia zobaczysz liczbę między $$ (powiedz 1 $ $ lub coś w tym rodzaju). Wskazuje, który algorytm mieszający jest używany przez twoją maszynę. Zidentyfikuj algorytm i zobacz, jak on działa. Na przykład 6 USD to SHA 512, który został zaprojektowany w taki sposób, że nawet jeśli 2 osoby mają to samo hasło, skrót hash ich hasła będzie inny.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.