Weryfikacja integralności systemu Linux: Jak sprawdzić, czy Twój serwer nie został zhakowany?
Cyberbezpieczeństwo Linux

Weryfikacja integralności systemu Linux: Jak sprawdzić, czy Twój serwer nie został zhakowany?

🛡️ Weryfikacja integralności systemu Linux: Jak sprawdzić, czy Twój serwer nie został zhakowany?


🧭 Wprowadzenie

W dobie narastających zagrożeń w internecie, administratorzy systemów Linux coraz częściej zmagają się z pytaniem: czy mój serwer działa tak, jak powinien, i czy nie został naruszony przez osobę trzecią?

Atakujący nie zawsze pozostawiają oczywiste ślady. W wielu przypadkach infekcje, włamania i rootkity są skutecznie ukrywane, a złośliwy kod działa niewidzialnie przez długie miesiące. Kluczowym aspektem skutecznej obrony i wczesnego wykrycia naruszeń jest weryfikacja integralności systemu – czyli technika służąca do wykrywania wszelkich nieautoryzowanych zmian w plikach systemowych, konfiguracjach, binarkach i rejestrach logów.

W tym artykule przedstawimy kompletny, ekspercki przewodnik po metodach weryfikacji integralności systemu Linux – od podstaw po zaawansowaną analizę, z naciskiem na narzędzia, procedury oraz integrację z monitoringiem i środowiskami produkcyjnymi.

Czytaj  Jak skonfigurować wirtualną maszynę z systemem Linux/Windows Server?
Weryfikacja integralności systemu Linux: Jak sprawdzić, czy Twój serwer nie został zhakowany?
Weryfikacja integralności systemu Linux: Jak sprawdzić, czy Twój serwer nie został zhakowany?

🔍 Czym jest integralność systemu?

Integralność systemu oznacza, że wszystkie jego komponenty – pliki, biblioteki, binaria, konfiguracje – pozostają w stanie niezmienionym od momentu ich ostatniej, autoryzowanej modyfikacji. Naruszenie integralności może być skutkiem:

  • Włamania z zewnątrz (np. przez SSH, exploity RCE)
  • Malware (rootkit, backdoor)
  • Błędu wewnętrznego (np. nieautoryzowany dostęp operatora)
  • Eskalacji uprawnień

🧩 Najczęstsze oznaki naruszenia integralności systemu

  • Nietypowe procesy działające jako root
  • Modyfikacja binarek systemowych (/bin/ls, /usr/sbin/sshd)
  • Nieautoryzowane konta użytkowników (/etc/passwd, /etc/shadow)
  • Zmiany w konfiguracji firewalla, usług lub skryptów startowych
  • Dziwne połączenia sieciowe (netstat, ss)
  • Logi systemowe wyczyszczone lub uszkodzone

🔧 Metody weryfikacji integralności systemu Linux

🔹 1. AIDE (Advanced Intrusion Detection Environment)

Jeden z najczęściej używanych i najdokładniejszych systemów IDS opartych na analizie plików.

🔧 Instalacja i konfiguracja:

sudo apt install aide
sudo aideinit
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db

🔍 Regularna kontrola:

sudo aide --check

🔄 Aktualizacja bazy referencyjnej:

sudo aide --update

AIDE śledzi:

  • Sumy kontrolne (SHA, MD5)
  • Uprawnienia, właścicieli, daty modyfikacji
  • Liczby twardych linków, atrybuty inode
  • Zmiany ACL i atrybutów SELinux

🔹 2. Tripwire

Profesjonalne rozwiązanie klasy enterprise do audytu integralności.

🛠️ Przykład użycia:

sudo tripwire --init
sudo tripwire --check

Wymaga początkowej konfiguracji i podpisu kluczem GPG, co zapewnia silną weryfikację niezmienności bazy danych.


🧪 Wykrywanie zmian binarek i bibliotek systemowych

🔎 Porównanie sum kontrolnych

md5sum /bin/ls
md5sum /usr/bin/top

Porównaj z wcześniej zapisanymi wartościami lub z bazą referencyjną.

🔎 Weryfikacja podpisów pakietów

debsums -s  # Debian/Ubuntu
rpm -Va      # RHEL/CentOS

Polecenie rpm -Va wykryje każdą nieautoryzowaną zmianę w plikach dostarczonych przez pakiety RPM.


🔍 Weryfikacja przestrzeni użytkownika i jądra

🕵️ 1. Sprawdzenie obecności rootkitów

  • chkrootkit
  • rkhunter
sudo chkrootkit
sudo rkhunter --update && sudo rkhunter --check

📊 2. Analiza podejrzanych procesów i otwartych portów

ps aux | grep -vE 'root|systemd|sshd'
netstat -tulnp
ss -tunap

Uważaj na dziwne procesy słuchające na nietypowych portach (31337, 8081, 9000).

Czytaj  Wybór i Konfiguracja Bezpiecznego VPN: Praktyczne Wskazówki dotyczące Wyboru Dostawcy VPN i Prawidłowej Konfiguracji dla Maksymalnego Bezpieczeństwa

🛠️ Inspekcja katalogów i logów systemowych

🔧 1. Sprawdzanie crontab i plików autostartu

crontab -l
ls -l /etc/cron.*
cat ~/.bashrc

🧱 2. Skanowanie katalogów tymczasowych

Złośliwe skrypty często są ukrywane w:

  • /tmp
  • /var/tmp
  • /dev/shm

Użyj find do wykrywania dziwnych plików:

find /tmp -type f -exec file {} \;

📡 Monitorowanie integralności w czasie rzeczywistym

🔄 1. Auditd – audyt systemowy

Konfiguracja reguł w /etc/audit/rules.d/:

-w /etc/passwd -p wa -k passwd_watch
-w /usr/bin/ssh -p x -k ssh_exec_watch

🧠 2. Wazuh/OSSEC – SIEM i HIDS

Integracja z Elastic Stack, logami systemowymi i centralną konsolą zarządzania. Świetne rozwiązanie dla wielu hostów.


🔐 Dobre praktyki integralności systemu

✅ 1. Tworzenie baz referencyjnych w „czystym” stanie

  • Zainstaluj system, zaaplikuj poprawki
  • Przeprowadź hardening (SELinux, AppArmor, audit)
  • Dopiero potem uruchom aideinit lub tripwire --init

✅ 2. Przechowuj bazy danych i hashe poza systemem

  • Backup do offline storage (USB, nośnik odłączany)
  • Weryfikacja przy użyciu środowiska live

✅ 3. Harmonogram weryfikacji

  • Automatyczne skrypty w cron, systemd.timer
  • E-mailowe raporty z aide, auditd, rkhunter

🚨 W kontekście zagrożeń w internecie

Weryfikacja integralności to kluczowy element strategii bezpieczeństwa – zwłaszcza w erze ransomware, rootkitów, exploita 0-day i zautomatyzowanych ataków botnetów. Nawet jeśli Twój system nie jest bezpośrednio zagrożony, to ciągła kontrola zmian pozwala na wykrycie kompromitacji na wczesnym etapie i ograniczenie jej skutków.


📚 Dalsza lektura

Zachęcamy do przeczytania materiałów o innych zagrożeniach w internecie oraz do wdrażania zasad minimalnego zaufania i zerowej tolerancji dla nieautoryzowanych zmian w systemie.

 

Polecane wpisy
Linux jako Platforma Rozwoju Gier: Silniki i Narzędzia
Linux jako Platforma Rozwoju Gier: Silniki i Narzędzia

Linux to popularna platforma do rozwoju gier. Oferuje szeroki wybór silników i narzędzi, które mogą pomóc programistom w tworzeniu gier Czytaj dalej