
deadair v0.4.0
आपके SIEM में ब्लाइंड डिटेक्शन नियमों को ढूंढता है
deadair जाँचता है कि सक्षम SIEM डिटेक्शन के पास अभी भी वह टेलीमेट्री है जिसकी उन्हें आवश्यकता है।
यह अनुपलब्ध या पुराने डेटा, इनजेस्ट विलंब, और स्कीमा बेमेल की रिपोर्ट करता है।
स्थानीय रूप से चलता है · केवल-पठन · कोई एजेंट नहीं · कोई टेलीमेट्री अपलोड नहीं
तकनीकी लेख पढ़ें · Detection Engineering Weekly में विशेष रूप से शामिल · tl;dr sec #341 में विशेष रूप से शामिल
एक डिस्पोज़ेबल Elastic लैब में अनुपलब्ध फ़ील्ड और विलंबित इवेंट। प्लेबैक नियंत्रणों के साथ संक्षिप्त रिकॉर्डिंग के लिए छवि खोलें, या make record-scan-lab के साथ इसे पुनः उत्पन्न करें।
deadair क्यों
एक नियम सक्षम, शेड्यूल्ड, और त्रुटि-मुक्त हो सकता है, भले ही उसे जिस डेटा की आवश्यकता है वह गायब हो चुका हो। deadair लाइव नियम इन्वेंटरी पढ़ता है, बैकएंड के मूल सेमांटिक्स का उपयोग करके प्रत्येक नियम के इनपुट को हल करता है, और उनके पीछे के ठोस स्रोतों की जाँच करता है।
यह पकड़ता है:
- वे नियम जिनके index, alias, या data-stream सेलेक्टर कुछ भी हल नहीं करते;
- मिश्रित-सेलेक्टर नियम जहाँ एक घोषित इनपुट गायब हो गया है जबकि दूसरा अभी भी हल होता है;
- वे नियम जिनके मेल खाते सभी स्रोत पुराने या खाली हैं;
- Elastic पर, घोषित फ़ील्ड गायब होने पर चलने वाले नियम;
- Elastic और पात्र Sentinel Scheduled नियमों पर, एक इनजेस्ट-लैग ब्लाइंड विंडो;
- Sentinel पर, वे नियम जिनके ज्ञात स्रोत असंगत Basic या Auxiliary टेबल प्लान का उपयोग करते हैं;
- Elastic और OpenSearch पर, स्वस्थ टेलीमेट्री जिसे कोई सक्षम डिटेक्शन नहीं पढ़ता।
deadair Elastic Security, OpenSearch Security Analytics, और Microsoft Sentinel का समर्थन करता है।
त्वरित शुरुआत
macOS, Linux, या Windows के लिए बाइनरी GitHub Releases से डाउनलोड करें, या Go के साथ इंस्टॉल करें:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
अपने SIEM के लिए केवल-पठन सेटअप प्रिंट करें:
deadair setup elastic # Elastic Security
deadair setup opensearch # OpenSearch Security Analytics
deadair setup sentinel # Microsoft Sentinel
एक सेटअप चलाएँ, फिर सत्यापित करें और स्कैन करें:
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
एग्ज़िट कोड स्थिर हैं: 0 कॉन्फ़िगर किए गए गेट को पास करता है, 1 का अर्थ है गेटेड फ़ाइंडिंग्स, और 2 का अर्थ है स्कैन विफल हो गया।
किसी स्रोत और उसके उपभोग करने वाले डिटेक्शन की जाँच करने के लिए:
deadair scan --json-out report.json --html-out report.html
deadair inspect --source CommonSecurityLog report.json
अपनी रिपोर्ट से एक स्रोत नाम का उपयोग करें। जाँच गाइड में व्यक्तिगत Sentinel फ़ीड, रखरखाव, और रिकवरी ट्रैकिंग भी शामिल है।
यह कैसे काम करता है
| चरण | deadair क्या करता है |
|---|---|
| इन्वेंटरी | सक्षम डिटेक्शन और उनके द्वारा घोषित इनपुट पढ़ता है |
| हल करना | Elastic और OpenSearch पर मूल index रिज़ॉल्यूशन का उपयोग करता है; Sentinel पर, KQL विश्लेषण को table, watchlist, saved-function, ASIM, और मैप किए गए क्रॉस-वर्कस्पेस साक्ष्य के साथ जोड़ता है |
| मापना | स्रोत की ताज़गी और समय, साथ ही स्कीमा और स्टोरेज की जाँच करता है जहाँ बैकएंड उनका समर्थन करता है |
| रिपोर्ट | प्रत्येक निर्णय के पीछे के साक्ष्य के साथ terminal, JSON, HTML, fleet रोलअप, और Prometheus मेट्रिक्स उत्सर्जित करता है |
Sentinel उसी rule-to-source मॉडल का पालन करता है और शाब्दिक watchlists, saved functions, ASIM parsers, mapped workspaces, और summary-table lineage जोड़ता है। यह तब भी दिखाता है जब किसी साझा टेबल का फ़िल्टर किया गया स्लाइस शांत हो गया हो या कोई summary pipeline पीछे रह गया हो।
उपयोग गाइड साक्ष्य नियमों का वर्णन करती है, और सत्यापन रिकॉर्ड लाइव परीक्षण कवरेज को रिकॉर्ड करता है।
दो फ़ायरवॉल फ़ीड CommonSecurityLog साझा करते हैं। एक रुक जाता है; दूसरा रिपोर्ट करता रहता है। रिकॉर्डिंग सहेजे गए विफलता और रिकवरी स्कैन दिखाती है। लैब स्थितियों के लिए सत्यापन रिकॉर्ड देखें।
deadair जाँचता है कि किसी डिटेक्शन की टेलीमेट्री मौजूद और स्वस्थ है या नहीं। यह नियम लॉजिक को मान्य नहीं करता या यह सिद्ध नहीं करता कि कोई सिम्युलेटेड हमला अलर्ट ट्रिगर करेगा। उन कार्यों के लिए स्टैटिक नियम सत्यापन और एंड-टू-एंड डिटेक्शन परीक्षणों का उपयोग करें।
फ़ाइंडिंग्स
| फ़ाइंडिंग | अर्थ | पहली जाँच |
|---|---|---|
| कोई मेल खाता स्रोत नहीं | नियम के किसी भी इनपुट का किसी दृश्यमान index, data stream, या Sentinel table में रिज़ॉल्यूशन नहीं होता | पैटर्न परिवर्तन, अनुपलब्ध इंटीग्रेशन, और क्रेडेंशियल स्कोप |
| सभी स्रोत पुराने या खाली | प्रत्येक हल किया गया स्रोत इस समय अनुपयोगी है | स्रोत कैडेंस और इनजेस्ट पथ |
| अनुपलब्ध फ़ील्ड | प्रत्येक स्रोत मैपिंग पढ़े जाने के बाद एक Elastic नियम-घोषित फ़ील्ड एक या अधिक हल किए गए स्रोतों में अनुपस्थित या गैर-खोजने योग्य है | parser, package, और mapping परिवर्तन |
| लैग ब्लाइंड विंडो | युग्मित-इवेंट p95 इनजेस्ट लैग नियम के lookback मार्जिन से अधिक है | नियम अंतराल, lookback, timestamp override, और pipeline विलंब |
| आंशिक इनपुट कवरेज | पूर्ण अभिव्यक्ति हल हो जाती है, लेकिन उसके भीतर एक positive selector खाली हल होता है | माइग्रेशन, fallback selectors, और अपेक्षित विकल्प; सूचनात्मक जब तक नीति इसे गेट न करे |
| स्रोत प्लान असंगत | एक Sentinel नियम ऐसी Basic या Auxiliary टेबल पर निर्भर करता है जो analytics-rule साक्ष्य पथ के लिए पात्र नहीं है | टेबल प्लान और नियम प्रकार |
| स्रोत गिरावट | एक स्रोत पुराना, खाली, कम-वॉल्यूम, या schema-drifted है | स्रोत इतिहास और अपेक्षित रखरखाव |
| अप्रयुक्त टेलीमेट्री | Elastic या OpenSearch पर, डेटा संग्रहीत किया जा रहा है लेकिन कोई सक्षम स्थानीय डिटेक्शन उस तक नहीं पहुँचता | अक्षम नियम और जानबूझकर संग्रह |
| अपेक्षित producer शांत | एक कॉन्फ़िगर किया गया Sentinel vendor, product, या device फ़ीड ने अपनी सीमा के भीतर रिपोर्ट नहीं किया है | उस फ़ीड का sender और collector |
| summary pipeline अस्वस्थ | एक प्रासंगिक Sentinel summary job विफल हो गया या उसकी अंतिम सफलता अतिदेय है | मूल execution record और summary query |

