ड्रोवोरब पर: लिनक्स कर्नेल सिक्योरिटी बेस्ट प्रैक्टिस

पहचान

आज जारी एक अमेरिकी सरकारी साइबर सुरक्षा सलाहकार में, नेशनल सिक्योरिटी एजेंसी और फेडरल ब्यूरो ऑफ़ इन्वेस्टिगेशन ने लिनक्स रूटकिट मैलवेयर के एक पूर्व अघोषित टुकड़े को चेतावनी दी है जिसे ड्रोवोरब कहा गया है और यह दुर्भावनापूर्ण अभिनेता APT28 के लिए खतरा है। रिपोर्ट अविश्वसनीय रूप से विस्तृत है और प्रभावी ढंग से ड्रोवोरब मालवेयर गतिविधि की पहचान करने के लिए कई पूरक पहचान तकनीकों का प्रस्ताव है। खोजी विधियों की एक भीड़ का सुझाव दिया जाता है कि रूटकिट्स के साथ आम मुद्दा यह है कि मेजबान पर बड़े पैमाने पर पता लगाना एक वास्तविक चुनौती हो सकती है। एनएसए और एफबीआई ने अपनी रिपोर्ट में स्पष्ट किया है कि 3.7 या उससे कम के कर्नेल संस्करण वाले सिस्टम पर्याप्त कर्नेल हस्ताक्षर प्रवर्तन की अनुपस्थिति के कारण ड्रोवोरब मैलवेयर के लिए अतिसंवेदनशील होते हैं।

एक प्रणाली को अद्यतन रखना और पूरी तरह से संरक्षित विंडोज-आधारित वातावरण के लिए विशिष्ट नहीं है। लिनक्स आधारित सिस्टम कई उद्यम संगठनों के भीतर व्यापक हैं, जिन्हें किसी भी आधुनिक ऑपरेटिंग सिस्टम के समान रखरखाव की आवश्यकता होती है। लिनक्स एक मजबूत, सुरक्षित कंप्यूटिंग प्लेटफॉर्म प्रदान करता है जो कई जरूरतों को पूरा कर सकता है। जैसा कि ज्यादातर मामलों में, उचित कॉन्फ़िगरेशन प्लेटफ़ॉर्म की सुरक्षा के लिए महत्वपूर्ण है।

Drovorub के खिलाफ विशिष्ट McAfee प्रौद्योगिकी सुरक्षा के लिए कृपया समर्पित Drovorub KB लेख पर जाएँ यहाँ

अमेरिकी सरकार की रिपोर्ट और हमारे उत्पाद विशिष्ट ज्ञान के आधार लेख में दिए गए मार्गदर्शन के अलावा, McAfee संगठनों को ध्यान देने और रूटकिट का पता लगाने और कर्नेल सुरक्षा के लिए निम्नलिखित सर्वोत्तम प्रथाओं (जहां संभव हो) को लागू करने के लिए प्रोत्साहित करता है।

रूटकिट्स के लिए स्कैनिंग

मालवेयर स्कैनर की तरह, एक रूटकिट स्कैनर यह निर्धारित करने के लिए निम्न स्तर की प्रक्रियाओं को स्कैन कर सकता है कि क्या कोई दुर्भावनापूर्ण कोड बूटअप पर लोड है। उदाहरण के लिए, नीचे दिए गए सॉफ़्टवेयर के उदाहरण हैं जिनका उपयोग सामान्य रूटकिट पहचान के लिए किया जा सकता है:

  • चिरकोटिट – लिनक्स के लिए एक रूटकिट स्कैनर जो रूटकिट्स को खोजने के लिए कठिन खोज करता है
  • Rkhunter – बैकस्ट और संभावित स्थानीय कारनामों की खोज के लिए लिनक्स के लिए एक रूटकिट स्कैनर।

इस विशिष्ट ड्रोवोरब मामले में अस्थिरता जैसे उपकरण के साथ मशीन की मेमोरी का विश्लेषण करने के लिए सलाह दी जाती है। Dovorub क्लाइंट की अस्थिरता प्लगइन “Linux_Psxview” की उपस्थिति का उपयोग करके पता लगाया जा सकता है, भले ही यह सामान्य पीएसलिस्ट में प्रदर्शित न हो।

लिनक्स कर्नेल सख्त

आज की सलाह बताती है कि संगठन U86I सिक्योर बूट को x86-64 सिस्टम पर “पूर्ण” या “संपूर्ण” मोड में सक्षम करते हैं। UEFI सिक्योर बूट के लिए क्रिप्टोग्राफिक रूप से हस्ताक्षरित फर्मवेयर और कर्नेल की आवश्यकता होती है। क्योंकि हार्डवेयर के लिए कोई भी अहस्ताक्षरित ड्राइवर लोड नहीं किया जा सकता है, इस क्रिया के कारण हमलावर सतह को सिस्टम में एक दुर्भावनापूर्ण कर्नेल मॉड्यूल सम्मिलित करने के लिए और रिबूट के बाद निरंतर बने रहने के लिए अहस्ताक्षरित रूटकिट के लिए हमले की सतह कम हो जाएगी।

संगठनों को ध्यान रखना चाहिए, हालांकि, सुरक्षित बूट सभी लिनक्स डिस्ट्रोस में एकीकृत नहीं है। सिक्योर बूट को सक्षम करने के साथ कुछ चुनौतियां भी हैं। किसी भी समय किसी कर्नेल या मॉड्यूल के अपग्रेड होने पर या फिर कुछ उत्पादों को लोड होने से रोका जा सकता है। VMWare का यह ज्ञानकोष लेख इन सिक्योर बूट मुद्दों को संबोधित करने के तरीकों पर चर्चा करता है

कर्नेल को सुरक्षित करना

लिनक्स कर्नेल को सुरक्षित करने के लिए कई चरण संगठन ले सकते हैं और प्रदान की जाने वाली सुविधाओं का लाभ उठा सकते हैं। हम कुछ सर्वोत्तम प्रथाओं का उपयोग करेंगे जिन्हें उपयोग और लागू किया जा सकता है। उत्पादन में लगाने से पहले कृपया उन्हें परीक्षण-वातावरण में लागू करें।

कर्नेल मॉड्यूल पर हस्ताक्षर

लिनक्स 3.7 के बाद से, कर्नेल ने लोड करने योग्य कर्नेल मॉड्यूल पर डिजिटल हस्ताक्षर का समर्थन किया है। यह सुविधा CONFIG_MODULE_SIG में सेटिंग्स के साथ कर्नेल में सक्षम की जा सकती है। इन विकल्पों के लिए वैध हस्ताक्षर की आवश्यकता हो सकती है; कर्नेल बिल्ड चरण के दौरान स्वचालित मॉड्यूल साइनिंग सक्षम करें; और निर्दिष्ट करें कि किस हैश एल्गोरिथम का उपयोग करना है। इसके अतिरिक्त, स्थानीय या दूरस्थ कुंजी का उपयोग किया जा सकता है। मान्य डिजिटल हस्ताक्षरों की आवश्यकता होने पर, केवल ज्ञात मान्य मॉड्यूल लोड किए जा सकते हैं, जो आपके सिस्टम की हमले की सतह को कम करते हैं।

मॉड्यूल लोडिंग नियम

केवल ज्ञात मॉड्यूल लोड करने योग्य होना चाहिए। सीमित मॉड्यूल समर्थन को डिफ़ॉल्ट रूप से सक्षम किया जा सकता है, कर्नेल मॉड्यूल को लोड करने से रोकना और निर्दिष्ट करना कि कौन से मॉड्यूल प्रतिबंध से मुक्त हैं। लोडिंग को निष्क्रिय करने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है:

sysctl kernel.modules_disabled = 1

सिस्टम ऑपरेशन के लिए आवश्यक कुछ मॉड्यूल आमतौर पर सिस्टम ऑपरेशन के दौरान लोड किए जा सकते हैं और बूट में नहीं। ये सुनिश्चित करने के लिए कि ये मॉड्यूल उपलब्ध हैं, उन्हें लोड होने से पहले ही स्टार्टअप पर लोड किया जाना चाहिए। इन मॉड्यूल को लोड करने के लिए, उन्हें /etc/modules-load.d में स्थित फ़ाइल में सूचीबद्ध करें।

मॉड्यूल को पूरी तरह से अक्षम करना

प्रश्न में प्रणाली के आधार पर, कर्नेल कॉन्फ़िगरेशन में सभी गैर-आवश्यक हार्डवेयर को अक्षम करना और मॉड्यूल का उपयोग करने के बजाय सीधे कर्नेल में सभी आवश्यक ड्राइवर कोड का निर्माण करना पूरी तरह से लोड करने योग्य कर्नेल मॉड्यूल समर्थन को अक्षम करने की अनुमति दे सकता है। विशेष उपयोग प्रणालियों के लिए, यह एक व्यवहार्य विकल्प हो सकता है। पूरी तरह से मॉड्यूल को बंद करके, आपके सिस्टम की हमले की सतह को काफी कम किया जा सकता है।

पूरी तरह से कर्नेल मॉड्यूल समर्थन को अक्षम करने का उपयोग केवल विशेष प्रयोजन प्रणालियों के लिए एक ज्ञात उपयोग पैटर्न के साथ संभव हो सकता है। सामान्य उद्देश्य, उपयोगकर्ता-सामना करने वाली मशीनों को उपयोगकर्ता पहुँच पैटर्न का समर्थन करने के लिए मॉड्यूल समर्थन की आवश्यकता होगी।

लिनक्स कर्नेल लॉकडाउन का उपयोग करना

5.4 के लॉकडाउन पैच को कर्नेल में विलय कर दिया गया है। भले ही सुरक्षित बूट सक्षम हो, अगर रोका नहीं गया है, तो रूट अभी भी कर्नेल को संशोधित कर सकता है और, उदाहरण के लिए, हॉट-पैच लागू करें और एक सतत प्रक्रिया बनाएं। लॉकडाउन को रूट कोड को संशोधित करने से रोकने के लिए एक नीति प्रदान करने के लिए विकसित किया गया था। लॉकडाउन के दो तरीके हैं: “अखंडता” और “गोपनीयता”। समुदाय आमतौर पर संगठनों को “अखंडता” मोड पर विचार करने और विशेष प्रणालियों के लिए “गोपनीयता” मोड का उपयोग करने की सलाह देता है।

हार्डन sysctl.conf

Sysctl.conf फ़ाइल लिनक्स सिस्टम के लिए मुख्य कर्नेल पैरामीटर कॉन्फ़िगरेशन बिंदु है। सुरक्षित डिफॉल्ट्स का उपयोग करके, पूरी प्रणाली को अधिक सुरक्षित नींव से लाभ होगा। उदाहरण के विकल्पों में आईपीवी 6 को अक्षम करना, उपयोग में नहीं होने पर, नेटवर्क प्रसारण पैकेट की अनदेखी, एएसएलआर को सक्षम करना और डीईपी / एनएक्स को सक्रिय करना शामिल है। (Https://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/)

SELinux या AppArmor सक्षम करें

आधुनिक लिनक्स सिस्टम में वितरण के आधार पर AppArmor या SELinux की सुरक्षा वृद्धि प्रणालियाँ शामिल हैं। ये सुरक्षा नीतियों के साथ बारीक अभिगम नियंत्रण की अनुमति देते हैं। SElinux को CentOS और RedHat Enterprise Linux ऑपरेटिंग सिस्टम पर डिफ़ॉल्ट रूप से स्थापित और सक्षम किया जाता है, जबकि AppArmor को Ubuntu और SuSE Linux एंटरप्राइज़ सिस्टम पर डिफ़ॉल्ट रूप से स्थापित और सक्षम किया जाता है।

हम अक्सर यह देखते हैं कि लोग इन सुरक्षा संवर्द्धन प्रणालियों को निष्क्रिय करने का निर्णय लेंगे जैसे ही वे किसी मुद्दे पर चलते हैं क्योंकि वे रूट विशेषाधिकारों को अक्षम करना आसान है। लेकिन लिनक्स सिस्टम पर सुरक्षा की एक अतिरिक्त परत प्रदान करने के लिए सेवाओं की अनुमति देने और समस्याओं को ठीक करने का तरीका जानने के लिए समय निकालना।

AppArmor एक लिनक्स कर्नेल सुरक्षा मॉड्यूल है जो SELinux के समान क्षमता प्रदान करता है। जबकि SELinux फाइलों पर काम करता है (विशेष रूप से इनोड्स) और फाइल सिस्टम सपोर्ट की आवश्यकता होती है, AppArmor पथ सिस्टम पर काम करता है, जबकि फाइल सिस्टम अज्ञेयवादी होता है। कई लोगों द्वारा उपयोग में आसान होने के कारण, यह ज्यादातर नियमित उपयोगकर्ताओं के लिए पारदर्शी है। हालांकि SELinux अधिक संभावित रूप से सुरक्षित हो सकता है, सिस्टम की जटिलता में कई उपयोगकर्ता हैं जो AppArmor को प्राथमिकता देते हैं।

मेनलाइन एंटरप्राइज स्तर के लिनक्स वितरण में, RedHat SELinux को गले लगाता है, जबकि SuSE एंटरप्राइज AppArmor को गले लगाता है (और ट्रेडमार्क का मालिक है)। कैनोनिकल का AppArmor में भी महत्वपूर्ण योगदान है, और यह उबंटू में डिफ़ॉल्ट रूप से समर्थन करता है।

अतिरिक्त लिनक्स सिस्टम सख्त

आज की सलाह के आलोक में, हमने इस लेख में लिनक्स कर्नेल को सुरक्षित करने पर ध्यान केंद्रित किया है। हालांकि, लिनक्स (या लगभग किसी भी आधुनिक ऑपरेटिंग सिस्टम) को सुरक्षित करने के लिए कई सर्वोत्तम अभ्यास हैं, जिनमें शामिल हैं:

  • अप्रयुक्त सॉफ्टवेयर को हटाना
  • अप्रयुक्त सेवाओं को अक्षम करना
  • ऑडिटिंग सक्षम करना
  • एपीआई एक्सेस को नियंत्रित करना
  • रूट खाता उपयोग को सीमित करना
  • यथासंभव कम से कम विशेषाधिकार वाली नीति को शामिल करना
  • अपने सिस्टम का बैकअप लेना
  • विश्वसनीय शोषण को और अधिक कठिन बनाने के लिए ssctl के माध्यम से एएसएलआर एन्ट्रापी को बढ़ाना, स्मृति में संग्रहीत किए जा सकने वाले स्थानों की पुस्तकालयों की संख्या में वृद्धि करके।

लिनक्स वितरण के लिए विस्तृत सख्त और सुरक्षित गाइड डाउनलोड किए जा सकते हैं:

Cybersecurity Best Practices

निष्कर्ष

लिनक्स कर्नेल और सिस्टम का सख्त होना संगठनों और प्रशासकों के लिए एक सीखने की अवस्था धारण करने के लिए साबित हो सकता है जो विंडोज ऑपरेटिंग सिस्टम के कॉन्फ़िगरेशन और उपयोग से अधिक परिचित है। हालाँकि, एनएसए-एफबीआई प्रकाशन में दी गई जानकारी और समग्र रूप से खतरे वाले अभिनेताओं द्वारा लिनक्स-आधारित मैलवेयर के अनुकूलन को देखते हुए, हम संगठनों को यथासंभव सतर्क रहने, सख्त लिनक्स सिस्टम को बनाए रखने और पर्याप्त सुरक्षा उत्पादों को तैनात करने की सलाह देते हैं।

Drovorub के खिलाफ विशिष्ट McAfee प्रौद्योगिकी सुरक्षा के लिए कृपया समर्पित Drovorub KB लेख पर जाएँ यहाँ