ओपन-सोर्स सुरक्षा उपकरण
फ़ाल्को: कंटेनरों के लिए रनटाइम ख़तरे का पता लगाना
फ़ाल्को सीएनसीएफ रनटाइम सुरक्षा उपकरण है जो सिस्टम कॉल पर नज़र रखता है; नियम उन व्यवहारों का वर्णन करते हैं जो कभी नहीं होने चाहिए (nginx में उत्पन्न एक शेल, कोई व्यक्ति /etc/shadow पढ़ रहा है, होस्ट फ़ाइल सिस्टम को माउंट करने वाला एक कंटेनर), और फाल्को ऐसा करते ही अलर्ट कर देता है। यह छवि स्कैनिंग का समकक्ष है: ट्रिवी-श्रेणी के उपकरण तैनाती से पहले ज्ञात कमजोरियों को पकड़ते हैं, फाल्को दौड़ते समय दुर्व्यवहार को पकड़ता है।
मुख्य बिंदु
- डेटा स्रोत syscalls है: एक कर्नेल मॉड्यूल या आधुनिक eBPF ड्राइवर इवेंट स्ट्रीम फ़ीड करता है जो नियम प्रक्रिया/कंटेनर संदर्भ (छवि, नेमस्पेस, उपयोगकर्ता, syscall args) के विरुद्ध मेल खाते हैं, जिसमें Kubernetes परिनियोजन मेटाडेटा जैसे कंटेनर-जागरूक फ़ील्ड शामिल हैं; यह सिस्कल-स्तरीय लेंस देखता है कि लॉग-आधारित पहचान क्या छूट जाती है।
- डिफ़ॉल्ट नियम क्लासिक कंटेनर-एस्केप क्लासेस को कवर करते हैं: विशेषाधिकार प्राप्त कंटेनर शुरू होता है, संवेदनशील फ़ाइल पढ़ता है, रिवर्स शैल, कंटेनर के अंदर अप्रत्याशित नेटवर्क उपकरण, माउंट के नीचे लिखें, और ज्ञात कंटेनर-रनटाइम सिबलिंग स्पॉनिंग; डिफ़ॉल्ट सेट एक प्रारंभिक आधार रेखा है जिसका उद्देश्य प्रति संपत्ति को ट्यून करना है।
- नियम YAML और सिस्टम कॉल हैं, हस्ताक्षर नहीं: अपडेट करने के लिए कोई CVE फ़ीड नहीं; इसके बजाय व्यवहार नीति जैसे 'स्पॉन्ड_प्रोसेस और प्रोक.नेम इन (शेलकिट बायनेरिज़)' संपत्ति की अपेक्षाओं को व्यक्त करती है; ट्यूनिंग कहानी प्रति हस्ताक्षर के बजाय वर्ग-स्तरीय (लिखें वी बायनेरिज़ पढ़ें) है।
- आउटपुट प्लगइन-आधारित है: stdout, syslog, Slack, ऑर्केस्ट्रेटर के लिए वेबहुक, और प्रमुख आधुनिक एकीकरण (फाल्को टैलोन-क्लास स्वचालित प्रतिक्रिया); अधिकांश संपत्तियां वज़ुह (हमारा समर्पित लेख) के समान एसआईईएम पर अलर्ट इंगित करती हैं, इसलिए रनटाइम और एंडपॉइंट अलर्ट सहसंबद्ध होते हैं।
- परिनियोजन आकार संपत्ति से मेल खाता है: कुबेरनेट्स पर डेमोनसेट (आधुनिक कर्नेल पर eBPF ड्राइवर), स्टैंडअलोन डॉकर होस्ट के लिए होस्ट-आधारित; संसाधन फ़ुटप्रिंट मामूली है लेकिन 10G-नोड-क्लास कर्नेल पर हिलता है, जो मायने रखता है क्योंकि eBPF जांच कर्नेल संस्करणों और डिस्ट्रोस से निकटता से जुड़ी होती है।
- हमारे सुरक्षा-उपकरण सेट में ईमानदार स्थिति: फाल्को कदाचार का पता लगाता है, उसे रोकता नहीं है; इसे छवि स्कैनिंग (ट्रिवी), प्रवेश नीतियों (कुबेरनेट्स सुरक्षा संदर्भ/ऑर्केस्ट्रेशन टूलिंग), और नेटवर्क नियंत्रण के साथ जोड़ें; सुबह 3 बजे पकड़ा गया उल्लंघन उस स्कैन रिपोर्ट से अधिक मूल्यवान है जिसे किसी ने नहीं पढ़ा।
क्षेत्रीय टिप्पणी
क्लाइंट क्लस्टर पर फाल्को की पहली पकड़: एक डिबगिंग छवि जो एक शेल के साथ भेजी गई थी, और किसी ने आदत से बाहर उत्पादन में इसका इस्तेमाल किया। कोई सीवीई नहीं, कोई स्कैनर हिट नहीं, शुद्ध व्यवहार। जिस नियम को सक्रिय किया गया वह एक डिफ़ॉल्ट था जिसे हम ट्यून करना चाहते थे। डिफॉल्ट कभी-कभी जोर-शोर से अपनी पकड़ बना लेते हैं।
अक्सर पूछे जाने वाले प्रश्न
फ़ाल्को बनाम एक वाणिज्यिक CNDR उत्पाद?
फाल्को समुदाय के स्वामित्व वाले नियम प्रारूप के साथ खुले स्रोत के रूप में सिस्कल-डिटेक्शन कोर को कवर करता है; वाणिज्यिक उपकरण यूआई, एमएल विसंगति मॉडल और प्रबंधित प्रतिक्रिया वर्कफ़्लो जोड़ते हैं, और कई एस्टेट सिस्कल परत के लिए फाल्को को चलाते हैं।
फाल्को ने ऐसा क्या पकड़ा जो स्कैनर से छूट गया?
रनटाइम व्यवहार: एक शेल को उत्पन्न करने के लिए उपयोग किया जाने वाला एक समझौता क्रेडेंशियल, एक कंटेनर जो रहस्यों को पढ़ रहा है, उसे वेब स्तर से कुबेरनेट्स क्लस्टर में धुरी नहीं पढ़नी चाहिए; स्कैनर निरीक्षण करते हैं कि क्या भेजा गया है, फाल्को देखता है कि क्या होता है।
क्या eBPF अनिवार्य है?
eBPF ड्राइवर आधुनिक डिफ़ॉल्ट है और कर्नेल-मॉड्यूल रखरखाव से बचता है; पुराने कर्नेल के लिए एक लीगेसी कर्नेल मॉड्यूल मौजूद है, और सिस्कल स्रोत प्लगइन फाल्को को लिनक्स होस्ट से आगे बढ़ाता है।
डिफ़ॉल्ट नियम कितने शोर वाले हैं?
असामान्य टूलींग के साथ संपदा पर शोर, विशेष रूप से तैनाती के दौरान; अलर्ट स्वचालित पृष्ठभूमि शोर के बजाय परिचालन रूप से ठंडा होने से पहले पहले हफ्तों में एक वास्तविक ट्यूनिंग चक्र (प्रति-नेमस्पेस अपवाद नियम) की अपेक्षा करें।
ओपन-सोर्स सुरक्षा उपकरण में Kinetikatech कैसे सहायता करता है
आपको ओपन-सोर्स सुरक्षा उपकरण का विशेषज्ञ बनने की आवश्यकता नहीं: परीक्षण टूलबॉक्स पेशेवर वास्तव में लोड रहते हैं: स्कैनर, स्निफ़र, क्रैकर, और वेब प्रॉक्सी ने समझाया कि उनका उपयोग वास्तविक संलग्नक - कमांड, झंडे, आउटपुट, और जहां प्रत्येक एक पद्धति में बैठता है, पर किया जाता है। पैठ परीक्षण और Linux सर्वर सुरक्षा ठीक इसी हेतु है: सेटअप, hardening, निगरानी, और दिन-रात उपलब्ध मानव सहायता।