Pierwszym i najważniejszym krokiem w kierunku zabezpieczenia serwerów i systemów Linux jest uniemożliwienie złośliwym stronom niepożądanego dostępu. Właściwa kontrola kont użytkowników to jeden z wielu sposobów na zwiększenie bezpieczeństwa systemu.

Wzmocnione konto użytkownika chroni system przed najczęstszymi metodami ataków, jakimi są poziome lub pionowe eskalacji uprawnień. Dlatego jako administrator systemu Linux jesteś również odpowiedzialny za ochronę serwera za pomocą skutecznych technik bezpieczeństwa.

W tym artykule omówiono podstawowe mechanizmy kontroli bezpieczeństwa kont użytkowników, aby zapobiec niepotrzebnemu dostępowi i naprawić możliwe luki w zabezpieczeniach systemu.

1. Ogranicz dostęp do konta głównego

Domyślnie każda instalacja systemu Linux zakłada konto root dostępne dla każdego z zewnątrz przez SSH. Jednak dostęp do konta root przez SSH lub dostęp wielu użytkowników w systemie może powodować problemy z odrzuceniem.

Na przykład atakujący może brutalną siłą zalogować się jako użytkownik root i uzyskać dostęp do systemu.

instagram viewer

Aby ograniczyć niepotrzebny dostęp do roota z wewnątrz/na zewnątrz systemu Linux, możesz:

  • Dodaj kolejnego użytkownika i nadaj mu uprawnienia roota
  • Wyłącz logowanie SSH root

Utwórz nowego superużytkownika

Do nadaj uprawnienia sudo lub root do zwykłego konta użytkownika Linuksa, dodaj użytkownika do sudo pogrupuj w następujący sposób:

usermod -aG nazwa użytkownika sudo

Teraz przełącz się na konto użytkownika za pomocą polecenia su i zweryfikuj jego uprawnienia roota, wydając polecenie dostępne tylko dla użytkownika root:

su - nazwa użytkownika
sudo systemctl restart sshd

Włączenie uprawnień sudo zapewnia kilka dobrych korzyści w zakresie bezpieczeństwa, takich jak:

  • Nie musisz udostępniać haseł root zwykłym użytkownikom.
  • Pomaga sprawdzić wszystkie polecenia wykonywane przez zwykłych użytkowników, co oznacza, że ​​przechowuje informacje o tym, kto, kiedy i gdzie wykonania polecenia w /var/log/secure plik.
  • Poza tym możesz edytować /etc/sudoers plik, aby ograniczyć uprawnienia administratora zwykłych użytkowników. Możesz użyć polecenia su-l aby sprawdzić aktualne uprawnienia roota użytkownika.

Wyłącz rootowanie logowania SSH

Aby wyłączyć rootowy dostęp SSH w systemie, najpierw otwórz główny plik konfiguracyjny.

sudo vim /etc/ssh/sshd_config

Teraz odkomentuj następujący wiersz, aby ustawić uprawnienia logowania roota na nie:

PermitRootZaloguj się nie

Zapisz plik i uruchom ponownie sshd obsługa wpisując:

sudo systemctl restart sshd

Teraz za każdym razem, gdy spróbujesz połączyć się z systemem przez SSH jako użytkownik root, otrzymasz następujący komunikat o błędzie:

Odmowa pozwolenia, spróbuj ponownie.

2. Ustaw daty wygaśnięcia kont

Innym skutecznym sposobem kontrolowania niepotrzebnego dostępu jest ustawienie dat wygaśnięcia kont utworzonych do tymczasowego użytku.

Na przykład, jeśli stażysta lub pracownik potrzebuje dostępu do systemu, możesz ustawić datę wygaśnięcia podczas tworzenia konta. Jest to środek zapobiegawczy na wypadek, gdy zapomnisz ręcznie usunąć lub usunąć konto po opuszczeniu organizacji.

Użyj chage polecenie z narzędzie grep aby pobrać szczegóły wygaśnięcia konta dla użytkownika:

chage -l nazwa użytkownika| konto grep

Wyjście:

Konto wygasa: nigdy

Jak pokazano powyżej, nie wyświetla daty ważności. Teraz użyj mod użytkownika polecenie z -mi flaga, aby ustawić datę wygaśnięcia w RRRR-MM-DD sformatować i zweryfikować zmianę za pomocą polecenia chage powyżej.

usermod -e 2021-01-25 nazwa użytkownika
chage -l nazwa użytkownika| konto grep

3. Popraw bezpieczeństwo hasła do konta

Egzekwowanie silnej polityki haseł jest ważnym aspektem zabezpieczania kont użytkowników, ponieważ słabe hasła umożliwiają atakującym łatwe włamanie się do systemów za pośrednictwem brutalna siła, słownik lub ataki na tęczową tablicę.

Wybór łatwego do zapamiętania hasła może zapewnić pewną wygodę, ale otwiera również możliwości atakującym na odgadnięcie hasła za pomocą dostępnych w Internecie narzędzi i list słów.

Ustaw datę ważności hasła

Co więcej, Linux oferuje kilka domyślnych opcji w środku /etc/logins.defs plik, który pozwala ustawić przedawnienie hasła do konta. Użyj chage polecenie i grep szczegóły wygaśnięcia hasła w następujący sposób:

chage -l nazwa użytkownika | dni grep
Zmienne Domyślna wartość Stosowanie Idealna wartość
PASS_MAX_DAYS 9999 Domyślna liczba dni na użycie hasła, która zależy od rodzaju konfiguracji konta 40
PASS_MIN_DAYS 0 Uniemożliwia użytkownikom natychmiastową zmianę hasła 5
PASS_MIN_LEN 5 Zmusza użytkownika do ustawienia haseł o określonej długości 15
PASS_WARN_AGE 0 Ostrzega użytkownika, aby zmienił hasło, zanim zostanie do tego zmuszony 7

W przypadku kont w użyciu możesz kontrolować starzenie się hasła za pomocą chage polecenie, aby ustawić PASS_MAX_DAYS, PASS_MIN_DAYS i PASS_WARN_AGE na 40, 5 i 7.

zmiana -M 40 -m 5 -W 7 nazwa użytkownika

Skróty hasła

Innym sposobem na wzmocnienie bezpieczeństwa hasła do konta jest przechowywanie w nim skrótów haseł plik /etc/shadow. Hasze to jednokierunkowe funkcje matematyczne, które przyjmują hasło jako dane wejściowe i wyprowadzają nieodwracalny ciąg znaków.

Wcześniej w systemach Linux za każdym razem, gdy użytkownik wprowadzał hasło w celu zalogowania, system generował swój skrót i porównywał go z hasłem zapisanym w /etc/passwd plik.

Istnieje jednak problem z dostępem do pliku passwd, co oznacza, że ​​każdy, kto ma dostęp do systemu, może odczytać plik i złamać skrót za pomocą tęczowych tablic.

Dlatego Linux zapisuje teraz skróty wewnątrz /etc/shadow plik z następującym zestawem uprawnień dostępu:

ls -l /etc/shadow
1 korzeń korzeń 1626 7 stycznia 13:56 /etc/shadow

Nadal możesz zainstalować Linuksa ze starymi sposobami przechowywania skrótów. Możesz to zmienić, uruchamiając pwconv polecenie, tak, że automatycznie zapisze skróty hasła do /etc/shadow plik. Podobnie możesz włączyć drugą metodę (/etc/passwd plik) za pomocą pwunconv Komenda.

4. Usuń nieużywane konta użytkowników

Zły aktor może wykorzystać nieużywane i wygasłe konta w systemie, odnawiając je i sprawiając, że wygląda jak prawdziwy użytkownik. Aby usunąć nieaktywne konto i powiązane dane za każdym razem, gdy użytkownik opuszcza organizację, najpierw znajdź wszystkie pliki powiązane z użytkownikiem:

znajdź / -nazwa użytkownika

Następnie wyłącz konto lub ustaw datę wygaśnięcia, jak omówiono powyżej. Nie zapomnij wykonać kopii zapasowej plików należących do użytkownika. Możesz wybrać przypisanie plików nowemu właścicielowi lub usunąć je z systemu.

Na koniec usuń konto użytkownika za pomocą polecenia userdel.

userdel -f nazwa użytkownika

5. Ogranicz zdalny dostęp do określonej grupy użytkowników

Jeśli hostujesz serwer WWW na swoim komputerze z systemem Linux, może być konieczne zezwolenie tylko określonym użytkownikom na zdalne SSH w systemie. OpenSSL pozwala ograniczać użytkowników poprzez sprawdzanie, czy należą oni do określonej grupy.

W tym celu utwórz grupę użytkowników o nazwie ssh_gp, dodaj użytkowników, którym chcesz przyznać zdalny dostęp do grupy, i wymień informacje o grupie użytkowników w następujący sposób:

sudo groupadd ssh_gp
sudo gpasswd - nazwa użytkownika ssh_gp
nazwa użytkownika grup

Teraz otwórz główny plik konfiguracyjny OpenSSL, aby uwzględnić dozwoloną grupę użytkowników ssh_gp.

sudo vim /etc/ssh/sshd_config
Zezwól na grupy ssh_gp

Pamiętaj, aby odkomentować linię, aby zapewnić pomyślne włączenie grupy. Po zakończeniu zapisz i zamknij plik, a następnie uruchom ponownie usługę:

sudo systemctl restart sshd

Utrzymywanie bezpieczeństwa konta użytkownika w systemie Linux

Obecnie większość organizacji hostuje krytyczne infrastruktury, takie jak serwery internetowe, zapory sieciowe i bazy danych Linux, a kompromis jakiegokolwiek komponentu wewnętrznego stanowi poważne zagrożenie dla całości infrastruktura.

Biorąc pod uwagę znaczenie konfiguracji, zarządzanie kontami użytkowników i zabezpieczanie ich jest podstawowym wyzwaniem, przed którym stają administratorzy Linuksa. W tym artykule wymieniono niektóre środki bezpieczeństwa, które administrator konta musi zastosować, aby chronić system przed potencjalnymi zagrożeniami z powodu niechronionych kont użytkowników.

Kompletny przewodnik po zarządzaniu użytkownikami w systemie Linux

Zarządzanie użytkownikami to kluczowe zadanie, w którym każdy administrator systemu Linux powinien być biegły. Oto kompletny przewodnik po zarządzaniu użytkownikami systemu Linux.

Czytaj dalej

UdziałĆwierkaćE-mail
Powiązane tematy
  • Linux
  • Bezpieczeństwo
  • Kontrola konta użytkownika
  • Bezpieczeństwo
  • Wskazówki dotyczące bezpieczeństwa
O autorze
Rumaisa Niazi (8 opublikowanych artykułów)

Rumaisa jest niezależnym pisarzem w MUO. Nosiła wiele kapeluszy, od matematyka po entuzjastę bezpieczeństwa informacji, a teraz pracuje jako analityk SOC. Jej zainteresowania obejmują czytanie i pisanie o nowych technologiach, dystrybucjach Linuksa i wszystkim, co dotyczy bezpieczeństwa informacji.

Więcej od Rumaisy Niazi

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować