
Community ID प्रवाह हैशिंग के लिए Zeek समर्थन।
यह Zeek पैकेज Community ID फ्लो हैशिंग के लिए समर्थन प्रदान करता है, जो नेटवर्क मॉनिटरों में ट्रैफ़िक फ्लो को लेबल करने का एक मानकीकृत तरीका है। लोड होने पर, पैकेज conn.log में एक community_id स्ट्रिंग फ़ील्ड जोड़ता है।
नोट
Zeek 6 और उसके बाद के संस्करणों में Community ID समर्थन शामिल है। उन Zeek संस्करणों का उपयोग करते समय आपको इस पैकेज की आवश्यकता नहीं रहती। विवरण के लिए कृपया दस्तावेज़ देखें।
यह पैकेज हैशिंग तर्क को लागू करने के लिए एक BiF लागू करता है और इस प्रकार इसे बाइनरी संकलन की आवश्यकता होती है, इसलिए यह एक Zeek प्लगइन भी है। परिणामी conn.log का एक उदाहरण यहाँ दिया गया है:
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path conn
#open 2018-01-31-13-06-56
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig local_resp missed_bytes history orig_pkts orig_ip_bytes resp_pkts resp_ip_bytes tunnel_parents community_id
#types time string addr port addr port enum string interval count count string bool bool count string count count count count set[string] string
1071580904.891921 CPcWB54kqKkvkdNEXe 128.232.110.120 34855 66.35.250.204 80 tcp - 0.311104 496 1731 SF - - 2227 ShADadfF 6 816 6 2051 - 1:LQU9qZlK+B5F3KDmev6m5PMibrg=
#close 2018-01-31-13-06-56
पैकेज Zeek के notice.log में कनेक्शन संदर्भ वाली सूचनाओं (notices) के लिए Community ID का समर्थन करता है। यदि आप इस कार्यक्षमता का उपयोग करना चाहते हैं, तो अपनी local.zeek या समान साइट-स्थानीय कॉन्फ़िगरेशन में निम्न पंक्ति डालें:
@load zeek-community-id/notice
जब Community ID पैकेज स्वयं लोड न हो, तो इस पंक्ति का कोई प्रभाव नहीं होता। यह अतिरिक्त-स्क्रिप्ट दृष्टिकोण सुनिश्चित करता है कि जो उपयोगकर्ता अपने notice.log में ID नहीं चाहते, उनका लॉग एक अतिरिक्त कॉलम से अव्यवस्थित न हो जो हमेशा अप्रयुक्त रहता है।
Community ID स्पेक वर्तमान में कई प्रोटोकॉल समूहों के लिए समर्थन की परिकल्पना करता है जिनके लिए Zeek फ्लो-स्तरीय स्थिति नहीं रखता, क्योंकि उसके विश्लेषकों को पता नहीं होता कि उस ट्रैफ़िक के साथ क्या करना है। ऐसे फ्लो के लिए Zeek कभी भी पैकेज द्वारा उपयोग किए जाने वाले कनेक्शन-संबंधी इवेंट को ट्रिगर नहीं करता, इसलिए conn.log में कोई आउटपुट भी नहीं होगा। (यदि ऐसे प्रोटोकॉल होते जिन्हें Zeek फ्लो स्तर पर ट्रैक करता है लेकिन प्लगइन समर्थन नहीं करता, तो रिपोर्ट की गई ID खाली होती।) हम वर्तमान में IPv4 या IPv6 पर TCP और UDP के साथ-साथ ICMPv4 और ICMPv6 का समर्थन करते हैं। हम अन्य ट्रांसपोर्ट-स्तरीय प्रोटोकॉल (जैसे SCTP), या असमर्थित ट्रांसपोर्ट लेयर प्रोटोकॉल के लिए सामान्य IP-पता-युग्म फ्लो का समर्थन नहीं करते।
पैकेज का नाम zeek-community-id है; प्लगइन का नाम Corelight::CommunityID है। आप पैकेज के कॉन्फ़िगरेशन विकल्प संबंधित Zeek स्क्रिप्ट में देख सकते हैं।
Community ID पैकेज 2.6.4 के बाद से किसी भी Zeek संस्करण के साथ काम करता है। चूँकि तब से Zeek कोडबेस में काफी बदलाव हुए हैं, पैकेज संगतता शाखाएँ प्रदान करता है जो विशिष्ट Zeek संस्करण श्रेणियों का समर्थन करती हैं, जो पठनीय कोड और स्थापना तथा शाखा प्रबंधन में आसानी के बीच संतुलन बनाती हैं।
zeek/x.y और master शाखाओं पर, git टैग Community ID रिलीज़ को लेबल करते हैं। उदाहरण के लिए, 3.1.0 zeek/3.1 शाखा पर पहली रिलीज़ है, और 3.1 श्रृंखला के किसी भी Zeek के साथ काम करती है। Zeek 3.1 श्रृंखला के लिए अगली Community ID रिलीज़ का नाम 3.1.1 होगा और वह भी इसी शाखा पर होगी, उसके बाद 3.1.2, आदि। (इसलिए यह सिमेंटिक वर्ज़निंग नहीं है।)
प्रत्येक शाखा zkg.meta में Zeek संस्करण संगतता विंडो भी घोषित करती है, इसलिए यह असंगत Zeek संस्करण के साथ स्थापित नहीं होगी। उदाहरण के लिए, master शाखा को वर्तमान में कम से कम Zeek 3.2.0 की आवश्यकता होती है, जिसकी कोई ऊपरी सीमा नहीं है।
यहाँ Zeek संस्करणों, git टैगों और git शाखाओं के मेल का सारांश दिया गया है:
| Zeek संस्करण | Git टैग | Git शाखा |
|---|---|---|
| 2.6.4 - 3.0.x | 3.0.y | zeek/3.0 |
| 3.1.x | 3.1.y | zeek/3.1 |
| 3.2.x - master | 3.2.y | master |
पैकेज में btests शामिल हैं जो प्लगइन लोडिंग को सत्यापित करते हैं और बेसलाइन किए गए Zeek कंसोल आउटपुट की जाँच के लिए शामिल परीक्षण pcaps को Zeek के माध्यम से चलाते हैं। आप इन्हें tests निर्देशिका में btest -c btest.cfg कमांड के साथ चला सकते हैं।
प्रश्नों और प्रतिक्रिया के लिए, कृपया Zeek मेलिंग सूची या Zeek Slack पर संपर्क करें। Github पर मुद्दे (issues) और PR का स्वागत है।