Lekcja: Zabezpieczenie systemu operacyjnego Linux przed nieautoryzowanym dostępem
Wprowadzenie
Bezpieczeństwo systemu operacyjnego Linux jest kluczowe dla ochrony danych, użytkowników i infrastruktury. Mimo że Linux jest znany ze swojej odporności na wiele zagrożeń, odpowiednie środki ochrony są niezbędne, aby zapobiegać nieautoryzowanemu dostępowi. W tej lekcji omówimy sposoby zabezpieczania systemu Linux.
1. Podstawowe zasady bezpieczeństwa w Linux
- Minimalizacja użytkowników i uprawnień:
- Używaj konta superużytkownika (
root
) tylko wtedy, gdy jest to absolutnie konieczne. - Twórz konta użytkowników o ograniczonych uprawnieniach do codziennej pracy.
- Silne hasła:
- Ustawiaj złożone hasła dla wszystkich kont użytkowników.
- Wymagaj regularnej zmiany haseł.
- Aktualizacje systemu:
- Regularnie aktualizuj system, aby zabezpieczyć go przed znanymi lukami.
- Użyj poleceń:
sudo apt update
sudo apt upgrade
- Wyłączanie nieużywanych usług:
- Niepotrzebne usługi i porty zwiększają ryzyko ataku.
- Sprawdź działające usługi:
sudo systemctl list-units --type=service
2. Konfiguracja użytkowników i grup
a) Tworzenie użytkowników z ograniczonym dostępem:
Użyj polecenia:
sudo adduser nowyuzytkownik
b) Zmiana hasła użytkownika:
Użyj polecenia:
sudo passwd nowyuzytkownik
c) Ograniczenie uprawnień:
- Przypisz użytkownika do grupy o ograniczonych uprawnieniach.
- Sprawdź grupy użytkownika:
groups nowyuzytkownik
3. Ochrona plików i katalogów
a) Uprawnienia do plików:
Linux pozwala na precyzyjne ustawianie uprawnień za pomocą komendy chmod
.
Przykłady:
- Tylko właściciel może czytać i zapisywać plik:
chmod 600 plik.txt
b) Zmiana właściciela:
Użyj komendy chown
, aby przypisać właściciela:
sudo chown użytkownik plik.txt
c) Monitorowanie plików krytycznych:
- Użyj
ls
z opcją-l
:
ls -l /etc/passwd
4. Zapora sieciowa (Firewall)
a) UFW (Uncomplicated Firewall):
Zapora sieciowa to proste narzędzie w systemach opartych na Ubuntu.
Przykłady:
- Włącz zaporę:
sudo ufw enable
- Zablokuj określony port:
sudo ufw deny 22
- Sprawdź status zapory:
sudo ufw status
5. Ochrona logowania
a) Blokowanie nieautoryzowanych prób logowania:
Użyj narzędzia fail2ban
, które blokuje adresy IP po kilku nieudanych próbach logowania.
Instalacja:
sudo apt install fail2ban
b) Ograniczenie dostępu do SSH:
- Edytuj plik konfiguracyjny SSH:
sudo nano /etc/ssh/sshd_config
- Zmień domyślny port (np. na 2222):
Port 2222
- Wyłącz logowanie dla użytkownika
root
:
PermitRootLogin no
- Restart usługi SSH:
sudo systemctl restart sshd
6. Monitorowanie systemu
a) Sprawdzanie aktywności użytkowników:
- Wyświetl aktualnie zalogowanych użytkowników:
who
- Wyświetl historię logowania:
last
b) Przeglądanie logów systemowych:
- Logi są przechowywane w katalogu
/var/log/
. - Przykładowe sprawdzenie logów SSH:
sudo cat /var/log/auth.log
7. Zadania ćwiczeniowe
Ćwiczenie 1: Tworzenie konta użytkownika
- Utwórz nowego użytkownika
student
. - Nadaj mu hasło.
- Sprawdź, czy został poprawnie dodany.
Ćwiczenie 2: Konfiguracja zapory sieciowej
- Włącz zaporę UFW.
- Zablokuj port 80.
- Sprawdź status zapory.
Ćwiczenie 3: Zabezpieczenie SSH
- Zmień domyślny port SSH na 2222.
- Wyłącz logowanie użytkownika
root
. - Uruchom ponownie usługę SSH.
8. Podsumowanie
Zabezpieczenie systemu operacyjnego Linux wymaga świadomego zarządzania użytkownikami, uprawnieniami oraz konfiguracji systemu. Kluczowe jest regularne monitorowanie logów i ograniczenie dostępnych punktów ataku. Poprawna konfiguracja zapory sieciowej oraz narzędzi takich jak fail2ban
zwiększa bezpieczeństwo i chroni przed nieautoryzowanym dostępem.