
आपके Kafka क्लस्टर में छिपी हुई चीज़ों को पकड़ें।
अपने Kafka क्लस्टर में छिपी चीज़ों को पकड़ें।
Kcatcher एक कमांड-लाइन उपयोगिता है जो Kafka क्लस्टर कॉन्फ़िगरेशनों की गणना और मूल्यांकन करने के लिए है। यह Apache Kafka क्लस्टरों से जुड़ता है और ब्रोकर्स, टॉपिक्स, ACLs, और यहां तक कि संदेशों के नमूनों के बारे में विस्तृत जानकारी प्राप्त करता है। सुरक्षा ऑडिट, बुनियादी ढांचे के आकलन, या बस अपने Kafka वातावरण में क्या चल रहा है यह समझने के लिए एकदम सही।

यदि आपके पास एक कार्यात्मक Go वातावरण है, तो आप इसके साथ इंस्टॉल कर सकते हैं:
go install github.com/RoseSecurity/kcatcher@latest
पैकेज इंस्टॉल करने के लिए, आप स्वचालित रूप से रिपॉजिटरी सेटअप कर सकते हैं:
curl -1sLf \
'https://dl.cloudsmith.io/public/rosesecurity/kcatcher/setup.deb.sh' \
| sudo -E bash
रिपॉजिटरी कॉन्फ़िगर हो जाने के बाद, आप इसके साथ इंस्टॉल कर सकते हैं:
apt install kcatcher
git clone [email protected]:RoseSecurity/kcatcher.git
cd kcatcher
make build
Kafka क्लस्टर से कनेक्ट करें और ब्रोकर और टॉपिक मेटाडेटा प्राप्त करें:
kcatcher -b kafka-broker-1,kafka-broker-2
एक गैर-डिफ़ॉल्ट Kafka पोर्ट निर्दिष्ट करें:
kcatcher -b kafka-broker-1 -p 9093
क्लस्टर पर कॉन्फ़िगर की गई एक्सेस कंट्रोल सूचियाँ प्राप्त करें:
kcatcher -b kafka-broker-1 --acls
किसी विशिष्ट टॉपिक से हाल के संदेशों के नमूने लें:
kcatcher -b kafka-broker-1 --sample-topic my-topic --sample-count 5
आगे की प्रक्रिया के लिए JSON प्रारूप में परिणाम आउटपुट करें:
kcatcher -b kafka-broker-1 --acls -o json
ब्रोकर और टॉपिक कॉन्फ़िगरेशन प्राप्त करें:
kcatcher -b kafka-broker-1 --configs
अपने Kafka क्लस्टर पर एक व्यापक सुरक्षा विश्लेषण चलाएँ:
kcatcher -b kafka-broker-1 --analyze
पूर्ण मूल्यांकन के लिए ACL और कॉन्फ़िगरेशन गणना के साथ संयोजित करें:
kcatcher -b kafka-broker-1 --acls --configs --analyze
सुरक्षा विश्लेषण आपके क्लस्टर का मूल्यांकन पाँच श्रेणियों में 20 अंतर्निहित सुरक्षा नियमों के विरुद्ध करता है: प्रमाणीकरण, प्राधिकरण, एन्क्रिप्शन, एक्सेस कंट्रोल, और कॉन्फ़िगरेशन। परिणामों में एक सुरक्षा स्कोर (0-100), एक अक्षर ग्रेड, और सुधार मार्गदर्शन के साथ विस्तृत निष्कर्ष शामिल हैं।
सुरक्षा विश्लेषण इंजन आपके Kafka क्लस्टर का निम्नलिखित नियमों के विरुद्ध मूल्यांकन करता है:
विश्लेषण 0-100 तक एक सुरक्षा स्कोर और एक अक्षर ग्रेड उत्पन्न करता है:
बग रिपोर्ट और सुविधा अनुरोधों के लिए, कृपया issue ट्रैकर का उपयोग करें।
PRs का स्वागत है! हम सामान्य "fork-and-pull" Git वर्कफ़्लो का पालन करते हैं।
[!TIP] पुल रिक्वेस्ट बनाने से पहले "upstream" से नवीनतम बदलावों को मर्ज करना सुनिश्चित करें!
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|
-b, --brokers | गणना करने के लिए Kafka ब्रोकर्स की सूची (आवश्यक) | - |
-p, --port | Kafka ब्रोकर पोर्ट | 9092 |
-t, --timeout | कनेक्शन टाइमआउट अवधि | 10s |
-o, --output | आउटपुट प्रारूप (text या json) | text |
--acls | ACL गणना सक्षम करें | false |
--configs | ब्रोकर और टॉपिक कॉन्फ़िगरेशन पुनर्प्राप्ति सक्षम करें | false |
--analyze | क्लस्टर कॉन्फ़िगरेशन पर सुरक्षा विश्लेषण चलाएँ | false |
--metadata | क्लस्टर मेटाडेटा दिखाएं (स्वतः सक्षम जब तक केवल --analyze न हो) | true |
--sample-topic | संदेशों के नमूने लेने के लिए टॉपिक | - |
--sample-count | नमूना लेने के लिए संदेशों की संख्या | 10 |
| नियम आईडी | नाम | गंभीरता | विवरण |
|---|
| AUTH001 | कोई प्रमाणीकरण कॉन्फ़िगर नहीं | गंभीर | जब कोई प्रमाणीकरण तंत्र कॉन्फ़िगर नहीं है तब इसका पता लगाता है |
| AUTH002 | प्लेनटेक्स्ट लिसनर का पता चला | गंभीर | PLAINTEXT प्रोटोकॉल का उपयोग करने वाले लिसनर की पहचान करता है |
| AUTH003 | कमजोर SASL तंत्र | उच्च | SSL के बिना PLAIN जैसे कमजोर SASL तंत्रों को चिह्नित करता है |
| नियम आईडी | नाम | गंभीरता | विवरण |
|---|
| AUTHZ001 | कोई प्राधिकरण कॉन्फ़िगर नहीं | गंभीर | गायब प्राधिकरण कॉन्फ़िगरेशन का पता लगाता है |
| AUTHZ002 | सभी को अनुमति दें | गंभीर | अत्यधिक अनुमत सर्व-अनुमति सेटिंग्स की पहचान करता है |
| AUTHZ003 | सुपरयूज़र्स उजागर | मध्यम | उजागर सुपरयूज़र कॉन्फ़िगरेशन को चिह्नित करता है |
| नियम आईडी | नाम | गंभीरता | विवरण |
|---|
| ENC001 | कोई इंटर-ब्रोकर एन्क्रिप्शन नहीं | गंभीर | अनएन्क्रिप्टेड इंटर-ब्रोकर संचार का पता लगाता है |
| ENC002 | कमजोर SSL प्रोटोकॉल | उच्च | अप्रचलित या कमजोर SSL/TLS प्रोटोकॉल की पहचान करता है |
| ENC003 | कोई SSL क्लाइंट प्रमाणीकरण नहीं | मध्यम | गायब SSL क्लाइंट प्रमाणीकरण को चिह्नित करता है |
| ENC004 | कोई एंडपॉइंट पहचान नहीं | मध्यम | अक्षम SSL एंडपॉइंट पहचान का पता लगाता है |
| नियम आईडी | नाम | गंभीरता | विवरण |
|---|
| ACL001 | ACL में वाइल्डकार्ड प्रिंसिपल | गंभीर | वाइल्डकार्ड (*) प्रिंसिपल वाले ACL की पहचान करता है |
| ACL002 | ACL में वाइल्डकार्ड होस्ट | मध्यम | किसी भी होस्ट से एक्सेस की अनुमति देने वाले ACL को चिह्नित करता है |
| ACL003 | अत्यधिक अनुमति वाला ACL | उच्च | अत्यधिक अनुमतियाँ प्रदान करने वाले ACL का पता लगाता है |
| ACL004 | क्लस्टर-व्यापी ACL | मध्यम | पूरे क्लस्टर पर लागू ACL की पहचान करता है |
| ACL005 | ACL में वाइल्डकार्ड संसाधन | उच्च | वाइल्डकार्ड संसाधन पैटर्न वाले ACL को चिह्नित करता है |
| नियम आईडी | नाम | गंभीरता | विवरण |
|---|
| TOPIC001 | स्वचालित टॉपिक निर्माण सक्षम | उच्च | स्वचालित टॉपिक निर्माण सक्षम होने का पता लगाता है |
| TOPIC002 | अस्वच्छ लीडर चुनाव | उच्च | अस्वच्छ लीडर चुनाव कॉन्फ़िगरेशन की पहचान करता है |
| TOPIC003 | कम न्यूनतम ISR | उच्च | अपर्याप्त न्यूनतम इन-सिंक प्रतिकृति वाले टॉपिक को चिह्नित करता है |
| TOPIC004 | छोटी अवधारण अवधि | मध्यम | असामान्य रूप से छोटी संदेश अवधारण अवधियों का पता लगाता है |
| TOPIC005 | टॉपिक हटाना सक्षम | मध्यम | जब टॉपिक हटाना सक्षम हो तब इसकी पहचान करता है |
| ग्रेड | स्कोर रेंज | विवरण |
|---|
| A | 90-100 | उत्कृष्ट सुरक्षा स्थिति |
| B | 80-89 | अच्छी सुरक्षा, छोटे सुधारों की आवश्यकता |
| C | 70-79 | मध्यम सुरक्षा, कई सुधारों की सिफारिश |
| D | 60-69 | खराब सुरक्षा, महत्वपूर्ण बदलावों की आवश्यकता |
| F | 0-59 | गंभीर सुरक्षा समस्याएँ जिन पर तत्काल ध्यान देने की आवश्यकता है |