
Honeypot léger qui émule des services réseau courants pour détecter l'activité d'attaquants après une compromission, avec des modules de protocole extensibles et des alertes configurables.
OpenCanary est un honeypot réseau multi-protocoles. Son cas d'utilisation principal est de détecter les pirates après qu'ils ont compromis des réseaux non publics. Il a des besoins en ressources extrêmement faibles et peut être ajusté, modifié et étendu.
OpenCanary s'exécute en tant que démon et implémente plusieurs protocoles réseau courants. Lorsque des attaquants pénètrent dans des réseaux et interagissent avec le honeypot, OpenCanary vous enverra des alertes via différents mécanismes.
OpenCanary est implémenté en Python, le honeypot de base est donc multiplateforme ; cependant, certaines fonctionnalités nécessitent des systèmes d'exploitation spécifiques. L'exécuter sur Linux vous offrira le plus d'options. Il a des besoins en ressources extrêmement faibles ; par exemple, il peut être déployé facilement sur un Raspberry Pi ou une VM avec des ressources minimales.
Ce README décrit comment installer et configurer OpenCanary sur Ubuntu Linux et macOS.
OpenCanary est la version open source de notre honeypot commercial Thinkst Canary.
L'installation d'OpenCanary consiste essentiellement à préparer l'environnement Python, puis à installer le paquet Python OpenCanary (plus les extras optionnels).
Si uv est installé, vous pouvez l'utiliser pour la création de l'environnement virtuel et l'installation des paquets. S'il n'est pas installé, le flux standard python/pip ci-dessous continue de fonctionner.
Installation sur Ubuntu 22.04 LTS ou 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
Équivalent optionnel avec uv :
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary
Extras optionnels (si vous souhaitez utiliser le module Windows File Share et le module 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
Tout d'abord, créez et activez un nouvel environnement virtuel Python :
$ virtualenv env/
$ . env/bin/activate
Équivalent optionnel avec uv :
$ uv venv env
$ . env/bin/activate
Les utilisateurs de Macports doivent ensuite exécuter :
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
Alternativement, les utilisateurs Homebrew x86 exécutent :
$ 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
Les utilisateurs Homebrew M1 exécutent :
$ 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
(L'étape de compilation ci-dessus est nécessaire car plusieurs versions d'OpenSSL peuvent exister, ce qui peut perturber les bibliothèques Python.)
L'installation peut maintenant s'exécuter comme d'habitude :
$ pip install opencanary
$ pip install scapy pcapy-ng # optional
Avec uv installé, les commandes équivalentes sont :
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional
Le module Windows File Share (smb) n'est pas disponible sur macOS.
Pour installer à partir des sources, au lieu d'exécuter pip, procédez comme suit :
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz
Avec uv installé, vous pouvez remplacer l'étape d'installation finale par :
$ uv pip install opencanary-<version>.tar.gz
OpenCanary est empaqueté via pkgx, donc aucune installation n'est nécessaire si pkgx est installé, il suffit de préfixer la commande opencanaryd avec
pkgx. En raison des protections des variables d'environnement dans les implémentations modernes de sudo, la commande entière doit être exécutée en tant que root, ou via sudo -E.
$ pkgx opencanaryd --version
Les images Docker d'OpenCanary sont hébergées sur Docker Hub. Elles ne sont utiles que sur des hôtes Docker Linux, car le moteur réseau host est requis pour obtenir des informations réseau précises.
Lorsqu'OpenCanary démarre, il recherche les fichiers de configuration dans les emplacements suivants et s'arrête dès que la première configuration est trouvée :
/etc/opencanaryd/opencanary.conf~/.opencanary.conf (c'est-à-dire le répertoire personnel de l'utilisateur, généralement root, donc /root/.opencanary.conf)./opencanary.conf (c'est-à-dire le répertoire où OpenCanary est installé)Pour créer une configuration initiale, exécutez en tant que root (un mot de passe sudo peut vous être demandé) :
$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf