
IT, AI और OT के लिए ओपन-सोर्स, सेल्फ-होस्टेड सुरक्षा पाइपलाइन। लॉग इन। साक्ष्य बाहर।: OCSF सामान्यीकरण, 46 डिटेक्शन नियम (MITRE/ATLAS/ICS-टैग किए गए), सहसंबंध, साक्ष्य पैकेज, NIS2 ड्राफ़्ट, पुनर्निर्मित React कंसोल + GitHub Pages डेमो। Apache-2.0।
लॉग इन। साक्ष्य बाहर।
IT, AI और OT के लिए ओपन-सोर्स सुरक्षा पाइपलाइन: कच्चे लॉग से सत्यापित घटना और NIS2 अधिसूचना का ड्राफ़्ट।
प्रोजेक्ट पेज और लाइव डेमो · क्विकस्टार्ट · कंसोल · आर्किटेक्चर · स्थिति (SSOT)
बैज
mainपर नवीनतम वास्तविक रन को दर्शाते हैं, किसी वादे को नहीं। Scorecard के शेष निष्कर्ष स्वीकृत, प्रलेखित समझौते हैं, कमियाँ नहीं; देखें SSOT.md §1।
FENGARDE IT, AI और OT में सुरक्षा टेलीमेट्री को जोड़ता है ताकि दिखा सके कि क्या हुआ, किसने या किस चीज़ ने कार्रवाई की, क्या प्रभावित हुआ, घटनाएँ कैसे संबंधित हैं, और निष्कर्ष का समर्थन कौन-सा साक्ष्य करता है।
यूरोपीय औद्योगिक Mittelstand के लिए निर्मित: ओपन सोर्स, सेल्फ-होस्टेड, Apache-2.0, NIS2 घटना-अधिसूचना के ड्राफ़्ट पथ के साथ, एक नियतात्मक जर्मन/अंग्रेज़ी रिपोर्ट जनरेटर, MSP-शैली परिनियोजन के लिए ऑप्ट-इन RBAC/MFA/ऑडिट-लॉग/मल्टी-टेनेंसी, एक ऑप्ट-इन HA प्रोफ़ाइल (लाइव-किल-परीक्षित, केवल वायर्ड नहीं), और AI ट्राइएज जो कभी आपका नेटवर्क नहीं छोड़ता।
लॉग एकत्र किए जाते हैं, एक स्कीमा (OCSF) में सामान्यीकृत किए जाते हैं, स्लाइडिंग विंडो पर सहसंबंध नियमों से गुज़ारे जाते हैं, कारण-ग्राफ़ और हैश-चेन्ड साक्ष्य पैकेज के साथ घटनाओं में समूहित किए जाते हैं, और OpenSearch में अनुक्रमित किए जाते हैं। प्रत्येक सेवा स्वतंत्र है और बाकी से केवल एक मैसेज बस के माध्यम से बात करती है, इसलिए किसी भी हिस्से को बाकी को फिर से लिखे बिना स्केल या बदला जा सकता है।
OLLAMA_URL सेट होने पर स्थानीय Ollama; अन्यथा एक
लेबल किया गया नियतात्मक स्टब। अलर्ट डेटा कभी किसी तृतीय-पक्ष LLM
API से नहीं गुज़ारा जाता, और कंसोल बताता है कि वास्तव में कौन-सा इंजन चला। मापे गए दो मॉडलों में निर्णय की गुणवत्ता खराब है (qwen2.5:3b 54 लेबल किए गए अलर्ट में से 1 सही, qwen2.5:7b 54 में से 7, अधिकतर suspicious उत्तर); देखें
eval/llm_triage/RESULTS.md।OpenSearch, Elastic नहीं: स्टोरेज इंजन पर कोई लाइसेंस एस्टरिस्क नहीं (ADR 003)। जानने योग्य बात है, लेकिन Wazuh के मुकाबले कोई विभेदक नहीं (इसका इंडेक्सर भी OpenSearch का ही फोर्क है)।
| तरीका | आवश्यकता | आपको क्या मिलेगा |
|---|---|---|
| प्रोजेक्ट पेज | एक ब्राउज़र | एक लैब रन की रिकॉर्डिंग पर असली कंसोल, जिसमें एक रीप्ले करने योग्य हमला, आर्किटेक्चर, सभी 46 नियम और चार रिकॉर्ड किए गए वॉकथ्रू शामिल हैं। स्टैटिक; लिखावट आपके ब्राउज़र में ही रहती है (docs/console-demo.md बताता है कि वास्तव में क्या असली है)। |
make e2e | Python 3 | असली अलर्ट तक SSH ब्रूट-फ़ोर्स, रीप्ले के अंतर्गत इडेम्पोटेंट। कोई Docker, Redis या OpenSearch नहीं। |
make demo | Docker | पूरा लाइव स्टैक; लगभग एक मिनट के भीतर कंसोल में एक असली ब्रूट-फ़ोर्स अलर्ट दिखाई देता है। |
git clone https://github.com/supermhel/fengarde.git && cd fengarde
make preflight # doctor: checks vm.max_map_count, Docker RAM, free ports
make demo # docker compose up -- a real SSH brute-force alert appears
# in the dashboard within ~30-60s, no manual step
# open http://localhost:8080
Docker उपलब्ध नहीं है? पूरी डिटेक्शन पाइपलाइन शून्य-इन्फ्रा पर चलती है:
make e2e # SSH brute-force -> real alert -> idempotent replay, no Docker/Redis/OpenSearch
bash tools/demo.sh # same test, narrated (Windows: powershell -File tools\demo.ps1)
आप क्या देख रहे हैं: 60 सेकंड के भीतर एक ही IP से 10 असफल लॉगिन (SSH
Failed password या Windows EventID 4625 — दोनों समान OCSF
Authentication इवेंट में सामान्यीकृत होते हैं) common_bruteforce.yml
को ट्रिप करते हैं
(threshold: 10, window_seconds: 60, स्रोत IP द्वारा समूहीकृत), और अलर्ट
डैशबोर्ड की अलर्ट सूची में आ जाता है, पुनः-वितरण के अंतर्गत idempotent रहता है।
पूर्वापेक्षाएँ: Docker Desktop या Docker Engine + Compose v2, Docker को
आवंटित ≥4 GB RAM; Linux, macOS, या WSL2 के माध्यम से Windows (Linux कंटेनर,
POSIX sh स्क्रिप्ट)। Python 3 केवल तभी आवश्यक है यदि आप कोई पार्सर योगदान कर रहे हैं — उसके लिए
Docker की आवश्यकता नहीं है (देखें Contributing)।
vm.max_map_count बढ़ाना आवश्यक हैsudo sysctl -w vm.max_map_count=262144
# persist across reboots:
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-fengarde.conf
इसके बिना, OpenSearch एक JVM क्रैश के साथ विफल हो जाता है, न कि किसी सहायक त्रुटि के साथ। macOS Docker Desktop पर इसकी आवश्यकता नहीं है (इसके VM के अंदर संभाला जाता है)। make preflight आपके लिए इसकी जाँच करता है और यदि कुछ भी अनुपस्थित हो तो सटीक समाधान प्रिंट करता है।
अन्य लक्ष्य:
make test # full zero-infra contract test suite, no Docker needed
make up # start the stack detached
make down # stop the stack, remove volumes
make ha-up # opt-in: Redis Sentinel + 3-node OpenSearch HA (needs REDIS_PASSWORD)
make ha-down # stop the HA profile, remove its volumes