Skip to main content

Honeypot: la trappola digitale che inganna gli attaccanti

honeypot schema

In informatica, un honeypot (letteralmente barattolo di miele) è un sistema progettato per attirare gli attaccanti informatici, come una trappola digitale. Il suo scopo principale è osservare, analizzare e comprendere le tecniche utilizzate da chi tenta un’intrusione, senza mettere a rischio i sistemi reali.

Un honeypot è una risorsa apparentemente vulnerabile — un server, un servizio di rete, una pagina web o persino un dispositivo IoT — costruita ad arte per sembrare reale e interessante. Quando un malintenzionato tenta di accedervi, le sue azioni vengono registrate e studiate.

A cosa serve un honeypot

  • 🧩 Rilevare attacchi che sfuggono ai sistemi di difesa tradizionali.

  • 🔍 Studiare il comportamento degli attaccanti e identificare nuove tecniche o malware.

  • 🕸️ Creare esche per distrarre gli aggressori e rallentarli.

  • 📊 Raccogliere dati reali utili per migliorare le difese e aggiornare le firme di sicurezza.

Come funziona un honeypot

Un honeypot si comporta come un sistema legittimo, ma in realtà è isolato e monitorato. Può simulare:

  • un server vulnerabile (es. SSH o FTP con credenziali deboli);

  • un database mal configurato (es. MySQL o MongoDB senza autenticazione);

  • un sito web con vulnerabilità note (SQL injection, XSS);

  • un servizio IoT o industriale per attirare attacchi specifici.

Tutto ciò che accade viene registrato tramite log e sensori; tipicamente vengono analizzati:

  • IP sorgenti;

  • comandi eseguiti;

  • file caricati;

  • pattern di comportamento (es. attacchi automatici o manuali).

Schema di rete honeypot/honeynet (esempio)

Figura 3: esempio di rete honeypot / honeynet interconnessa con vari servizi “esca”.

Una honeynet è un insieme di honeypot che simulano un'intera infrastruttura (server, client, router, IoT), utile per studiare attacchi coordinati come botnet o campagne su larga scala.

Tipologie di honeypot

1. Livello di interazione

Low-interaction honeypot

Simula solo alcuni servizi/porte; fornisce informazioni di base. Più sicuro e facile da gestire. (es. Honeyd, Kippo)

High-interaction honeypot

Ricrea un vero sistema operativo o ambiente vulnerabile; dati più ricchi ma maggiori rischi. (es. Cowrie, Dionaea, MHN)

2. Honeypot software

Programmi installabili su server o VM: flessibili e perfetti per ricerca/didattica. Possono simulare HTTP, SSH, SMTP, ecc.

  • Cowrie — SSH/Telnet honeypot con logging delle sessioni.

  • Dionaea — cattura malware.

  • Glastopf — honeypot per vulnerabilità web.

3. Honeypot hardware

Dispositivi fisici dedicati collegati alla rete, usati spesso in ambienti industriali (ICS/SCADA). La separazione fisica riduce il rischio di compromissione dell'infrastruttura reale.

Rischi e limiti

⚠️ Attenzione: gli honeypot non sono privi di rischi. Un attaccante esperto potrebbe riconoscere la trappola e usarla per depistare, oppure sfruttare il sistema compromesso per attaccare terze parti. Inoltre, i dati raccolti devono essere gestiti in conformità al GDPR.

Buone pratiche:

  • Isolare l’honeypot fisicamente o tramite VLAN/segmentazione;

  • impedire qualsiasi accesso a dati sensibili;

  • monitorare costantemente e applicare regole firewall restrittive;

  • usare gli honeypot solo per ricerca o difesa legittima.

Conclusioni

Gli honeypot sono laboratori di osservazione del cyberspazio: trappole etiche che aiutano a comprendere le minacce reali e a rafforzare le difese. Nell’ambito dell’ethical hacking e della ricerca open source, installarne uno significa contribuire a una rete più consapevole e sicura.


🔧 Installare un honeypot su Debian: guida pratica con Cowrie

Perché scegliere Cowrie

Cowrie è un honeypot open source che simula SSH/Telnet e registra tentativi di accesso, comandi e file caricati. Ideale per test, formazione e ricerca.

1. Preparazione dell’ambiente

Nota: eseguire Cowrie su una macchina virtuale o VPS isolata, senza dati reali.

sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3 python3-venv python3-pip authbind
sudo adduser --disabled-password --gecos "" cowrie

2. Clonare il repository e installare i requisiti

sudo su - cowrie
git clone https://github.com/cowrie/cowrie.git
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

3. Configurare Cowrie

cp etc/cowrie.cfg.dist etc/cowrie.cfg
nano etc/cowrie.cfg
# (se vuoi ascoltare la porta 22 sulla VM isolata:)
sudo touch /etc/authbind/byport/22
sudo chown cowrie:cowrie /etc/authbind/byport/22
sudo chmod 500 /etc/authbind/byport/22
# impostare nel cowrie.cfg:
# listen_endpoints = ssh:22

4. Avviare e monitorare Cowrie

bin/cowrie start
bin/cowrie status
# i log si trovano in:
# var/log/cowrie/

I file di log utili:

  • cowrie.log — eventi in tempo reale;

  • tty/ — sessioni interattive registrate;

  • downloads/ — file caricati dagli attaccanti (analizzare con cautela).

5. Analisi e visualizzazione

Cowrie esporta JSON facilmente integrabile con ELK, Kibana, Splunk o Modern Honey Network (MHN).

# Esempio rapido: IP più attivi
jq -r '.src_ip' var/log/cowrie/cowrie.json | sort | uniq -c | sort -nr | head

6. Sicurezza e manutenzione

  • Non installare Cowrie su server di produzione;

  • isolare la rete (ufw/iptables, VLAN);

  • limitare l’accesso di amministrazione;

  • eseguire backup regolari dei log;

  • aggiornare Cowrie e Python regolarmente.


📎 Risorse utili