Od sześciu dekad hasła stanowią fundament bezpieczeństwa kont, a ich historia sięga czasów sprzed około dziesięciu lat przed powstaniem systemu Unix. W tym artykule dowiesz się, jak zarządzać hasłami w systemie Linux, korzystając zarówno z wiersza poleceń, jak i środowiska graficznego GNOME.
Jak stworzyć mocne hasło
Wprowadzenie haseł do komputerów było odpowiedzią na rosnącą potrzebę zabezpieczania danych. Z rozwojem systemów komputerowych z wieloma użytkownikami, konieczność ochrony prywatnych informacji stała się kluczowa, co sprawiło, że hasła zaczęły pełnić istotną rolę.
Mimo że hasła pozostają najczęściej używaną metodą uwierzytelniania, uwierzytelnianie dwuskładnikowe i wieloskładnikowe znacznie podnosi bezpieczeństwo, a uwierzytelnianie biometryczne stanowi alternatywę. Niemniej jednak tradycyjne hasła są wciąż obecne i będą w użyciu przez dłuższy czas. Dlatego ważne jest, aby wiedzieć, jak tworzyć i stosować hasła w sposób właściwy, unikając przestarzałych praktyk.
Oto kluczowe zasady dotyczące tworzenia haseł:
Unikaj prostych haseł: zamiast tego stwórz hasło składające się z trzech lub czterech niepowiązanych słów, oddzielonych znakami interpunkcyjnymi, symbolami lub cyframi, co znacznie utrudni jego złamanie w porównaniu do banalnego ciągu znaków lub hasła, w którym samogłoski są zastąpione cyframi.
Nie stosuj tych samych haseł: nie używaj ich ponownie w tym samym lub różnych systemach.
Nie dziel się swoimi hasłami: hasła są prywatne i nie powinny być udostępniane innym osobom.
Nie używaj osobistych informacji jako podstawy swojego hasła: unikaj nazwisk członków rodziny, ulubionych zespołów sportowych czy innych danych, które można łatwo znaleźć w mediach społecznościowych.
Nie stosuj prostych wzorców: nie opieraj haseł na łatwych do odgadnięcia układach, takich jak qwerty, 1q2w3e itp.
Praktyka dotycząca wygasania haseł uległa zmianie. Jeśli stosujesz silne i bezpieczne hasła, powinieneś je zmieniać tylko w przypadku podejrzenia, że mogły zostać naruszone. Częsta zmiana haseł może prowadzić do kiepskich wyborów, ponieważ wiele osób korzysta z tego samego hasła i jedynie dodaje na końcu datę lub cyfrę.
W Narodowym Instytucie Standardów i Technologii znajdują się obszerne materiały dotyczące haseł oraz identyfikacji i uwierzytelniania użytkowników, dostępne publicznie w Publikacji specjalnej 800-63-3: Wytyczne dotyczące cyfrowego uwierzytelniania.
Plik passwd
W przeszłości systemy Unix przechowywały hasła, razem z innymi informacjami o każdym koncie, w pliku „/etc/passwd”. Choć plik ten nadal zawiera dane o kontach, zaszyfrowane hasła są teraz przechowywane w pliku „/etc/shadow”, do którego dostęp mają tylko uprawnieni użytkownicy. Natomiast każdy może przeglądać plik „/etc/passwd”.
Aby zobaczyć zawartość pliku „/etc/passwd”, użyj następującego polecenia:
less /etc/passwd
Wyświetli się zawartość pliku. Przyjrzyjmy się szczegółom konta o nazwie „Mary”.
Każdy wiersz odpowiada jednemu kontu (lub programowi, który korzysta z konta „użytkownika”). Plik ten zawiera siedem pól oddzielonych dwukropkami:
Nazwa użytkownika: identyfikator logowania.
Hasło: „x” oznacza, że hasło jest przechowywane w pliku /etc/shadow.
Identyfikator użytkownika: unikalny identyfikator użytkownika.
Identyfikator grupy: unikalny identyfikator grupy.
GECOS: To pole odnosi się do General Electric Comprehensive Operating System. Współcześnie pole GECOS zazwyczaj zawiera informacje o koncie, takie jak imię i nazwisko, numer pokoju czy telefony kontaktowe.
Katalog domowy: ścieżka do katalogu głównego konta.
Powłoka: skrypt wykonywany w momencie logowania do systemu.
Puste pola są reprezentowane przez podwójne dwukropki.
Warto wspomnieć, że polecenie finger używa informacji z pola GECOS.
finger mary
Plik shadow
Aby uzyskać dostęp do pliku „/etc/shadow”, należy użyć sudo:
sudo less /etc/shadow
W pliku tym wyświetli się zawartość. Dla każdego wpisu w pliku „/etc/passwd” powinien istnieć odpowiadający wpis w pliku „/etc/shadow”.
Każdy wiersz przedstawia jedno konto i składa się z dziewięciu pól oddzielonych dwukropkami:
Nazwa użytkownika: identyfikator logowania.
Zaszyfrowane hasło: zaszyfrowane hasło do danego konta.
Ostatnia zmiana: data ostatniej aktualizacji hasła.
Minimalna liczba dni: minimalny czas, który musi upłynąć przed kolejną zmianą hasła. Użytkownik musi poczekać określoną liczbę dni, zanim będzie mógł zmienić swoje hasło. Jeśli w tym polu znajduje się zero, hasło może być zmieniane bez ograniczeń.
Maksymalna liczba dni: maksymalny czas, jaki musi upłynąć przed kolejną zmianą hasła. Zwykle wartość ta jest bardzo wysoka. Dla konta „mary” wynosi 99 999 dni, co odpowiada ponad 27 latom.
Dni ostrzeżenia: liczba dni przed wygaszeniem hasła, w trakcie których wyświetlane jest przypomnienie.
Zablokowanie resetu: po wygaśnięciu hasła system czeka przez określony czas (okres karencji), zanim zablokuje konto.
Data wygaśnięcia konta: termin, po którym właściciel konta nie ma możliwości logowania. Jeśli pole jest puste, konto nigdy nie wygasa.
Pole rezerwowe: puste pole do ewentualnego wykorzystania w przyszłości.
Puste pola również reprezentowane są przez podwójne dwukropki.
Odczytywanie daty z pola „Ostatnia zmiana”
Epoka uniksowa rozpoczęła się 1 stycznia 1970 roku. Wartość w polu „Ostatnia zmiana” to 18 209, co oznacza liczbę dni od 1 stycznia 1970 roku, kiedy hasło konta „mary” zostało zmienione.
Aby wyświetlić wartość „Ostatnia zmiana” jako datę, użyj poniższego polecenia:
date -d "1970-01-01 18209 days"
Data wyświetli się jako północ w dniu ostatniej zmiany hasła. W tym przypadku było to 9 listopada 2019 roku.
Użycie polecenia passwd
Za pomocą polecenia passwd możesz zmienić swoje hasło oraz, jeśli masz odpowiednie uprawnienia, hasła innych użytkowników.
Aby zmienić hasło, po prostu wpisz polecenie passwd bez dodatkowych parametrów:
passwd
Musisz dwukrotnie wprowadzić swoje aktualne oraz nowe hasło.
Zmiana hasła innego użytkownika
Aby zmienić hasło dla innego konta, użyj sudo oraz podaj nazwę użytkownika:
sudo passwd mary
Musisz wpisać swoje hasło, aby potwierdzić, że masz odpowiednie uprawnienia. Następnie wprowadź nowe hasło dla konta i potwierdź je.
Wymuszanie zmiany hasła
Aby wymusić na kimś zmianę hasła przy następnym logowaniu, użyj opcji -e (expire):
sudo passwd -e mary
Otrzymasz informację, że data ważności hasła została zmieniona.
Kiedy użytkownik „mary” zaloguje się ponownie, będzie zobowiązany do zmiany swojego hasła:
Blokowanie konta
Aby zablokować konto, użyj polecenia passwd z opcją -l (lock):
sudo passwd -l mary
Otrzymasz informację, że data ważności hasła została zmieniona.
Właściciel konta nie będzie mógł już zalogować się do systemu przy użyciu swojego hasła. Aby odblokować konto, użyj opcji -u (unlock):
sudo passwd -u mary
Ponownie zostaniesz poinformowany o zmianie daty ważności hasła:
Mimo że właściciel konta nie będzie mógł używać hasła, wciąż będzie mógł zalogować się za pomocą metod uwierzytelniania, które nie wymagają hasła, jak np. klucze SSH. Jeśli chcesz całkowicie zablokować dostęp danej osobie, musisz wygasnąć jej konto.
Polecenie chage
Nie chodzi o zamianę „n”. Oznacza to „zmiana wieku”. Użyj polecenia chage, aby ustawić datę wygaśnięcia konta.
Sprawdźmy aktualne ustawienia konta „mary” za pomocą opcji -l (lista):
sudo chage -l mary
Data wygaśnięcia konta jest ustawiona na „nigdy”.
Aby zmienić datę wygaśnięcia, użyj opcji -E (expiration). Ustawiając ją na zero, zinterpretujesz to jako „zero dni od epoki uniksowej”, co oznacza 1 stycznia 1970 roku.
Wpisz poniższe polecenie:
sudo chage -E0 mary
Sprawdź ponownie datę wygaśnięcia konta:
sudo chage -l mary
Ponieważ data wygaśnięcia już minęła, konto jest teraz całkowicie zablokowane, niezależnie od metody uwierzytelniania, której użytkownik może używać.
Aby przywrócić konto, użyj tego samego polecenia z wartością -1 jako parametrem liczbowym:
sudo chage -E -1 mary
Wpisz poniższe polecenie, aby sprawdzić ponownie:
sudo chage -l mary
Data wygaśnięcia konta została zresetowana do „nigdy”.
Zmiana hasła w GNOME
Ubuntu oraz wiele innych dystrybucji Linuksa korzysta z GNOME jako domyślnego środowiska graficznego. Możesz zmienić hasło konta, korzystając z okna dialogowego „Ustawienia”.
Aby to zrobić, kliknij ikonę Ustawienia w menu systemowym.
W oknie dialogowym Ustawienia kliknij „Szczegóły” w lewym panelu, a następnie wybierz „Użytkownicy”.
Kliknij konto, dla którego chcesz zmienić hasło; w tym przypadku wybierz „Mary Quinn”. Następnie kliknij „Odblokuj”.
Wprowadź swoje hasło, aby potwierdzić tożsamość. Po uwierzytelnieniu szczegóły konta „Mary” staną się dostępne do edycji. Kliknij pole „Hasło”.
W oknie dialogowym „Zmień hasło” zaznacz opcję „Ustaw hasło teraz”.
Wprowadź nowe hasło w polach „Nowe hasło” i „Potwierdź nowe hasło”.
Jeśli oba hasła są zgodne, przycisk „Zmień” zmienia kolor na zielony; kliknij go, aby zapisać nowe hasło.
W innych środowiskach graficznych proces zmiany hasła będzie podobny do tego w GNOME.
Bądź ostrożny, bądź bezpieczny
Hasła od sześciu dekad stanowią kluczowy element bezpieczeństwa kont online i nie znikną w najbliższym czasie.
W związku z tym ważne jest, aby odpowiednio je zarządzać. Zrozumienie mechanizmów haseł w systemie Linux oraz stosowanie najlepszych praktyk zapewni bezpieczeństwo Twojego systemu.
newsblog.pl