
Ressourcenschonender Honeypot, der gängige Netzwerkdienste emuliert, um Angreiferaktivitäten nach einem Einbruch zu erkennen, mit erweiterbaren Protokollmodulen und konfigurierbarer Alarmierung.
OpenCanary ist ein Netzwerk-Honeypot mit mehreren Protokollen. Sein primärer Einsatzzweck ist es, Hacker zu fangen, nachdem sie in nicht-öffentliche Netzwerke eingedrungen sind. Er hat extrem geringe Ressourcenanforderungen und kann angepasst, modifiziert und erweitert werden.
OpenCanary läuft als Daemon und implementiert mehrere gängige Netzwerkprotokolle. Wenn Angreifer in Netzwerke eindringen und mit dem Honeypot interagieren, sendet OpenCanary Ihnen über verschiedene Mechanismen Alarme.
OpenCanary ist in Python implementiert, daher ist der Kern-Honeypot plattformübergreifend; einige Funktionen erfordern jedoch bestimmte Betriebssysteme. Der Betrieb unter Linux bietet Ihnen die meisten Optionen. Er hat extrem geringe Ressourcenanforderungen; zum Beispiel lässt er sich problemlos auf einem Raspberry Pi oder einer VM mit minimalen Ressourcen bereitstellen.
Diese README beschreibt, wie OpenCanary unter Ubuntu Linux und macOS installiert und konfiguriert wird.
OpenCanary ist die Open-Source-Version unseres kommerziellen Thinkst Canary Honeypots.
Die Installation von OpenCanary umfasst im Wesentlichen die Vorbereitung der Python-Umgebung und anschließend die Installation des OpenCanary-Python-Pakets (plus optionaler Zusätze).
Wenn uv installiert ist, können Sie es zur Erstellung der virtuellen Umgebung und zur Paketinstallation verwenden. Falls es nicht installiert ist, funktioniert der unten beschriebene Standardablauf mit python/pip weiterhin.
Installation unter Ubuntu 22.04 LTS oder 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
Optional mit uv:
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary
Optionale Zusatzpakete (falls Sie das Windows-Dateifreigabe-Modul und das SNMP-Modul verwenden möchten):
$ 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
Erstellen und aktivieren Sie zunächst eine neue virtuelle Python-Umgebung:
$ virtualenv env/
$ . env/bin/activate
Optional mit uv:
$ uv venv env
$ . env/bin/activate
Macports-Benutzer sollten anschließend Folgendes ausführen:
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
Alternativ führen Homebrew-x86-Benutzer Folgendes aus:
$ 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
Homebrew-M1-Benutzer führen Folgendes aus:
$ 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
(Der obige Kompilierungsschritt ist notwendig, da mehrere OpenSSL-Versionen vorhanden sein können, die die Python-Bibliotheken durcheinanderbringen können.)
Nun kann die Installation wie gewohnt ausgeführt werden:
$ pip install opencanary
$ pip install scapy pcapy-ng # optional
Mit installiertem uv lauten die entsprechenden Befehle:
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional
Das Windows-Dateifreigabe-Modul (smb) ist unter macOS nicht verfügbar.
Um aus dem Quellcode zu installieren, führen Sie anstelle von pip Folgendes aus:
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz
Mit installiertem uv können Sie den letzten Installationsschritt wie folgt ersetzen:
$ uv pip install opencanary-<version>.tar.gz
OpenCanary ist über pkgx paketiert. Wenn pkgx installiert ist, ist keine Installation erforderlich; stellen Sie einfach dem Befehl opencanaryd ein pkgx voran. Aufgrund der Schutzmechanismen für Umgebungsvariablen in modernen sudo-Implementierungen muss der gesamte Befehl als root oder über sudo -E ausgeführt werden.
$ pkgx opencanaryd --version
OpenCanary-Docker-Images werden auf Docker Hub gehostet. Sie sind nur auf Linux-Docker-Hosts nützlich, da für genaue Netzwerkinformationen die host-Netzwerk-Engine erforderlich ist.
Wenn OpenCanary startet, sucht es in den folgenden Verzeichnissen nach Konfigurationsdateien und beendet die Suche, sobald die erste Konfiguration gefunden wird:
/etc/opencanaryd/opencanary.conf~/.opencanary.conf (d. h. das Benutzerverzeichnis des Benutzers, normalerweise root, also /root/.opencanary.conf)./opencanary.conf (d. h. das Verzeichnis, in dem OpenCanary installiert ist)Um eine initiale Konfiguration zu erstellen, führen Sie den folgenden Befehl als root aus (möglicherweise werden Sie nach einem sudo-Passwort gefragt):
$ opencanaryd --copyconfig
[*] A sample config file is ready /etc/opencanaryd/opencanary.conf