
कम-संसाधन हनीपॉट जो सामान्य नेटवर्क सेवाओं का अनुकरण करके उल्लंघन-पश्चात हमलावर गतिविधि का पता लगाता है, जिसमें विस्तार योग्य प्रोटोकॉल मॉड्यूल और कॉन्फ़िगर करने योग्य अलर्टिंग शामिल है।
OpenCanary एक मल्टी-प्रोटोकॉल नेटवर्क हनीपॉट है। इसका प्राथमिक उपयोग-मामला हैकर्स को तब पकड़ना है जब वे गैर-सार्वजनिक नेटवर्क में सेंध लगा चुके हों। इसकी संसाधन आवश्यकताएँ बेहद कम हैं और इसे समायोजित, संशोधित और विस्तारित किया जा सकता है।
OpenCanary एक डेमॉन के रूप में चलता है और कई सामान्य नेटवर्क प्रोटोकॉल लागू करता है। जब हमलावर नेटवर्क में सेंध लगाते हैं और हनीपॉट के साथ इंटरैक्ट करते हैं, तो OpenCanary आपको विभिन्न तंत्रों के माध्यम से अलर्ट भेजेगा।
OpenCanary Python में लागू किया गया है, इसलिए मूल हनीपॉट क्रॉस-प्लेटफ़ॉर्म है; हालाँकि, कुछ सुविधाओं के लिए विशिष्ट OS की आवश्यकता होती है। Linux पर चलाने से आपको सबसे अधिक विकल्प मिलेंगे। इसकी संसाधन आवश्यकताएँ बेहद कम हैं; उदाहरण के लिए, इसे Raspberry Pi या न्यूनतम संसाधनों वाले VM पर आसानी से तैनात किया जा सकता है।
यह README बताता है कि Ubuntu Linux और MacOS पर OpenCanary को कैसे स्थापित और कॉन्फ़िगर किया जाए।
OpenCanary हमारे व्यावसायिक Thinkst Canary हनीपॉट का ओपन सोर्स संस्करण है।
OpenCanary की स्थापना में अनिवार्य रूप से Python वातावरण तैयार सुनिश्चित करना, फिर OpenCanary Python पैकेज (साथ ही वैकल्पिक अतिरिक्त चीज़ें) स्थापित करना शामिल है।
यदि uv स्थापित है, तो आप इसका उपयोग वर्चुअल वातावरण निर्माण और पैकेज स्थापना के लिए कर सकते हैं। यदि यह स्थापित नहीं है, तो नीचे दिया गया मानक python/pip प्रवाह काम करता रहता है।
Ubuntu 22.04 LTS या 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
वैकल्पिक uv समकक्ष:
$ uv venv env
$ . env/bin/activate
$ uv pip install opencanary
वैकल्पिक अतिरिक्त चीज़ें (यदि आप Windows File Share मॉड्यूल और 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
सबसे पहले, एक नया Python वर्चुअल वातावरण बनाएँ और सक्रिय करें:
$ virtualenv env/
$ . env/bin/activate
वैकल्पिक uv समकक्ष:
$ uv venv env
$ . env/bin/activate
Macports उपयोगकर्ताओं को फिर यह चलाना चाहिए:
$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
वैकल्पिक रूप से, Homebrew x86 उपयोगकर्ता यह चलाएँ:
$ 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 उपयोगकर्ता यह चलाएँ:
$ 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
(ऊपर दिया गया संकलन चरण आवश्यक है क्योंकि कई OpenSSL संस्करण मौजूद हो सकते हैं, जो Python लाइब्रेरियों को भ्रमित कर सकते हैं।)
अब स्थापना हमेशा की तरह चल सकती है:
$ pip install opencanary
$ pip install scapy pcapy-ng # optional
uv स्थापित होने पर, समकक्ष कमांड हैं:
$ uv pip install opencanary
$ uv pip install scapy pcapy-ng # optional
Windows File Share (smb) मॉड्यूल macOS पर उपलब्ध नहीं है।
pip चलाने के बजाय स्रोत से स्थापित करने के लिए, निम्नलिखित करें:
$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ python setup.py sdist
$ cd dist
$ pip install opencanary-<version>.tar.gz
uv स्थापित होने पर, आप अंतिम स्थापना चरण को इसके साथ बदल सकते हैं:
$ uv pip install opencanary-<version>.tar.gz
OpenCanary pkgx के माध्यम से पैकेज किया गया है, इसलिए यदि pkgx स्थापित है तो किसी स्थापना की आवश्यकता नहीं है, बस opencanaryd कमांड के आगे pkgx लगाएँ। आधुनिक sudo कार्यान्वयनों में पर्यावरण चर सुरक्षाओं के कारण, पूरी कमांड को root के रूप में, या sudo -E के माध्यम से चलाया जाना चाहिए।
$ pkgx opencanaryd --version
OpenCanary Docker इमेज Docker Hub पर होस्ट की जाती हैं। ये केवल Linux Docker होस्ट पर उपयोगी हैं, क्योंकि सटीक नेटवर्क जानकारी के लिए host नेटवर्क इंजन आवश्यक है।
जब OpenCanary शुरू होता है तो यह निम्नलिखित स्थानों पर कॉन्फ़िग फ़ाइलों की तलाश करता है और पहला कॉन्फ़िगरेशन मिलते ही रुक जाता है:
/etc/opencanaryd/opencanary.conf~/.opencanary.conf (अर्थात उपयोगकर्ता की होम निर्देशिका, आमतौर पर यह root होगी इसलिए /root/.opencanary.conf)./opencanary.conf (अर्थात वह निर्देशिका जहाँ OpenCanary स्थापित है)प्रारंभिक कॉन्फ़िगरेशन बनाने के लिए, root के रूप में चलाएँ (आपसे 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"
यह पथ और फ़ाइल /etc/opencanaryd/opencanary.conf बनाता है। अब आपको यह निर्धारित करने के लिए कॉन्फ़िग फ़ाइल संपादित करनी होगी कि आप कौन सी सेवाएँ और लॉगिंग विकल्प सक्षम करना चाहते हैं।
[!WARNING] कॉन्फ़िग फ़ाइल में जटिल डेटा शामिल है, जिसमें लॉगिंग कॉन्फ़िगरेशन के लिए Python ऑब्जेक्ट शामिल हैं। कॉन्फ़िगरेशन को root विशेषाधिकारों के साथ चल रही प्रक्रिया के दौरान पढ़ा जाता है। हम अनुशंसा करते हैं कि फ़ाइल को root-स्वामित्व वाली और केवल root द्वारा लिखने योग्य बनाएँ। यदि सामान्य उपयोगकर्ता फ़ाइल लिख सकते हैं, तो विशेषाधिकारों को root तक बढ़ाना संभव है।