Linux uznawany jest za jeden z najbezpieczniejszych systemów operacyjnych na świecie, ale nie oznacza to, że jest całkowicie odporny na zagrożenia. Jak każdy system podłączony do sieci, jest narażony na potencjalne ataki. Dobrą wiadomością jest to, że istnieją proste i skuteczne metody na zwiększenie poziomu bezpieczeństwa każdej dystrybucji Linuksa — od Ubuntu, przez Fedora, aż po Arch. Poniżej prezentujemy pięć kluczowych kroków, które warto zastosować na każdym komputerze lub serwerze pracującym pod kontrolą Linuksa.
1. Regularne aktualizacje to podstawa bezpieczeństwa
Najłatwiejszym i jednocześnie jednym z najważniejszych nawyków, jaki powinien przyjąć każdy użytkownik Linuksa, jest regularne aktualizowanie systemu oraz wszystkich zainstalowanych pakietów. Twórcy systemu zazwyczaj błyskawicznie reagują na nowe zagrożenia, udostępniając łatki eliminujące podatności. Niestety wielu użytkowników zapomina o aktualizacjach, co znacząco zwiększa ryzyko ataku.
Można ułatwić sobie życie, tworząc alias w pliku ~/.bash_aliases
. Przykład:
alias update="sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove -y"
Wystarczy wpisać update
w terminalu i potwierdzić Enterem, a system zostanie zaktualizowany. Użytkownicy innych dystrybucji mogą używać odpowiednio: sudo dnf update
dla Fedory oraz sudo pacman -Syu
dla Arch Linuksa.
2. Włącz i skonfiguruj zaporę sieciową
Pomimo tego, że wiele dystrybucji Linuksa posiada zainstalowaną zaporę (ang. firewall), bywa ona domyślnie wyłączona. To oznacza, że każda aplikacja może komunikować się z siecią bez ograniczeń. Aby temu zapobiec, należy ją włączyć i skonfigurować odpowiednie reguły.
W systemach opartych na Ubuntu można to zrobić poleceniem:
sudo ufw enable
Jeśli planujesz korzystanie z połączeń SSH, warto dodać wyjątek:
sudo ufw allow ssh
Użytkownicy Fedory mogą uruchomić zaporę za pomocą:
sudo systemctl enable --now firewalld
A następnie otworzyć port SSH:
sudo firewall-cmd --permanent --add-service=ssh
Pamiętaj, aby upewnić się, że tylko niezbędne porty i usługi są dostępne z zewnątrz – to zasada „minimum przywilejów” w praktyce.
3. Zabezpiecz połączenia SSH
Usługa SSH jest nieodzownym narzędziem w zarządzaniu serwerami zdalnie. Jednak jej domyślna konfiguracja może być podatna na ataki brute force. Aby zwiększyć bezpieczeństwo, warto wprowadzić ulepszenia w pliku /etc/ssh/sshd_config
:
- zmień domyślny port (np. z 22 na 2222):
Port 2222
- zablokuj możliwość logowania się rootem:
PermitRootLogin no
- wyłącz logowanie hasłem:
PasswordAuthentication no
Po dokonaniu zmian, należy ponownie uruchomić usługę SSH komendą:
sudo systemctl restart ssh
lub w przypadku Fedory:
sudo systemctl restart sshd
Dodatkowym środkiem ochrony może być włączenie uwierzytelniania za pomocą kluczy publicznych, dwuetapowe uwierzytelnianie (2FA), a także instalacja narzędzi takich jak fail2ban
, które automatycznie blokują adresy IP wykonujące zbyt wiele nieudanych prób połączenia.
4. Stosuj silne zasady tworzenia i zmiany haseł
Dobre hasło to takie, które jest trudne do przewidzenia i spełnia określone wymogi. W środowiskach wieloużytkownikowych warto wymóc stosowanie silnych haseł i ich regularną zmianę.
Można to zrobić za pomocą komendy chage
, np.:
sudo chage -E 30 nazwa_uzytkownika
Powyższe polecenie spowoduje, że użytkownik będzie musiał zmienić hasło co 30 dni. Dodatkowo można skonfigurować zaawansowane zasady jakości haseł korzystając z modułu libpam-pwquality
. Po jego zainstalowaniu i edycji odpowiedniego pliku konfiguracyjnego można określić takie reguły jak:
- minimalna długość hasła (np. 8 znaków)
- wymaganie małych i dużych liter, cyfr oraz znaków specjalnych
- blokada używania nazwy użytkownika jako hasła
- wymuszenie zmian w haśle w stosunku do poprzednich
5. Włącz automatyczne aktualizacje bezpieczeństwa
Kolejnym, często niedocenianym zabezpieczeniem jest automatyczne instalowanie poprawek bezpieczeństwa. Dzięki temu komponenty systemu są aktualizowane na bieżąco bez konieczności interwencji administratora.
W systemach takich jak Ubuntu można to włączyć graficznie w aplikacji „Oprogramowanie i aktualizacje”. W zakładce „Aktualizacje” wystarczy ustawić codzienne sprawdzanie i automatyczne instalowanie aktualizacji bezpieczeństwa.
W Fedora, trzeba ręcznie zainstalować i skonfigurować pakiet dnf-automatic
:
sudo dnf install dnf-automatic -y
Następnie należy edytować plik /etc/dnf/automatic.conf
i zamienić linijki:
apply_updates = no
na:
sudo ufw enable
0
oraz:
sudo ufw enable
1
na:
sudo ufw enable
2
Dzięki temu system sam będzie pobierał i instalował łatki bezpieczeństwa. W kontekście serwerów zaleca się jednak ostrożność: zamiast automatycznych aktualizacji lepiej używać kontrolowanych narzędzi do zarządzania, takich jak Ansible. Automatyczne aktualizacje mogą wymagać restartu usług, co może prowadzić do niedostępności systemu.
Podsumowując, nawet jeśli Linux może pochwalić się wyższym poziomem bezpieczeństwa niż wiele innych systemów, to jego ochrona w dużej mierze zależy od użytkownika. Wdrażając pięć powyższych zasad — aktualizacje, zapora sieciowa, bezpieczny SSH, polityki haseł i automatyczne łatki — znacząco zwiększysz poziom ochrony zarówno domowej maszyny, jak i środowiska produkcyjnego w firmie.