यह मॉड्यूल क्या करता है #
rootkit दुर्भावनापूर्ण सॉफ़्टवेयर है जो आपके सर्वर में घुसकर छिपने के लिए बनाया गया है: यह सिस्टम आदेशों को बदल देता है, बैकडोर खोलता है और अपने निशान मिटा देता है ताकि आप उसे न देखें। समस्या ठीक यही है — जब यह अच्छी तरह काम करता है, तो आपको इसका पता ही नहीं चलता। इसीलिए सिस्टम को नियमित रूप से जाँचना ज़रूरी है।
rkhunter मॉड्यूल यह काम आपके लिए करने हेतु rkhunter (Rootkit Hunter) पर टिका है: यह ज्ञात rootkit सिग्नेचर के विरुद्ध फ़ाइलों और आदेशों की तुलना करके सिस्टम को स्कैन करता है, संदिग्ध गुणों (विचित्र अनुमतियाँ, छिपे पोर्ट, बदले हुए बाइनरी) पर नज़र रखता है और आपके लिए चेतावनियों को सारांशित करता है, स्पष्ट भाषा में, ताकि आप जानें कि किसे देखना है। यह एक बेसलाइन भी बनाए रखता है — इसका स्नैपशॉट कि आपकी फ़ाइलें कैसी दिखनी चाहिए — और सिग्नेचर अद्यतन, ये दो हिस्से जिन पर विश्वसनीय पहचान निर्भर करती है।
मॉड्यूल इंस्टॉल करने या सिस्टम पैकेज अद्यतन करने के बाद, update-baseline से बेसलाइन अद्यतन करें। यदि आप ऐसा नहीं करते, तो वैध बदलाव (उदाहरण के लिए, कोई apt upgrade) चेतावनियों के रूप में दिखेंगे और आपको सामान्य को संदिग्ध से अलग करने में कठिनाई होगी।
सामान्य कार्य #
चुनें कि आप क्या करना चाहते हैं। हर रेसिपी में आदेश पहले से लिखा हुआ आता है — इसे कॉपी करें, पेस्ट करें और कॉपी करें दबाएँ।
1
सिस्टम को अभी स्कैन करें
एक पूर्ण विश्लेषण शुरू करें और चेतावनियों का सारांश प्राप्त करें।
ubuntu उपयोगकर्ता के साथ SSH से अपने सर्वर पर कनेक्ट करें।
स्कैन शुरू करें। इसमें कुछ समय लगता है: rkhunter सैकड़ों फ़ाइलों और आदेशों की समीक्षा करता है।
$ sudo imaxe rkhunter checkइसे किसी स्क्रिप्ट से कॉल कर रहे हैं या किसी अन्य उपकरण के साथ एकीकृत करना चाहते हैं? --json जोड़ें:
$ sudo imaxe rkhunter check --json2
अंतिम स्कैन की चेतावनियाँ देखें
rkhunter ने जो फ़्लैग किया उसकी समीक्षा करें, पठनीय रूप में।
दोबारा स्कैन किए बिना अंतिम check की चेतावनियाँ दिखाएँ:
$ sudo imaxe rkhunter report3
स्थिति जाँचें
एक नज़र में: इंस्टॉलेशन, बेसलाइन, अंतिम स्कैन और चेतावनियाँ।
एक त्वरित सारांश कि rkhunter तैयार है या नहीं, बेसलाइन है या नहीं, अंतिम स्कैन कब था, इसने कितनी चेतावनियाँ छोड़ीं और कोई स्कैन निर्धारित है या नहीं:
$ sudo imaxe rkhunter statusमॉनिटरिंग या स्क्रिप्ट के लिए, इसे JSON में माँगें:
$ sudo imaxe rkhunter status --json4
बेसलाइन अद्यतन करें
फ़ाइलों की वर्तमान स्थिति को एक अच्छे संदर्भ के रूप में स्वीकार करें।
फ़ाइलों के वर्तमान गुणों को बेसलाइन के रूप में सहेजें (rkhunter --propupd के समतुल्य)। ऐसा तभी करें जब आपको सिस्टम की स्थिति पर भरोसा हो — उदाहरण के लिए, इसे इंस्टॉल करने के ठीक बाद या किसी अद्यतन के बाद जिसे आप पहचानते हैं:
$ sudo imaxe rkhunter update-baselinecheck इस नए संदर्भ स्नैपशॉट से शुरू होता है।5
सिग्नेचर अद्यतन करें
rkhunter की सबसे हाल की डेटा फ़ाइलें डाउनलोड करें।
rkhunter की डेटा फ़ाइलें और सिग्नेचर अद्यतन करें (rkhunter --update के समतुल्य) ताकि पहचान सबसे हाल के rootkit के बारे में जान सके:
$ sudo imaxe rkhunter update-datacheck अधिक हाल के खतरों का पता लगाता है। किसी महत्वपूर्ण स्कैन से पहले ऐसा करना उचित है।पहली बार या पैकेज अद्यतन करने के तुरंत बाद यह सामान्य है: rkhunter ऐसे बदलाव देखता है जो अभी बेसलाइन में नहीं हैं। उन्हें report से समीक्षा करें, और यदि आप उन्हें वैध पहचानते हैं, तो उन्हें update-baseline से स्वीकार करें। यदि आपको संदेह है कि सिस्टम पहले से समझौता किया गया है तो बेसलाइन कभी अद्यतन न करें।
सारांश #
imaxe rkhunter <subcomando> [--json]सभी उपआदेशों के लिए root विशेषाधिकार आवश्यक हैं (sudo का उपयोग करें) क्योंकि rkhunter को सिस्टम फ़ाइलें पढ़नी, बाइनरी की तुलना करनी और अपनी बेसलाइन तथा अपना डेटा लिखना होता है। मशीन-पठनीय आउटपुट के लिए, जो स्क्रिप्टिंग और मॉनिटरिंग के लिए उपयुक्त है, check या status में --json जोड़ें।
उपआदेश #
| उपआदेश | यह क्या करता है | प्रासंगिक फ़्लैग |
|---|---|---|
| check | एक rootkit/malware स्कैन शुरू करता है और चेतावनियों को सारांशित करता है। | --json |
| report | अंतिम स्कैन की चेतावनियों को पठनीय रूप में दिखाता है। | — |
| status | स्थिति: इंस्टॉल, बेसलाइन मौजूद, अंतिम स्कैन, चेतावनियाँ और निर्धारित स्कैन। | --json |
| update-baseline | वर्तमान फ़ाइल गुणों को बेसलाइन के रूप में स्वीकार करता है (rkhunter --propupd)। | — |
| update-data | rkhunter की डेटा/सिग्नेचर फ़ाइलें अद्यतन करता है (rkhunter --update)। | — |
आर्गुमेंट और फ़्लैग #
| फ़्लैग | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| --json | bool | false | check/status में, परिणाम को stdout पर संरचित JSON के रूप में निकालता है, जो स्क्रिप्टिंग और मॉनिटरिंग के लिए उपयुक्त है। |
report, update-baseline और update-data उपआदेश कोई फ़्लैग नहीं लेते: वे बिना आर्गुमेंट के चलते हैं।
फ़ाइलें और पथ #
| पथ | सामग्री |
|---|---|
| /etc/imaxe/rkhunter.yml | मॉड्यूल कॉन्फ़िगरेशन: डिफ़ॉल्ट रूप से, check केवल चेतावनियाँ रिपोर्ट करता है (report_warnings_only)। |
| /var/lib/rkhunter/db/ | फ़ाइल गुण बेसलाइन और डेटा/सिग्नेचर फ़ाइलें जिन्हें update-baseline और update-data अद्यतन करते हैं। |
| /var/log/rkhunter.log | अंतिम स्कैन का लॉग, जिससे report चेतावनियाँ निकालता है। |
rkhunter.yml का उदाहरण:
check:
report_warnings_only: trueनिकास कोड और लॉग #
हर बार चलने पर एक कोड लौटाया जाता है जिसे आप echo $? से जाँच सकते हैं — स्क्रिप्ट में श्रृंखलाबद्ध करने या मॉनिटरिंग से अलर्ट करने के लिए उपयोगी:
समीक्षा करते समय अंतिम स्कैन का लॉग जाँचें:
$ sudo imaxe rkhunter report
$ sudo tail -f /var/log/rkhunter.logसमस्या निवारण #
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
| पैकेज अद्यतन करने के बाद WARN (कोड 1) दिखता है | वैध बदलाव जो अभी बेसलाइन में नहीं हैं। | report से समीक्षा करें; यदि आप उन्हें पहचानते हैं, तो उन्हें update-baseline से स्वीकार करें। |
status कहता है "baseline: not present" | मॉड्यूल अभी इंस्टॉल हुआ और कोई संदर्भ स्नैपशॉट नहीं है। | सिस्टम की विश्वसनीय स्थिति के साथ update-baseline एक बार चलाएँ। |
| पुरानी फ़ाइलों या संस्करणों के बारे में कई चेतावनियाँ | rkhunter के सिग्नेचर और डेटा पुराने हैं। | update-data चलाएँ और check दोहराएँ। |
| ERR (कोड 3) दिखता है | rkhunter इंस्टॉल नहीं है या बाइनरी जवाब नहीं दे रही। | मॉड्यूल इंस्टॉलेशन जाँचें और /var/log/rkhunter.log देखें। |
rkhunter मॉड्यूल में अटक गए?
हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।