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.
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.
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
- Linux
- Bezpieczeństwo
- Kontrola konta użytkownika
- Bezpieczeństwo
- Wskazówki dotyczące bezpieczeństwa
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.
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ć