Zabezpieczenie systemu operacyjnego Linux przed nieautoryzowanym dostępem

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

  1. 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.
  1. Silne hasła:
  • Ustawiaj złożone hasła dla wszystkich kont użytkowników.
  • Wymagaj regularnej zmiany haseł.
  1. Aktualizacje systemu:
  • Regularnie aktualizuj system, aby zabezpieczyć go przed znanymi lukami.
  • Użyj poleceń:
sudo apt update
sudo apt upgrade
  1. 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

  1. Utwórz nowego użytkownika student.
  2. Nadaj mu hasło.
  3. Sprawdź, czy został poprawnie dodany.

Ćwiczenie 2: Konfiguracja zapory sieciowej

  1. Włącz zaporę UFW.
  2. Zablokuj port 80.
  3. Sprawdź status zapory.

Ćwiczenie 3: Zabezpieczenie SSH

  1. Zmień domyślny port SSH na 2222.
  2. Wyłącz logowanie użytkownika root.
  3. 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.