0Pricing
Linux Server Deployment & SSH Mastery · Lezione

Rilevamento e prevenzione delle intrusioni

Configuri sistemi di rilevamento delle intrusioni (IDS) come Fail2Ban e comprenda i principi dei sistemi di prevenzione delle intrusioni (IPS) per difendere attivamente il server.

Rilevamento e prevenzione delle intrusioni è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Oltre i firewall: difesa attiva

Benvenuto alla lezione finale sulla sicurezza dei server! Abbiamo trattato firewall e audit, fondamentali per la prevenzione. Ma cosa succede se un attaccante determinato tenta di aggirare queste difese?

Questa lezione introduce i Intrusion Detection Systems (IDS) e gli Intrusion Prevention Systems (IPS). Questi strumenti offrono un ulteriore livello di difesa attiva, aiutando a individuare e bloccare le attività dannose sul server.

Che cos'è un IDS?

Un Intrusion Detection System (IDS) è come una guardia di sicurezza che controlla costantemente la presenza di attività sospette. Monitora il traffico di rete del server o i log di sistema alla ricerca di schemi che indicano un attacco.

  • Monitoraggio passivo: un IDS rileva le minacce e La avvisa.
  • Nessun blocco: non blocca né impedisce attivamente l'intrusione. Il suo compito è esclusivamente inviare notifiche.
  • Esempi: strumenti come Snort o Suricata possono fungere da IDS basati sulla rete, analizzando i dati in ingresso e in uscita.

Che cos'è un IPS?

Un Intrusion Prevention System (IPS) porta il concetto di IDS un passo avanti. Invece di limitarsi a inviare avvisi, un IPS interviene attivamente per bloccare le minacce rilevate.

  • Protezione attiva: può bloccare automaticamente gli indirizzi IP dannosi, terminare le connessioni sospette o eliminare i pacchetti nocivi.
  • Obiettivo di prevenzione: l'obiettivo è impedire in tempo reale che l'intrusione abbia successo.
  • Fail2Ban: un esempio diffuso di IPS basato sull'host, su cui ci concentreremo oggi.

Introduzione a Fail2Ban

Fail2Ban è un potente IPS open source basato sull'host. Analizza i file di log, ad esempio quelli di SSH, dei server web o dei server di posta, alla ricerca di ripetuti tentativi di accesso non riusciti o di altri schemi sospetti.

Quando rileva un numero eccessivo di tentativi non riusciti provenienti da un singolo indirizzo IP entro un intervallo di tempo specificato, Fail2Ban aggiorna automaticamente le regole del firewall del server per vietare temporaneamente o permanentemente quell'indirizzo IP.

Come funziona Fail2Ban

Fail2Ban si basa su tre concetti fondamentali:

  • Filtri: sono espressioni regolari che definiscono gli schemi da cercare nei file di log (ad esempio, 'failed password for root').
  • Jail: una jail combina un filtro con un'azione. Specifica quale file di log monitorare, quale filtro usare e quale azione eseguire quando le condizioni del filtro sono soddisfatte.
  • Azioni: sono i comandi eseguiti quando un IP viene bloccato, in genere modificando le regole del firewall (come iptables o ufw) per bloccare l'IP di origine.

Installazione di Fail2Ban

Fail2Ban è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux. Installiamolo su un sistema basato su Debian (come Ubuntu).

Per prima cosa aggiorni l'elenco dei pacchetti, quindi installi il pacchetto fail2ban:

sudo apt update
sudo apt install fail2ban

Configurazione di base: jail.local

Il file di configurazione principale di Fail2Ban è /etc/fail2ban/jail.conf. Tuttavia, non deve mai modificare direttamente questo file, perché potrebbe essere sovrascritto durante gli aggiornamenti.

Crei invece una copia denominata /etc/fail2ban/jail.local e apporti lì le modifiche. Questo file sovrascrive le impostazioni di jail.conf.

Di seguito sono riportate alcune impostazioni globali importanti che potrebbe configurare in jail.local:

  • bantime: durata del blocco di un IP (ad esempio, 10m per 10 minuti).
  • findtime: intervallo durante il quale vengono conteggiati i tentativi non riusciti (ad esempio, 10m).
  • maxretry: numero di tentativi non riusciti prima del blocco di un IP (ad esempio, 5).

Abilitazione della protezione SSH

Uno degli usi più comuni di Fail2Ban è proteggere SSH dagli attacchi brute force. Nel file /etc/fail2ban/jail.local troverà sezioni per diversi servizi, chiamate 'jail'.

Per abilitare la jail SSH, in genere è sufficiente impostare enabled = true nella sezione [sshd]. Può anche personalizzare i valori di bantime, findtime e maxretry.

Dopo la modifica, riavvii Fail2Ban affinché le modifiche abbiano effetto:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

sudo systemctl restart fail2ban

Monitoraggio di Fail2Ban

Dopo aver configurato e avviato Fail2Ban, vorrà verificarne lo stato e controllare se sta bloccando attivamente gli IP. Può usare a questo scopo il comando fail2ban-client.

Per verificare lo stato generale di Fail2Ban:

sudo systemctl status fail2ban

Verifica rapida: configurazione di Fail2Ban

Ha configurato Fail2Ban per proteggere il servizio SSH. Ha impostato maxretry = 3 e bantime = 1h.

Un attaccante tenta di accedere tramite SSH:

  1. Accesso non riuscito alle 10:00:00
  2. Accesso non riuscito alle 10:00:30
  3. Accesso non riuscito alle 10:01:00
  4. Accesso non riuscito alle 10:01:30

Supponendo che findtime sia impostato su 10 minuti, cosa accade all'indirizzo IP dell'attaccante?

Riepilogo: IDS, IPS e Fail2Ban

Ottimo lavoro! Ha imparato ad aggiungere un livello di difesa attiva al server:

  • IDS (Intrusion Detection System) rileva le attività sospette e invia avvisi.
  • IPS (Intrusion Prevention System) rileva e segnala le minacce, bloccandole attivamente.
  • Fail2Ban è un IPS basato sull'host che analizza i log alla ricerca di schemi dannosi e blocca gli indirizzi IP responsabili aggiornando le regole del firewall.
  • Ha imparato a installare Fail2Ban, configurare le impostazioni globali in jail.local, abilitare jail specifiche (come SSH) e monitorarne lo stato.

L'implementazione di Fail2Ban migliora significativamente la resilienza del server contro gli attacchi brute force e altre minacce automatizzate. Continui a esercitarsi con queste competenze per creare sistemi davvero robusti e sicuri!

Domande Frequenti

La lezione «Rilevamento e prevenzione delle intrusioni» è gratuita?

Sì — il testo completo di «Rilevamento e prevenzione delle intrusioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Cosa imparerò in «Rilevamento e prevenzione delle intrusioni»?

Configuri sistemi di rilevamento delle intrusioni (IDS) come Fail2Ban e comprenda i principi dei sistemi di prevenzione delle intrusioni (IPS) per difendere attivamente il server. Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?

Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Rilevamento e prevenzione delle intrusioni»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?

Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Audit della sicurezza del server
  2. Regole avanzate del firewall (IPTables)
  3. Rilevamento e prevenzione delle intrusioni
  4. Logging centralizzato e integrazione con SIEM
← Torna a Linux Server Deployment & SSH Mastery