Skip to main content
  1. Concetti/

IDS e IPS - detection e prevention, host e rete

Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cosa fa
#

IDS (Intrusion Detection System) è il cappello che copre HIDS e NIDS. IPS aggiunge la capacità di blocco. Non sono prodotti diversi: è lo stesso sistema configurato diversamente.

TL;DR
#

IDS (Intrusion Detection System)
├── HIDS — monitora un singolo host dall'interno
│   └── esempio: Wazuh agent
└── NIDS — monitora il traffico di rete sul perimetro
    └── esempio: Suricata in modalità af-packet

IPS (Intrusion Prevention System) = IDS che blocca
├── HIPS — host-based, blocca con iptables/nftables dopo l'arrivo
│   └── esempio: Wazuh Active Response + fail2ban
└── NIPS — network-based, inline — droppa i pacchetti prima dell'arrivo
    └── esempio: Suricata in modalità nfqueue

IDS rileva e avvisa. IPS rileva e blocca. La posizione nel flusso del traffico è tutto.


Come funziona
#

graph TD
    IDS["IDS
    Intrusion Detection System"]
    IPS["IPS
    Intrusion Prevention System"]
    HIDS["HIDS
    Host-based"]
    NIDS["NIDS
    Network-based"]
    HIPS["HIPS
    Host-based"]
    NIPS["NIPS
    Network-based — inline"]

    IDS --> HIDS
    IDS --> NIDS
    IPS --> HIPS
    IPS --> NIPS

HIDS vs NIDS
#

HIDSNIDS
Dove vivesu ogni macchinasul perimetro
Cosa vedeprocessi, file, logpacchetti di rete
Cieco atraffico di retecosa succede dentro l'host
Inline?NoNo
EsempioWazuh agentSuricata af-packet

Il concetto di inline
#

Inline significa che il traffico passa attraverso il dispositivo prima di arrivare a destinazione. Solo il NIPS è davvero inline.

PosizioneQuando bloccaInline?
HIDSdentro l'host, legge lognon bloccaNo
HIPSdentro l'host, regole iptablesdopo l'arrivo del pacchettoNo
NIDSperimetro, copia del trafficonon bloccaNo
NIPSperimetro, nel path del trafficoprima dell'arrivo
Important

HIPS non è inline. I pacchetti SSH arrivano all'host, il sistema li analizza, poi blocca i tentativi futuri. Suricata in nfqueue è l'unico che intercetta il pacchetto prima che raggiunga la destinazione.

Wazuh nel lab
#

Wazuh fa tre cose con un solo servizio:

graph LR
    A["Wazuh agent
    (HIDS-Barno)"]
    B["Wazuh manager
    (SIEM)"]
    C["Active Response
    (HIPS)"]
    D["fail2ban
    (HIPS component)"]

    A -->|"invia eventi"| B
    B -->|"correla, genera alert"| B
    B -->|"trigger"| C
    C -->|"esegue"| D
    D -->|"ban IP con iptables"| D
  • HIDS: l'agente legge auth.log, FIM, processi — manda tutto al manager
  • SIEM: il manager correla gli eventi, applica regole, genera alert MITRE ATT&CK
  • HIPS: con Active Response + fail2ban, blocca automaticamente l'IP attaccante dopo soglia

Lab: brute force SSH
#

# Kali attacca
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.64.3 -t 4

# Ubuntu — fail2ban banna l'IP dopo 5 tentativi in 60s
# /etc/fail2ban/jail.local
# maxretry = 5 / findtime = 60 / bantime = 300

Risultato osservato: 816 authentication failures in Wazuh, poi Connection refused su Kali quando scatta il ban. Il ciclo Found → Ban → Unban visibile in /var/log/fail2ban.log.


Scenario Reale
#

In un SOC enterprise il setup tipico è:

  • NIDS (Suricata) sul firewall perimetrale — vede tutto il traffico in entrata
  • HIDS (Wazuh agent) su ogni server critico — vede log, FIM, processi interni
  • SIEM (Wazuh manager o Splunk) — correla eventi da entrambe le sorgenti

Quando un attaccante fa port scan → NIDS genera alert. Quando poi tenta di escalare i privilegi sull'host → HIDS genera alert. Il SIEM correla i due eventi e ricostruisce la kill chain.


Collegato a
#

Related