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.
GO TO FULL VERSION