LFCA Jak poprawić bezpieczeństwo systemu Linux - część 20

LFCA Jak poprawić bezpieczeństwo systemu Linux - część 20

Jak wszyscy wiemy, głównym użytkownikiem jest król i posiada nieograniczone uprawnienia do systemu Linux. Jednak użytkownicy nie-root są ograniczeni do podstawowych zadań. Ponadto użytkownicy Sudo mają tylko pewien stopień uprawnień root, które uznane za dopasowane przez użytkownika root do wykonywania określonych podwyższonych zadań.

Problemy pojawiają się, gdy zwykli użytkownicy mają niekontrolowany dostęp do zasobów lub są eskalowani do rdzenia nieumyślnie. Jest to poważne ryzyko bezpieczeństwa, które może spowodować naruszenia, niepożądane modyfikacje i w najgorszym przypadku, awarie systemu. Innym potencjalnym ryzykiem jest to, że pliki mają mniej bezpieczne uprawnienia do plików. Na przykład pliki rozruchowe z uprawnieniami do zapisu dla użytkowników globalnych można łatwo zmodyfikować lub uszkodzić, co spowodowało uszkodzony system.

[Może się również podobać: przydatne wskazówki dotyczące zabezpieczenia danych i Linux]

Chociaż możemy wdrażać bezpieczeństwo fizyczne, sieciowe i dane, złośliwy użytkownik może obejść środki bezpieczeństwa i skorzystać z takich luk bezpieczeństwa. Z tego powodu bezpieczeństwo systemu plików należy traktować poważnie. Zapewnia dodatkową warstwę obrony w obliczu ataków lub zagrożeń poufnych ze strony złośliwych pracownik.

W bezpieczeństwie systemowym skoncentrujemy się na następujących kluczowych punktach:

  • Prawa dostępu - uprawnienia użytkownika i grupy.
  • Zastosuj zasady haseł za pomocą modułu PAM.

Prawa dostępu - rozdział użytkownika i grupy

Prawdopodobnie musiałeś słyszeć, że wszystko w Linux jest uważane za plik. A jeśli tak nie jest, to proces. Każdy plik w systemie Linux jest własnością użytkownika i użytkownika grupy. Nosi również uprawnienia plików dla 3 kategorii użytkowników: użytkownika (u), Grupa (G), i inni (o). Uprawnienia są reprezentowane w odczytaniu, zapisu i wykonaniu ( RWX ) Dla każdej kategorii użytkownika.

RWX RWX RWX Grupa użytkowników innych 

Jak widać wcześniej, w sekcji Podstawy Linuksa można wyświetlić uprawnienia plików za pomocą długiego formatu polecenia LS, jak pokazano.

$ ls -l 
Wymień pliki w Linux

Po prostu podsumowując, uprawnienia są zwykle reprezentowane przez dziewięć znaków. Pierwsze trzy znaki reprezentują prawa dostępu do rzeczywistego użytkownika posiadającego plik. Drugi zestaw znaków reprezentuje uprawnienia właściciela grupy pliku. Wreszcie ostatni zestaw dla innych lub globalnych użytkowników. Te znaki są wiecznie w Czytać, pisać, wykonać (RWX) zamówienie.

Po uprawnieniach mamy właściciele użytkowników i grupy, a następnie rozmiar pliku lub katalogu, datę modyfikacji, a na koniec nazwę pliku.

Zmiana uprawnień do plików/katalogu i własności

Uprawnienia użytkowników plików i katalogów można modyfikować jako uznane za dopasowanie. Zasadą jest użycie zasady bezpieczeństwa najmniejszego uprzywilejowania. Mówiąc wprost, upewnij się, że użytkownicy otrzymają minimalne prawa do dostępu lub uprawnienia wymagane do wykonania pracy.

Zasada najmniejszych uprawnień ogranicza tylko użytkowników do niektórych ról, a dzięki temu minimalizuje ryzyko dostępu do ataków i modyfikowania danych krytycznych poprzez wykorzystanie konta użytkownika o niskim poziomie. Zmniejsza także powierzchnię ataku i ogranicza propagację złośliwego oprogramowania w przypadku, gdy atakujący przejmuje kontrolę nad systemem.

Dlatego jeśli użytkownik musi tylko wyświetlić zawartość pliku lub katalogu, nie należy go przyznać, wykonując lub zapisz uprawnienia. Na bardzo podstawowym poziomie udzielaj najmniejszych uprawnień i właścicieli wymaganych przez użytkownika do wykonania zadań. Rozwiązaliśmy, jak modyfikować uprawnienia użytkownika i właściciela w plikach/katalogach za pomocą poleceń CHMOD i Chown w podstawowym tematyce poleceń Linux.

Tryb zezwolenia bitowego

Aby administrator systemu miał łatwiejsze zarządzanie uprawnieniami, na całe katalog. Jednym z specjalnych uprawnień, które można zastosować w celu ograniczenia usunięcia i modyfikacji pliku lub katalogu, jest bit lepki.

Lepki kawałek

W scenariuszu, w którym wszyscy użytkownicy w systemie lub w sieci mogą uzyskać dostęp do udostępnionego katalogu, istnieje potencjalne ryzyko, że niektórzy użytkownicy mogą usunąć lub zmodyfikować pliki w katalogu. Jest to niepożądane, jeśli chcesz zachować integralność zawartości katalogu. I tutaj pojawia się lepki kawałek.

Lepki bit to specjalne uprawnienia do pliku w pliku lub w całym katalogu. Daje tylko właściciela tego pliku/katalogu Zezwolenie na usunięcie lub wprowadzanie zmian w pliku lub zawartości katalogu. Żaden inny użytkownik nie może usunąć ani modyfikować katalogu pliku/. Ma symboliczną wartość T i wartość liczbowa 1000.

Aby włączyć lepki bit w katalogu, użyj polecenie chmod następująco:

$ chmod +t Directory_name 

W poniższym przykładzie zastosowaliśmy lepki bit do katalogu nazywanego test. W przypadku katalogu cała zawartość odziedziczy lepkie uprawnienia do bitów. Możesz zweryfikować lepkie uprawnienia do bitów za pomocą ls -ld Komenda. Pamiętaj, aby zauważyć T symbol na końcu uprawnień pliku.

test $ ls -ld 
Ustaw lepki bit w Linux

Jeśli inny użytkownik próbuje usunąć katalog lub zmodyfikować plik wewnątrz katalogu, są powitane Zezwolenie odrzucone błąd.

Odmowa zezwolenia bitowego

I to jest sedno zgody na plik bitowy.

Monitorowanie uprawnień Suid & SGID

Suid (Ustaw identyfikator użytkownika) to kolejna specjalna zgoda pliku, która umożliwia innego zwykłego użytkownika uruchomienie pliku z uprawnieniami pliku właściciela pliku. Zazwyczaj jest to oznaczane przez wartość symboliczną S za część uprawnień plików użytkownika zamiast X który reprezentuje uprawnienia do wykonania. Suid ma wartość liczbową 4000.

SGID, (Ustaw identyfikator grupy) pozwala zwykłemu użytkownikowi odziedziczyć uprawnienia grupy właściciela grupy plików. Niż X W celu wykonania uprawnień zobaczysz S w grupie części uprawnień plików. SGID ma wartość liczbową 2000.

Jakkolwiek okazują się wygodne, Suid I SGID Uprawnienia są powiązane z zagrożeniami bezpieczeństwa i należy ich unikać za wszelką cenę. Dzieje się tak, ponieważ udzielają specjalnych przywilejów zwykłym użytkownikom. Jeśli intruz udany jako zwykły użytkownik pojawia się plikiem wykonywalne należące Suid Bit na nim, mogą użyć tej luki i wykorzystać system.

Aby znaleźć wszystkie pliki za pomocą Suid bit ustawiony w Linux Uruchom polecenie Znajdź jako użytkownik root.

$ find / -perm -4000 typ -f 

W przypadku katalogów uruchom:

$ find / -perm -4000 typ -d 

Aby znaleźć wszystkie pliki za pomocą SGID Bit Set Run:

$ find / -perm -2000 typ -f 

W przypadku katalogów Wykonaj:

$ find / -perm -2000 typ -d 

Aby usunąć Suid Utknij w pliku, uruchom polecenie CHMOD, jak pokazano:

$ chmod u-s/ścieżka/do/plik 

Aby usunąć bit SGID na pliku, wykonaj polecenie:

$ chmod g-s nazwa pliku/ścieżka/do/pliku 

Zastosuj zasady haseł za pomocą modułu PAM

Często zdarza się, że użytkownicy ustawiają słabe hasła. Dobry ustawiony liczba krótkich, prostych i łatwych do zgadywania haseł, aby uniknąć ich zapominania podczas logowania. Chociaż wygodne, słabe hasła można łatwo naruszyć za pomocą skryptów ataku brutalnej siły.

Pam moduł ( Moduł uwierzytelniania wtyczki ) to moduł, który umożliwia administratorom systemu egzekwowanie zasad haseł w systemach Linux. Aby to osiągnąć, potrzebujesz pam_pwquali moduł dostarczany przez libpam_pwquality biblioteka. pam_pwquali Moduł sprawdza siłę hasła w stosunku do zestawu reguł i słownika systemowego i wskazuje słabe wybory haseł.

Aby zainstalować pam_pwquali moduł na Ubuntu 18.04 a później wersje, uruchom:

$ sudo apt Zainstaluj libpam_pwquality 

Dla RHEL / CENTOS 8, Uruchom polecenie:

$ sudo dnf instaluj libpwQuality 

Plik konfiguracyjny znajduje się w następującej lokalizacji:

  • O Systems Debian - /etc/pam.D/Common-Password
  • Na systemach Redhat - /etc/pam.D/System-Auth

Konfigurowanie zasad haseł

Zanim zaczniemy modyfikować Pam Plik konfiguracyjny, najpierw rozważmy zebranie spostrzeżeń na temat sterowania starzeniem haseł.

Szczegóły dotyczące starzenia hasła

Można je znaleźć w /etc/login.def plik.

Plik zawiera następujące kluczowe sterowanie hasłem:

  • PASS_MAX_DAYS: Maksymalna liczba dni można użyć hasła.
  • PASS_MIN_DAYS: Minimalna liczba. dni dozwolonych między zmianami haseł.
  • PASS_WARN_AGE: Liczba dni ostrzeżenia podane przed wygaśnięciem hasła.

Wartości domyślne są wskazane poniżej.

Starzenie się hasła Linux

PASS_MAX_DAYS Atrybut ogranicza liczbę dni, w których użytkownik może użyć swojego hasła. Po osiągnięciu tej wartości lub hasło wygasa, użytkownik jest zmuszony zmienić hasło, aby zalogować się do systemu. Domyślnie ta wartość jest ustawiona 99999, co tłumaczy się 273 lata. Nie ma to większego sensu, jeśli chodzi o bezpieczeństwo, ponieważ użytkownik może nadal używać swojego hasła przez całe życie.

Możesz ustawić to na znaczącą wartość, powiedzmy 30 dni, jak pokazano.

Pass_max_Days 30 

Po 30 dniach użytkownik będzie zmuszony zmienić hasło na inne.

PASS_MIN_DAYS Atrybut określa minimalny czas trwania, w którym użytkownicy mogą użyć hasła przed jego zmianą. Co to znaczy? Jeśli na przykład wartość ta jest ustawiona na 15 dni, użytkownik nie będzie mógł ponownie zmienić hasła przed upływaniem 15 dni.

PASS_MAX_DAYS 15 

PASS_WARN_AGE Atrybut określa liczbę dni, w których użytkownik otrzyma ostrzeżenie o zbliżającym się wygaśnięciu hasła, zanim wygasa. Na przykład możesz ustawić to na 7 dni, jak pokazano.

PASS_MAX_DAYS 7 

NOTATKA: Te sterowanie hasłem nie działają z wcześniej istniejącymi kontami. Są one stosowane tylko do nowych kont utworzonych po zdefiniowaniu zasad.

Ustawianie złożoności hasła z modułem PAM

Zanim edytujesz /etc/pam.D/Common-Password Plik, utwórz kopię kopii zapasowej. W tym przykładzie stworzyliśmy Wspólne hasło.Bak Plik kopii kopii zapasowej.

$ sudo cp /etc /pam.D/Common-Password/Etc/Pam.D/Common-Password.Bak 

Następnie otwórz plik.

$ sudo vim /etc /pam.D/Common-Password 

Znajdź linię pokazaną poniżej.

Wymagane hasło pam_pwquality.Więc ponowne = 3 
Ustawianie złożoności hasła z PAM

spróbować ponownie Opcja ustawia maksymalną liczbę razy, aby wprowadzić odpowiednie hasło przed uzyskaniem błędu. Domyślnie jest to ustawione na 3. To tylko jedna opcja i uwzględnimy kilka opcji.

Dodaj następujące atrybuty do wiersza:

minlen = 10 difok = 3 lcredit = -1 ucredit = -1 dcredit = -1 ocredit = -1 reject_username 

Wyprowadźmy te atrybuty.

  • Minlen = 10: Ustawia minimalny dopuszczalny rozmiar hasła. W tym przypadku 10 znaków.
  • Difok = 3: To maksymalna liczba znaków obecnych w poprzednim hasłach.
  • lcredit = -1: Jest to minimalna liczba małych znaków, które powinny być obecne w hasłach.
  • ucredit = -1: To maksymalna liczba małych znaków, które powinny być obecne w hasłach.
  • dcredit = -1: Minimalna liczba znaków liczbowych, które należy zdefiniować w hasłach.
  • OCREDIT = -1: Minimalna liczba znaków specjalnych e.g @, #, i to powinno być zdefiniowane w hasłach.
  • Odrzuć_username: Ta opcja uruchamia odrzucenie hasła, jeśli hasłem jest nazwa użytkownika w formacie prostym lub odwrotnym.

Jeśli spróbujesz utworzyć nowego użytkownika, który nie ma zasad haseł, wpadniesz na takie błędy, jakie pokazano.

Utwórz nowego użytkownika w Linux
Streszczenie

To kończy temat ogólnie na podstawie podstaw bezpieczeństwa i bezpieczeństwa. W całym rozdziale rzuciliśmy światło na podstawowe środki bezpieczeństwa, które można wdrożyć, aby zabezpieczyć system Linux przed złośliwymi użytkownikami, takimi jak hakerzy lub niezadowoleni pracownicy.

Zostań Certyfikowaną Fundacją Linux IT Associate (LFCA)