
Corelight या Zeek Elastic Common Schema Templates
यह रिपॉज़िटरी Corelight या Zeek लॉग्स को Elastic Common Schema (ECS) नामकरण मानक में बदलने और उन्हें Elastic Stack डिप्लॉयमेंट में संग्रहीत करने के लिए आवश्यक सब कुछ शामिल करती है। मूल रूप से 2019 में रिलीज़ हुई, Elastic Common Schema के उसी वर्ष, यह रिपॉज़िटरी अभी भी सक्रिय रूप से अनुरक्षित और अद्यतन की जाती है।
यह 200 से अधिक विभिन्न लॉग्स और मेट्रिक्स का समर्थन करती है और इस तरह डिज़ाइन की गई है कि यह सभी वातावरणों का समर्थन कर सके, साथ ही प्रत्येक अद्वितीय वातावरण का समर्थन करने के लिए आवश्यक और वांछित विकल्पों को अनुकूलित करने में सक्षम हो।
सभी वातावरणों में समर्थन सुनिश्चित करने के लिए महत्वपूर्ण प्रयास किया गया है, साथ ही प्रत्येक अद्वितीय और संबंधित डिप्लॉयमेंट के अनुरूप आवश्यक और वांछित विकल्पों के अनुकूलन की अनुमति भी दी गई है।
यह रिपॉज़िटरी मुख्य रूप से दो चीज़ों से बनी है:
फ़ाइलें और स्वचालन स्क्रिप्ट BSD लाइसेंस के अंतर्गत ओपन-सोर्स हैं। विवरण के लिए COPYING देखें।
कृपया स्क्रिप्ट चलाने से पहले सभी अनुभाग पढ़ें।
corelight_ecs.py स्क्रिप्ट का उपयोग करना। टेम्पलेट्स और पाइपलाइनों को मैन्युअल रूप से इंस्टॉल करना समर्थित नहीं है क्योंकि फ़ाइलों में सैकड़ों वेरिएबल होते हैं जिन्हें स्क्रिप्ट द्वारा प्रतिस्थापित किया जाता है।इंडेक्स सेटिंग्स, मैपिंग्स, एलियासेस और ILM नीतियों को अनुकूलित करना प्रोत्साहित किया जाता है। इसलिए, स्क्रिप्ट कई प्रकार के अनुकूलन का समर्थन करने के लिए डिज़ाइन की गई है (नीचे विस्तार से दिया गया है)।
कई अनुकूलन की आवश्यकता नहीं होगी, लेकिन विकल्प होना बेहतर है। शार्ड्स/रीप्लिका और ILM नीति की अपनी संख्या का उपयोग करने की हमेशा अनुशंसा की जाती है, लेकिन उससे परे आपको अधिक अनुकूलन करने की आवश्यकता नहीं होनी चाहिए। हालाँकि यदि आप सामान्य रूप से अपने सभी डिप्लॉयमेंट में इंडेक्स टेम्पलेट्स, इनजेस्ट पाइपलाइनों और logstash पाइपलाइनों में कई चीज़ों को अनुकूलित करते हैं, तो आपके पास अभी भी क्षमता होगी।
अधिक विवरण के लिए नीचे प्रत्येक अनुभाग देखें।
यदि आप अपने डेटा स्ट्रीम के लिए कस्टम इंडेक्स नाम/पैटर्न चुनना चाहते हैं तो स्क्रिप्ट आपसे पूछेगी। यह आपको अपनी स्वयं की इंडेक्स नामकरण परंपरा चुनने की अनुमति देता है। उदाहरण के लिए आप चुन सकते हैं:
logs-corelight.conn-defaultecs-corelight.conn-defaultcall_it_what_you_will.conn-defaultlogs-corelight.conn-remotesite1इसके बाद यह सभी आवश्यक इंडेक्स टेम्पलेट्स को भी अपडेट करेगी, यदि आपने ingest पाइपलाइनों या logstash पाइपलाइनों को चुना है।
डिफ़ॉल्ट बदलने की अनुशंसा नहीं की जाती है, क्योंकि Corelight लॉग अब ECS डेटा के अन्य सभी प्रकारों के साथ काम करने और logs-* जैसे Kibana डेटा दृश्य के भीतर से उपयोग किए जाने के लिए सेट हैं।
मल्टी-टेनेंट वातावरण जैसे MSSPs/CSSPs या विभिन्न नेटवर्कों के लिए, आप स्क्रिप्ट प्रॉम्प्ट में डेटा स्ट्रीम का संगठन भाग चुन सकते हैं (जो ऊपर 3 उदाहरणों में default भाग है), हालाँकि यदि आप filebeat में data_stream.namespace सेट करते हैं या किसी अन्य विधि से या पाइपलाइनों को हुक करते हैं, तो पाइपलाइनें यह सम्मान करने के लिए सेट हैं कि यदि वह वेरिएबल पहले से सेट है तो उसे ओवरराइड न करें। बस सुनिश्चित करें कि आपका namespace ऐसे मान पर सेट है जिसे Elasticsearch इंडेक्स नाम के लिए अनुमति देता है (सामान्य गलती जो कभी-कभी स्पष्ट नहीं होती है)।
आप Google Sheet में उपयोग किए जाने वाले इंडेक्स पैटर्न और प्रत्येक लॉग के लिए डिफ़ॉल्ट देख सकते हैं। साथ ही, प्रत्येक लॉग के लिए event.category, event.kind, आदि जैसी कुछ अतिरिक्त जानकारी भी सूचीबद्ध करता है।
प्रत्येक इंडेक्स टेम्पलेट को एक कंपोनेंट टेम्पलेट को कॉल करने के लिए निर्दिष्ट किया गया है जिसका उपयोग आप इंडेक्स सेटिंग्स को ओवरराइड करने के लिए कर सकते हैं। इसलिए अपनी स्वयं की इंडेक्स सेटिंग्स का उपयोग करने के लिए आपको रिपॉज़िटरी इंडेक्स टेम्पलेट्स को संशोधित करने की आवश्यकता नहीं है।
निम्नलिखित कंपोनेंट टेम्पलेट्स बनाएं या इंस्टॉल के बाद उन्हें संशोधित करें। जिन कंपोनेंट टेम्पलेट्स को आप संशोधित कर सकते हैं उनके नाम हैं:
सभी लॉग्स को कवर करने के लिए (5 श्रेणियों में विभाजित):
corelight-ecs-component-metric_log-base-settings@customcorelight-ecs-component-parse_failures-base-settings@customcorelight-ecs-component-protocol_log-base-settings@customcorelight-ecs-component-system_log-base-settings@customcorelight-ecs-component-unknown_log-base-settings@customउपरोक्त के अलावा व्यक्तिगत लॉग्स को कवर करने के लिए, जिन्हें अक्सर अपनी स्वयं की सेटिंग्स की और अधिक विशिष्ट आवश्यकता होती है:
corelight-ecs-component-protocol_log-conn-base-settings@customcorelight-ecs-component-protocol_log-dns-base-settings@customcorelight-ecs-component-protocol_log-files-base-settings@customcorelight-ecs-component-protocol_log-http-base-settings@customcorelight-ecs-component-protocol_log-smb-base-settings@customcorelight-ecs-component-protocol_log-smtp-base-settings@customcorelight-ecs-component-protocol_log-ssl-base-settings@customcorelight-ecs-component-protocol_log-suricata_corelight-base-settings@customcorelight-ecs-component-protocol_log-syslog-base-settings@customcorelight-ecs-component-protocol_log-various-base-settings@customcorelight-ecs-component-protocol_log-weird-base-settings@customcorelight-ecs-component-protocol_log-x509-base-settings@customप्रत्येक इंडेक्स टेम्पलेट को एक कंपोनेंट टेम्पलेट को कॉल करने के लिए निर्दिष्ट किया गया है जिसका उपयोग आप फ़ील्ड प्रकारों या नामों जैसी चीज़ों के लिए इंडेक्स मैपिंग्स को ओवरराइड करने के लिए कर सकते हैं। इसलिए अपनी स्वयं की इंडेक्स मैपिंग्स का उपयोग करने के लिए आपको रिपॉज़िटरी इंडेक्स टेम्पलेट्स को संशोधित करने की आवश्यकता नहीं है।
निम्नलिखित कंपोनेंट टेम्पलेट्स बनाएं या इंस्टॉल के बाद उन्हें संशोधित करें। जिन कंपोनेंट टेम्पलेट्स को आप संशोधित कर सकते हैं उनके नाम हैं: