Praktyczny przewodnik po bezpieczeństwie Linux – UFW, SELinux, AppArmor
Bezpieczeństwo systemów Linux jest kluczowe w środowiskach serwerowych i w pracy profesjonalnej. Nawet stabilny system może być podatny na ataki, jeśli nie zostaną wprowadzone odpowiednie mechanizmy ochrony. W tym przewodniku pokażemy, jak konfigurować zaporę UFW, stosować SELinux i AppArmor, audytować logi oraz przygotować checklistę bezpieczeństwa serwera Linux.
Konfiguracja zapory i reguł dostępu (UFW)
UFW (Uncomplicated Firewall) to popularne narzędzie do zarządzania regułami zapory w Linux, łatwe w użyciu, ale bardzo skuteczne.
Podstawowe komendy:
- Włączenie zapory:
sudo ufw enable
- Sprawdzenie statusu:
sudo ufw status verbose
- Pozwolenie na ruch HTTP/HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- Blokowanie konkretnego IP:
sudo ufw deny from 192.168.1.100
Najlepsze praktyki:
- Zawsze blokuj wszystkie niepotrzebne porty i usługi.
- Stosuj reguły tylko dla konkretnych adresów IP, jeśli to możliwe.
- Regularnie przeglądaj i aktualizuj reguły.
Audyt logów i reagowanie na zagrożenia
Logi systemowe są pierwszą linią obrony przed atakami. Najważniejsze lokalizacje i narzędzia w Linux:
/var/log/auth.log– logi logowań i prób uwierzytelnienia (Debian/Ubuntu)/var/log/secure– logi uwierzytelnienia w RedHat/CentOSjournalctl– systemd journal do przeglądania zdarzeń w czasie rzeczywistym
Dobre praktyki:
- Monitoruj logi codziennie lub automatycznie za pomocą skryptów.
- Używaj narzędzi SIEM (np. Graylog, ELK Stack) do analizy i alertów.
- Reaguj natychmiast na nietypowe logowania lub próby eskalacji uprawnień.

Porównanie SELinux i AppArmor
SELinux (Security-Enhanced Linux) i AppArmor to dwa główne systemy Mandatory Access Control (MAC) w Linux:
| Cecha | SELinux | AppArmor |
|---|---|---|
| Podejście | Polityki globalne i szczegółowe | Profile dla poszczególnych aplikacji |
| Trudność konfiguracji | Wysoka – wymaga nauki polityk | Łatwiejsze do wdrożenia dla początkujących |
| Domyślnie | Fedora, RHEL, CentOS | Ubuntu, Debian |
| Zalety | Bardzo wysoki poziom kontroli | Łatwe w użyciu i szybkie do konfiguracji |
| Wady | Trudne debugowanie, strome krzywe uczenia | Mniej szczegółowa kontrola, mniej rozbudowana dokumentacja |
Najlepsza praktyka:
- Wybierz system MAC zgodny z dystrybucją i potrzebami.
- Monitoruj alerty i logi z SELinux/AppArmor, a nie tylko włącz polityki.
Checklist bezpieczeństwa serwera Linux
- Aktualizacje systemu i pakietów – regularnie stosuj
apt update && apt upgradelubyum update. - Zapora UFW / firewalld – blokuj niepotrzebne porty, ogranicz dostęp zdalny.
- Kontrola użytkowników i grup – usuń lub zablokuj nieużywane konta, stosuj zasadę najmniejszych uprawnień.
- SELinux / AppArmor – włącz i monitoruj polityki bezpieczeństwa.
- SSH – wyłącz logowanie root, stosuj uwierzytelnianie kluczami, zmień port domyślny.
- Monitorowanie logów – regularny audyt
/var/log/i alerty na nietypowe zdarzenia. - Backup danych – automatyczny backup krytycznych plików i konfiguracji.
- Antywirus / skanowanie rootkitów – ClamAV, rkhunter, chkrootkit.
- Ograniczenia procesów – cgroups, ograniczenie uprawnień do procesów i plików.
- Regularny test bezpieczeństwa – skanowanie portów, audyt konfiguracji, test penetracyjny.
Podsumowanie
Bezpieczeństwo Linuxa wymaga kombinacji zapory, kontroli MAC, audytu logów i dobrej polityki użytkowników.
Stosując się do checklisty, można znacząco zredukować ryzyko ataków, nawet w środowisku serwerowym lub produkcyjnym.





