CodeGym /Kursy /Docker SELF /Podstawy bezpieczeństwa w Linux

Podstawy bezpieczeństwa w Linux

Docker SELF
Poziom 5 , Lekcja 0
Dostępny

Podstawy bezpieczeństwa w Linux

1. Zasady bezpieczeństwa w Linux

Bezpieczeństwo w Linux to przede wszystkim strategia "minimalizacji uprawnień" i solidna kontrola dostępu. Wyobraź sobie Linux jako wielowarstwową obronę twierdzy: im dalej wchodzisz, tym więcej kontroli. Ale najpierw omówmy trzy podstawowe elementy, na których opiera się bezpieczeństwo systemu.

Podział praw dostępu: użytkownicy, grupy i root

Sekret stabilności i bezpieczeństwa Linux to ścisły podział praw dostępu. W systemie są trzy typy obiektów:

  • Użytkownicy (users): indywidualne konta. To jak uczestnicy rodzinnej imprezy — każdy ma swoją przepustkę.
  • Grupy (groups): zestawy użytkowników. Niektóre zadania wymagają jednej przepustki dla całej grupy — na przykład do dostępu do wspólnego katalogu "Zdjęcia babci".
  • Root: superużytkownik z pełnymi uprawnieniami. Root to jak Superman w twoim świecie Linux. Może wszystko, co oznacza zarówno supermoc, jak i superodpowiedzialność.

Linux wykorzystuje ten model do ograniczania dostępu do plików, aplikacji czy funkcji systemowych. Nawet jeśli ktoś włamie się do systemu jako zwykły użytkownik, nie będzie mógł zaszkodzić jądru lub krytycznym plikom.

Minimalizacja uprawnień

Nie rozdawaj dostępu root każdemu. Wyobraź sobie, że wszyscy pracownicy twojego biura mają klucze do sejfu z pieniędzmi. Ktoś na pewno je zgubi. W Linux obowiązuje zasada: przyznawaj użytkownikom tylko te prawa, które są niezbędne do wykonywania ich zadań.

Główne zagrożenia bezpieczeństwa

  • Wirusy: tak, tak, Linux też nie jest idealnie chroniony, ale wirusy występują tu rzadziej dzięki architekturze systemu.
  • Ataki przez sieć: włamania do SSH, ataki DDoS, podmiana DNS.
  • Luki w oprogramowaniu: stare pakiety i niezabezpieczone biblioteki mogą stanowić furtkę dla intruzów.

2. Zapobieganie zagrożeniom

Teraz omówmy ważne kroki, aby twój serwer Linux dalej służył ci jak należy, a nie stał się narzędziem hakerów.

Regularne aktualizowanie systemu

Przykład z życia: aktualizacje systemu — to jak aktualizacja antywirusa. Bez tego nawet najnowocześniejsza ochrona okaże się bezużyteczna przeciwko nowym zagrożeniom. Komenda:

sudo apt update && sudo apt upgrade

pomaga utrzymać twojego Linuxa w dobrej formie.

Kontrola dostępu do ważnych plików

Są pliki, które lepiej ukryć przed ciekawskimi. Na przykład plik /etc/sudoers — to lista użytkowników z dostępem do uprawnień administracyjnych. Edytować go można tylko przez visudo, aby uniknąć przypadkowych błędów.

Ograniczenie dostępu root

Wiesz, że root — to potęga, ale nie należy nadużywać. Lepiej pracować jako zwykły użytkownik i w razie potrzeby korzystać z sudo, aby tymczasowo uzyskać uprawnienia.


3. Narzędzia bezpieczeństwa

Jakie narzędzia w Linuxie pomogą ci w walce o bezpieczeństwo? Spójrzmy na wbudowane i zewnętrzne rozwiązania.

Wbudowane mechanizmy

  • firewalld i iptables: zapory sieciowe do zarządzania ruchem sieciowym. Brzmi skomplikowanie, ale to rozkminimy!
  • SELinux (Security-Enhanced Linux): specjalny dodatek, który sprawdza, jakie procesy mają prawo dostępu do plików.
  • ACL (Access Control Lists): rozszerzona wersja standardowych praw dostępu.

Zewnętrzne narzędzia

  • Lynis: narzędzie do audytu bezpieczeństwa.
  • OpenSCAP: zestaw narzędzi do sprawdzania zgodności systemów ze standardami bezpieczeństwa.

Konfigurowanie polityki haseł

Jak trudne jest twoje hasło... oj, nie mów! Lepiej od razu zapewnić solidną politykę haseł. Minimalną długość i złożoność hasła ustawisz za pomocą PAM.

sudo nano /etc/security/pwquality.conf

Przykład parametrów:

minlen = 12
minclass = 3

4. Praktyczny przykład: podstawowa konfiguracja bezpieczeństwa

Zwij rękawy! Skonfigurujemy prostą politykę bezpieczeństwa dla systemu testowego.

Rejestracja użytkowników

Utworzymy dwóch użytkowników: administratora i zwykłego użytkownika.

sudo adduser admin
sudo adduser user1
sudo usermod -aG sudo admin

Teraz admin ma prawa administracyjne, a user1 — nie.

Kontrola dostępu do ważnych plików

Ograniczymy dostęp do konfiguracji Nginx:

sudo chmod 600 /etc/nginx/nginx.conf

Praca z zaporą sieciową

Zainstalujemy i skonfigurujemy ufw (Uncomplicated Firewall), aby chronić nasz serwer:

sudo apt install ufw
sudo ufw enable

Zezwolimy tylko na ruch SSH i HTTP:

sudo ufw allow 22
sudo ufw allow 80

Włączymy sprawdzenie:

sudo ufw status

5. Typowe błędy

Kiedy mówimy o bezpieczeństwie, ważne jest nie tylko wiedzieć, co robić, ale także rozumieć, czego unikać.

Błąd 1: Praca na koncie root

Wielu początkujących z lenistwa pracuje na koncie root. To niebezpieczne: każdy błąd lub włamanie może być fatalne dla systemu.

Błąd 2: Nieaktualne pakiety

Jak powiedział pewien admin: "Jedyny dobry serwer to aktualny serwer". Stare oprogramowanie to idealny cel ataków.

Błąd 3: Niebezpieczne hasła

"password123" — to jedno z najpopularniejszych haseł. Nie bądź osobą, która go używa.


6. Praktyczne zastosowanie: po co to wszystko?

Konfiguracja bezpieczeństwa Linux przyda ci się nie tylko w pracy, ale też na rozmowie kwalifikacyjnej. Znajomość podstaw pracy z firewallem, SELinux i konfiguracją praw dostępu robi wrażenie na pracodawcach. Na przykład, będziesz mógł chronić serwer firmy przed atakami DDoS albo skonfigurować uprawnienia do pracy zespołowej nad projektami.

Jeśli zajmujesz się programowaniem, to ochrona systemu oznacza, że twój kod nie trafi do konkurencji, a dane klientów pozostaną bezpieczne. To nie tylko paranoja znad Amuru, ale realna potrzeba współczesnej branży.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION