
Honeypot a basse risorse che emula i servizi di rete comuni per rilevare l'attività degli aggressori post-violazione, con moduli di protocollo estensibili e alert configurabili.
OpenCanary è un honeypot di rete multi-protocollo. Il suo scopo principale è catturare gli hacker dopo che hanno violato reti non pubbliche. Ha requisiti di risorse estremamente bassi e può essere personalizzato, modificato ed esteso.
OpenCanary viene eseguito come daemon e implementa molteplici protocolli di rete comuni. Quando gli aggressori violano le reti e interagiscono con l'honeypot, OpenCanary invia avvisi tramite una varietà di meccanismi.
OpenCanary è implementato in Python, quindi l'honeypot principale è multipiattaforma; tuttavia, alcune funzionalità richiedono sistemi operativi specifici. L'esecuzione su Linux offre il maggior numero di opzioni. Ha requisiti di risorse estremamente bassi; ad esempio, può essere distribuito senza problemi su un Raspberry Pi o su una VM con risorse minime.
Questo README descrive come installare e configurare OpenCanary su Ubuntu Linux e macOS.
OpenCanary è la versione Open Source del nostro honeypot commerciale Thinkst Canary.
L'installazione di OpenCanary consiste essenzialmente nel preparare l'ambiente Python, quindi nell'installare il pacchetto Python OpenCanary (più gli extra opzionali).
Se uv è installato, puoi usarlo per la creazione dell'ambiente virtuale e l'installazione dei pacchetti. Se non è installato, il normale flusso python/pip di seguito continua a funzionare.
Installazione su Ubuntu 22.04 LTS o 24.04 LTS:
$ sudo apt-get install python3-dev python3-pip python3-virtualenv python3-venv python3-scapy libssl-dev libpcap-dev
$ virtualenv env/
$ . env/bin/activate
$ pip install opencanary
Equivalente opzionale con uv:
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary
Extra opzionali (se desideri utilizzare il modulo Windows File Share e il modulo SNMP):
$ sudo apt install samba # if you plan to use the Windows File Share module
$ pip install scapy pcapy-ng # if you plan to use the SNMP module
Innanzitutto, crea e attiva un nuovo ambiente virtuale Python:
$ virtualenv env/
$ . env/bin/activate
Equivalente opzionale con uv:
$ uv venv env
$ . env/bin/activate
Gli utenti Macports devono quindi eseguire:
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
In alternativa, gli utenti Homebrew x86 eseguono:
$ brew install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
Gli utenti Homebrew M1 eseguono:
$ brew install openssl
$ env ARCHFLAGS="-arch arm64" LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib" CFLAGS="-I/opt/homebrew/opt/[email protected]/include" pip install cryptography
(Il passaggio di compilazione sopra indicato è necessario poiché possono esistere più versioni di OpenSSL, che possono confondere le librerie Python.)
Ora l'installazione può essere eseguita come al solito:
$ pip install opencanary
$ pip install scapy pcapy-ng # optional
Con uv installato, i comandi equivalenti sono:
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional
Il modulo Windows File Share (smb) non è disponibile su macOS.
Per installare dal sorgente, invece di eseguire pip, procedi come segue:
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz
Con uv installato, puoi sostituire il passaggio di installazione finale con:
$ uv pip install opencanary-<version>.tar.gz
OpenCanary è impacchettato tramite pkgx, quindi non è necessaria alcuna installazione se pkgx è installato: basta anteporre pkgx al comando opencanaryd. A causa delle protezioni delle variabili d'ambiente nelle moderne implementazioni di sudo, l'intero comando deve essere eseguito come root, oppure tramite sudo -E.
$ pkgx opencanaryd --version
Le immagini Docker di OpenCanary sono ospitate su Docker Hub. Sono utili solo su host Docker Linux, poiché il motore di rete host è necessario per informazioni di rete accurate.
Quando OpenCanary si avvia, cerca i file di configurazione nelle seguenti posizioni e si ferma quando viene trovata la prima configurazione:
/etc/opencanaryd/opencanary.conf~/.opencanary.conf (cioè la directory home dell'utente, di solito sarà root, quindi /root/.opencanary.conf)./opencanary.conf (cioè la directory in cui è installato OpenCanary)Per creare una configurazione iniziale, esegui come root (potrebbe essere richiesta una password sudo):
$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf
[*] Edit your configuration, then launch with "opencanaryd --start --uid=nobody --gid=nogroup"
Questo crea il percorso e il file /etc/opencanaryd/opencanary.conf. Ora devi modificare il file di configurazione per determinare quali servizi e opzioni di logging desideri abilitare.