एक लिनक्स सर्वर को हैक करने वाले टेल-टेल संकेत क्या हैं? क्या कोई उपकरण हैं जो एक ऑडिट रिपोर्ट को निर्धारित आधार पर उत्पन्न और ईमेल कर सकते हैं?
एक लिनक्स सर्वर को हैक करने वाले टेल-टेल संकेत क्या हैं? क्या कोई उपकरण हैं जो एक ऑडिट रिपोर्ट को निर्धारित आधार पर उत्पन्न और ईमेल कर सकते हैं?
जवाबों:
तुम नहीं।
मुझे पता है, मुझे पता है - लेकिन यह पागल है, दुखद सच है, वास्तव में;) बेशक बहुत सारे संकेत हैं, लेकिन अगर सिस्टम को विशेष रूप से लक्षित किया गया था - तो यह बताना असंभव हो सकता है। यह समझना अच्छा है कि कुछ भी पूरी तरह से सुरक्षित नहीं है। लेकिन हमें अधिक सुरक्षित काम करने की आवश्यकता है, इसलिए मैं इसके बजाय अन्य सभी उत्तरों पर ध्यान दूंगा;)
यदि आपके सिस्टम से छेड़छाड़ की गई थी, तो आपके किसी भी उपकरण को सत्य प्रकट करने के लिए भरोसा नहीं किया जा सकता है।
ट्रिपवायर एक आमतौर पर इस्तेमाल किया जाने वाला उपकरण है - यह आपको सूचित करता है कि सिस्टम फाइलें कब बदल गई हैं, हालांकि जाहिर है कि आपको इसे पहले से इंस्टॉल करना होगा। अन्यथा नए उपयोगकर्ता खाते जैसे आइटम जिनके बारे में आपको पता नहीं है, अजीब प्रक्रियाएं और फाइलें जिन्हें आप नहीं पहचानते हैं, या बिना किसी स्पष्ट कारण के लिए बैंडविड्थ उपयोग में वृद्धि सामान्य संकेत हैं।
अन्य मॉनिटरिंग सिस्टम जैसे कि Zabbix को आपको अलर्ट करने के लिए कॉन्फ़िगर किया जा सकता है, जब / etc / passwd जैसी फाइलें बदल जाती हैं।
कुछ चीजें जो मुझे अतीत में छीन चुकी हैं:
ls
(यह टूटी हुई रूट किट के साथ हो सकता है)/
या /var/
स्क्रिप्ट लिपि में छिपी हुई निर्देशिकाएं बहुत बेवकूफ या आलसी हैं)netstat
खुले पोर्ट दिखाता है जो कि नहीं होना चाहिएbind
, लेकिन आप हमेशा उपयोग करते हैं djbdns
)इसके अतिरिक्त मुझे एक विश्वसनीय संकेत मिला है कि एक बॉक्स से छेड़छाड़ की जाती है: यदि आपके पास उस व्यवस्थापक की विरासत (अद्यतन, आदि) के बारे में एक बुरी भावना है, जिससे आपको एक प्रणाली विरासत में मिली है, तो उस पर कड़ी नजर रखें!
हैक किए गए सर्वरों को जाँचने की एक विधि है kill
-
अनिवार्य रूप से, जब आप "किल -0 $ पीआईडी" चलाते हैं तो आप पहचानकर्ता $ पीआईडी को संसाधित करने के लिए एक एनओपी संकेत भेज रहे हैं। यदि प्रक्रिया चल रही है, तो किल कमांड सामान्य रूप से बाहर निकल जाएगी। (एफडब्ल्यूआईडब्ल्यू, चूंकि आप एक एनओपी किल सिग्नल पास कर रहे हैं, इस प्रक्रिया से कुछ भी नहीं होगा)। यदि कोई प्रक्रिया नहीं चल रही है, तो किल कमांड विफल हो जाएगी (शून्य से कम स्थिति बाहर निकलें)।
जब आपका सर्वर हैक हो जाता है / एक रूटकिट स्थापित हो जाता है, तो पहली चीजों में से एक यह करता है कि प्रक्रिया की तालिकाओं आदि से प्रभावित प्रक्रियाओं को छिपाने के लिए कर्नेल को बताया जाता है, हालांकि यह कर्नेल स्थान में सभी प्रकार की ठंडी चीजों को चारों ओर से घुमाने के लिए कर सकता है। प्रक्रियाओं। और इसलिए इसका मतलब है कि
क) यह जाँच एक व्यापक जाँच नहीं है, क्योंकि अच्छी तरह से कोडित / बुद्धिमान रूटकिट यह सुनिश्चित करेगा कि कर्नेल इस चेक को निरर्थक बनाते हुए "प्रक्रिया मौजूद नहीं है" उत्तर के साथ होगा। बी) किसी भी तरह, जब एक हैक किए गए सर्वर में "खराब" प्रक्रिया चल रही है, तो यह पीआईडी आमतौर पर / खरीद के तहत नहीं दिखाएगा।
इसलिए , यदि आप अब तक यहां हैं, तो विधि सिस्टम में उपलब्ध प्रत्येक प्रक्रिया को -0 से मारना है (1 से कुछ भी -> / proc / sys / कर्नेल / pid_max) और देखें कि क्या प्रक्रियाएं चल रही हैं लेकिन रिपोर्ट नहीं की गई हैं in / proc।
यदि कुछ प्रक्रियाएं चल रही हैं, लेकिन रिपोर्ट नहीं की गई हैं, तो शायद आपको किसी भी तरह से देखने में समस्या हो।
यहाँ एक बैश स्क्रिप्ट है जो सभी को लागू करती है - https://gist.github.com/1032229 । उसे किसी फ़ाइल में सहेजें और उस पर अमल करें, अगर आपको कोई ऐसी प्रक्रिया मिलती है, जो खरीद में अप्राप्त है, तो आपके पास खुदाई शुरू करने के लिए कुछ लीड होनी चाहिए।
HTH।
मैं यहां दी गई प्रतिक्रियाओं का दूसरा जवाब दूंगा और अपना एक जोड़ दूंगा।
find /etc /var -mtime -2
यह आपको एक त्वरित संकेत देगा यदि आपकी मुख्य सर्वर फ़ाइलों में से कोई भी पिछले 2 दिनों में बदल गया है।
यह हैक डिटेक्शन पर एक लेख से है कि कैसे पता लगाया जाए कि आपका सर्वर हैक हो गया है।
से मैं अपने सर्वर पर अवांछित घुसपैठ का पता लगाने कर सकते हैं?
एक आईडी का उपयोग करें
SNORT® एक ओपन सोर्स नेटवर्क घुसपैठ रोकथाम और डिटेक्शन सिस्टम है जो एक नियम-चालित भाषा का उपयोग करता है, जो हस्ताक्षर, प्रोटोकॉल और विसंगति आधारित निरीक्षण विधियों के लाभों को जोड़ती है। लाखों डाउनलोड के साथ, स्नॉर्ट दुनिया भर में सबसे व्यापक रूप से घुसपैठ घुसपैठ और रोकथाम तकनीक है और उद्योग के लिए वास्तविक मानक बन गया है।
स्नॉर्ट नेटवर्क ट्रैफ़िक को पढ़ता है और "पेन टेस्टिंग द्वारा ड्राइव" जैसी चीज़ों की तलाश कर सकता है, जहाँ कोई व्यक्ति आपके सर्वर के विरुद्ध संपूर्ण मेटास्प्लोइट स्कैन चलाता है। मेरी राय में, इस तरह की चीजों को जानने के लिए अच्छा है।
लॉग का उपयोग करें ...
आपके उपयोग के आधार पर आप इसे सेट कर सकते हैं ताकि आप जान सकें कि जब भी कोई उपयोगकर्ता लॉग इन करता है, या एक विषम आईपी से लॉग इन करता है, या जब भी रूट लॉग इन करता है, या जब भी कोई लॉगिन करने का प्रयास करता है। मेरे पास वास्तव में सर्वर है जो मुझे हर लॉग संदेश को डीबग से अधिक ई-मेल करता है । हाँ, यहां तक कि नोटिस। मैं उनमें से कुछ को निश्चित रूप से फ़िल्टर करता हूं, लेकिन हर सुबह जब मुझे सामान के बारे में 10 ईमेल मिलते हैं तो यह मुझे ठीक करना चाहता है इसलिए ऐसा होना बंद हो जाता है।
अपने कॉन्फ़िगरेशन की निगरानी करें - मैं वास्तव में अपने पूरे / आदि को तोड़फोड़ में रखता हूं ताकि मैं संशोधनों को ट्रैक कर सकूं।
स्कैन चलाएं। लिनिस और रूटकिट हंटर जैसे उपकरण आपको अपने अनुप्रयोगों में संभावित सुरक्षा छेद के लिए अलर्ट दे सकते हैं। ऐसे कार्यक्रम हैं जो आपके सभी डिब्बे के हैश या हैश ट्री को बनाए रखते हैं और आपको परिवर्तनों के लिए सचेत कर सकते हैं।
अपने सर्वर की निगरानी करें - जैसे आपने डिस्क्सस्पेस का उल्लेख किया है - यदि कुछ असामान्य है तो ग्राफ आपको संकेत दे सकते हैं। मैं CPU, नेटवर्क ट्रैफ़िक, डिस्क स्पेस, तापमान आदि पर नज़र रखने के लिए Cacti का उपयोग करता हूं । यदि कुछ अजीब लगता है तो यह अजीब है और आपको पता लगाना चाहिए कि यह अजीब क्यों है।
मैं इसे जोड़ना चाहूंगा:
अपने बैश इतिहास की जांच करें, अगर यह खाली है और आपने इसे खाली नहीं किया है या इसे खाली नहीं किया है, तो एक अच्छी संभावना है कि किसी ने आपके सर्वर से समझौता किया है।
अंतिम जाँच करें। या तो आप अज्ञात आईपी देखेंगे या यह बहुत खाली दिखेगा।
फिर जैसा कि स्वीकार किए गए उत्तर में कहा गया है, सिस्टम फाइलें अक्सर बदल जाती हैं, संशोधित तारीख की जांच करें। हालाँकि वे अक्सर संशोधित तिथि के साथ छेड़छाड़ करते हैं।
वे अक्सर यादृच्छिक पोर्ट पर चलने वाले ssh का दूसरा संस्करण स्थापित करते हैं। यह अक्सर कुछ वास्तव में विषम स्थानों में छिपा होता है। ध्यान दें कि इसे सामान्य रूप से ssh के अलावा किसी अन्य चीज़ में बदल दिया जाएगा। तो netstat की जाँच करें (जैसा कि वे अक्सर इसे बदल सकते हैं काम नहीं कर सकते हैं) और किसी भी अज्ञात पोर्ट को ब्लॉक करने के लिए iptables का उपयोग करें।
किसी भी मामले में, यह एक ऐसी स्थिति है जहां रोकथाम इलाज से बेहतर है। यदि आपके साथ समझौता किया गया है, तो यह सिर्फ प्रारूप के लिए और फिर से शुरू करना सबसे अच्छा है। यह पुष्टि करना लगभग असंभव है कि आपने हैक को सफलतापूर्वक साफ किया है।
अपने सर्वर से छेड़छाड़ होने से रोकने के लिए निम्नलिखित बातों पर ध्यान दें।
यह ध्यान देने योग्य है कि एक बार जब वे एक सर्वर में होते हैं, तो वे आपके बैश इतिहास के माध्यम से जांच करेंगे और उस सर्वर से ssh के माध्यम से जुड़े अन्य सर्वरों की तलाश करेंगे। फिर वे उन सर्वरों से जुड़ने का प्रयास करेंगे। इसलिए यदि आप एक खराब पासवर्ड के कारण ब्रूट को मजबूर करते हैं, तो यह बहुत संभव है कि वे दूसरे सर्वर से कनेक्ट हो पाएंगे और उन लोगों से भी समझौता कर पाएंगे।
यह वहाँ एक बदसूरत दुनिया है, मैं पुनरावृत्ति रोकथाम इलाज से बेहतर है।
थोड़ी खोज करने के बाद, यह भी है, यह वही है जो मैंने ऊपर सूचीबद्ध किया है, कुछ अन्य सामानों के बीच: http://www.chkrootkit.org/ और http://www.rootkit.nl/projects/rootkit_hunter.html
आपको GuardRail की जांच करनी चाहिए। यह आपके सर्वर को दैनिक आधार पर स्कैन कर सकता है और आपको बता सकता है कि एक अच्छे दृश्य तरीके से क्या बदल गया है। इसके लिए किसी एजेंट की आवश्यकता नहीं होती है और यह SSH से जुड़ सकता है, इसलिए आपको किसी एजेंट के साथ अपनी मशीन और संसाधनों को रद्दी करने की आवश्यकता नहीं है।
सबसे अच्छा, यह 5 सर्वरों के लिए मुफ़्त है।
यहां इसकी जांच कीजिए: