Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

OSSEC HIDS — Host-based Intrusion Detection na serwerze Linux

Opublikowano: 10 kwietnia 2026 · Kategoria: Bezpieczeństwo

Sieciowy IDS (Suricata, Snort) widzi ruch wchodzący do serwera — ale nie wie co dzieje się wewnątrz systemu operacyjnego. OSSEC HIDS (Host-based Intrusion Detection System) uzupełnia tę lukę: działa od środka, monitorując pliki systemowe, logi, procesy i konto użytkowników. Modyfikacja /etc/passwd, podejrzany proces systemowy, 10 błędnych logowań SSH w ciągu minuty — OSSEC to wykryje i może automatycznie zablokować atakujący IP przez iptables (active response). Ten artykuł przeprowadza przez instalację, konfigurację FIM i active response.

Instalacja OSSEC — tryb local (jeden serwer)

# Wymagania
sudo apt update
sudo apt install build-essential libssl-dev libpcre2-dev zlib1g-dev -y

# Pobierz OSSEC (lub Atomic OSSEC - stabilny fork)
wget https://github.com/ossec/ossec-hids/archive/3.7.0.tar.gz
tar -xzf 3.7.0.tar.gz
cd ossec-hids-3.7.0

# Uruchom instalator
sudo ./install.sh

# Odpowiedz na pytania instalatora:
# Language: pl / en
# System type: local       (lub 'server' dla trybu centralnego)
# Installation dir: /var/ossec (domyslnie)
# Enable email notifications: y (podaj adres)
# Run integrity check daemon: y
# Run rootkit detection engine: y
# Run active response: y

# Sprawdz status
sudo /var/ossec/bin/ossec-control status

# Uruchom OSSEC
sudo /var/ossec/bin/ossec-control start

Tryb server-agent — centralny monitoring wielu serwerów

# Na SERWERZE OSSEC (manager):
# ./install.sh -> type: server

# Dodaj agenta do managera
sudo /var/ossec/bin/manage_agents

# Opcje menu:
# A - Add agent  -> podaj nazwe i IP agenta
# L - List agents
# E - Extract key for agent  -> skopiuj klucz na agenta

# Na AGENCIE:
# ./install.sh -> type: agent
# Podczas instalacji podaj IP serwera OSSEC

# Zaimportuj klucz na agencie
sudo /var/ossec/bin/manage_agents
# I - Import key -> wklej klucz z serwera

# Uruchom agenta
sudo /var/ossec/bin/ossec-control start

# Sprawdz na serwerze czy agent sie polaczyl
sudo /var/ossec/bin/agent_control -la
# ID:001, Nazwa, IP, Status: Active

# Port komunikacji: 1514 UDP
# Otworz w UFW: sudo ufw allow 1514/udp

Konfiguracja File Integrity Monitoring (syscheck)

Syscheck oblicza sumy kontrolne (MD5, SHA1, SHA256) monitorowanych plików i porównuje je przy kolejnych skanach. Każda zmiana generuje alert. Konfiguracja w /var/ossec/etc/ossec.conf:

<!-- /var/ossec/etc/ossec.conf -->
<syscheck>
  <!-- Czestotliwosc skanu w sekundach (7200 = 2h) -->
  <frequency>7200</frequency>

  <!-- Monitoruj te katalogi -->
  <directories check_all="yes">/etc,/usr/bin,/usr/sbin</directories>
  <directories check_all="yes">/bin,/sbin</directories>
  <directories check_all="yes" realtime="yes">/var/www</directories>

  <!-- Ignoruj zmienne pliki -->
  <ignore>/etc/mtab</ignore>
  <ignore>/etc/resolv.conf</ignore>
  <ignore>/etc/random-seed</ignore>
  <ignore type="sregex">.log$|.tmp$</ignore>

  <!-- Nie alertuj przy pierwszym skanie (nowy baseline) -->
  <alert_new_files>yes</alert_new_files>
</syscheck>

<!-- Przeladuj OSSEC po zmianach -->
<!-- sudo /var/ossec/bin/ossec-control reload -->

Active Response — automatyczne blokowanie IP

Active response pozwala OSSEC automatycznie reagować na ataki. Przykład: po 5 nieudanych logowaniach SSH z jednego IP (reguła 5720), OSSEC blokuje to IP w iptables na 600 sekund:

<!-- Fragment ossec.conf -->
<active-response>
  <!-- Skrypt blokuajcy IP -->
  <command>host-deny</command>
  <location>local</location>
  <!-- Wyzwalaj po alertach levelu 6+ -->
  <level>6</level>
  <!-- Zablokuj na 600 sekund (10 minut) -->
  <timeout>600</timeout>
</active-response>

<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <!-- Tylko dla reguły SSH brute-force (ID 5720) -->
  <rules_id>5720</rules_id>
  <timeout>1800</timeout>
</active-response>

<!-- Dostepne komendy (skrypty w /var/ossec/active-response/bin/):
     host-deny     - /etc/hosts.deny
     firewall-drop - iptables -I INPUT -s IP -j DROP
     disable-account - blokuje konto systemowe

Testuj active response:
/var/ossec/bin/ossec-control enable client-syslog
tail -f /var/ossec/logs/active-responses.log -->

Analiza alertów i logów OSSEC

# Biezace alerty (live monitoring)
sudo tail -f /var/ossec/logs/alerts/alerts.log

# Przykladowy alert (SSH brute-force):
# ** Alert 1712745601.12345: - syslog,sshd,authentication_failed,
# 2026 Apr 10 14:23:21 web-server->/var/log/auth.log
# Rule: 5720 (level 10) -> 'Multiple SSHD Authentication Failures.'
# Src IP: 203.0.113.50
# User: root
# Apr 10 14:23:21 server sshd[12345]: Failed password for root from 203.0.113.50

# Statystyki alertow
sudo cat /var/ossec/logs/alerts/alerts.log | \
  grep "Rule:" | awk '{print $2}' | sort | uniq -c | sort -rn | head -20

# Przetestuj regule na przykladowym logu
echo "Apr 10 14:23:21 server sshd[1234]: Failed password for root from 203.0.113.50 port 54321 ssh2" | \
  sudo /var/ossec/bin/ossec-logtest

# Sprawdz zbanowane IP (active response)
sudo cat /var/ossec/logs/active-responses.log

# Raporty HTML (generowane przez mail daemon)
sudo /var/ossec/bin/ossec-reportd

# Status procesow OSSEC
sudo /var/ossec/bin/ossec-control status

OSSEC vs Wazuh — co wybrać?

Cecha OSSEC 3.7 Wazuh 4.9
Interfejs webowy Brak (email/log) Pełny dashboard (OpenSearch)
Wymagania RAM (manager) ~128 MB 4-8 GB (z indexerem)
Vulnerability scan Brak Tak (CVE database)
Compliance (PCI-DSS) Podstawowe reguły Gotowe dashboardy i raporty
REST API Brak Pełne REST API
Active development Wolniejszy rozwój Aktywny team, częste release
Kiedy wybrać Lekki HIDS, niskie zasoby Centralne SIEM, wizualizacja

Najczęstsze pytania

Czym jest OSSEC i co wykrywa? +
OSSEC (Open Source Security) to HIDS (Host-based Intrusion Detection System) — monitoruje serwer od wewnątrz. Wykrywa: zmiany plików systemowych (FIM — md5/sha1/sha256), podejrzane procesy, modyfikacje /etc/passwd i /etc/shadow, błędne logowania SSH, rootkity (rootcheck), polityki, logi Apache/Nginx/MySQL i setki innych zdarzeń przez reguły detekcji. Może też automatycznie blokować atakujące IP (active response przez iptables).
Jak działa tryb local vs server-agent w OSSEC? +
Tryb local (ossec-hids-local) działa na jednym serwerze — agent i manager na tej samej maszynie. Idealny do ochrony pojedynczego VPS. Tryb server-agent (ossec-hids-server + ossec-hids-agent) to architektura centralna: manager na dedykowanym serwerze zbiera zdarzenia z wielu agentów przez port 1514 UDP. Agenci na chronionych serwerach wysyłają zaszyfrowane dane do managera. Tryb local jest prostszy, server-agent pozwala monitorować wiele serwerów jednocześnie.
Co to jest active response w OSSEC? +
Active response to mechanizm automatycznej reakcji na zdarzenia. Gdy reguła OSSEC wyzwoli alert z poziomem >= skonfigurowanego progu, OSSEC może automatycznie uruchomić skrypt — np. host-deny.sh który blokuje IP w iptables. Domyślne skrypty: host-deny (iptables ban), firewall-drop (różne firewall), disable-account (blokada konta). Każdy active response można skonfigurować z timeout (np. 600s = IP zbanowane na 10 minut, potem automatycznie odblokowane).
Jaki jest związek między OSSEC a Wazuh? +
Wazuh to fork OSSEC stworzony przez byłych współtwórców OSSEC. Wazuh jest aktywnie rozwijany z bogatszym zestawem funkcji: nowoczesny UI (dashboard na OpenSearch/Elastic), vulnerability detection, compliance frameworks (PCI-DSS, HIPAA, GDPR), REST API, integracje ze Slack/PagerDuty, lepsza skalowalność. OSSEC jest stabilny ale wolniej się rozwija. Dla nowych wdrożeń Wazuh jest rekomendowanym następcą; OSSEC warto wybrać jeśli szukasz prostego, lekiego HIDS bez dodatkowej infrastruktury.
Jak czytać logi i alerty OSSEC? +
OSSEC zapisuje alerty do /var/ossec/logs/alerts/alerts.log (czytelny) i alerts.json (JSON). Główne logi: /var/ossec/logs/ossec.log (błędy i informacje agenta/managera). Komendy: /var/ossec/bin/ossec-logtest (testuj reguły na przykładowych logach), /var/ossec/bin/agent_control -i 001 (status agenta 001). Alerty mają poziomy 0-15: poziom 7+ to alerty wymagające uwagi, 10+ to krytyczne. Raporty dzienny przez ossec-maild.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.