लॉगचेक का उपयोग करने के लिए एक सरल और प्रभावी सामान्य समाधान है ।
sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]
logcheck समय-समय पर सभी लॉग्स को कुशलतापूर्वक स्कैन करता है (जहां पिछली बार इसे छोड़ा गया था), फ़िल्टर करता है जो सामान्य मानी जाने वाली किसी भी चीज़ को खत्म करने के लिए देखता है, और वैकल्पिक रूप से किसी भी चीज़ के साथ ईमेल अलर्ट जो सामान्य / नियमित पैटर्न से मेल नहीं खाता है।
मुख्य विचार आपकी लॉग फ़ाइलों में किसी भी गंभीर प्रविष्टियों की उपस्थिति के लिए देखना है, उन सभी को, हर समय, इसलिए आपको नहीं करना है।
logcheck अत्यधिक विन्यास योग्य (man logcheck
) है। आप सब कुछ कॉन्फ़िगर कर सकते हैं, जिसमें शामिल हैं:
- जाँच की आवृत्ति
- लॉग फ़ाइल की जाँच की जाती है
- क्या सामान्य माना जाता है बनाम नहीं
- जहां अलर्ट्स (असामान्य घटनाओं) को ईमेल करें
और अधिक। आपकी उपेक्षा (सामान्य / नियमित) पैटर्न कई फाइलों में /etc/logcheck/ignore.d.* के तहत रहता है और आप उन्हें अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं; मुख्य रूप से आप अनदेखा करने के लिए अपने खुद के पैटर्न जोड़ना चाह सकते हैं। डिफ़ॉल्ट उबंटू पैकेज कई सेवाओं के लिए पहले से ही अनदेखा पैटर्न वाली फ़ाइलों के एक व्यापक सेट के साथ आता है, इसलिए जब तक आपका सिस्टम असामान्य नहीं है, तब तक इसे जोड़ने के लिए बहुत कुछ नहीं है। पूर्व-कॉन्फ़िगर किए गए फ़ाइल प्रोफ़ाइल के 3 सेट हैं: ign.d.workstation , ign.d.server , और ign.d.paranoid जिसे आप चुन सकते हैं।
लॉगचेक के पीछे मुख्य विचार यह है कि सिस्टम पर चलने वाली विभिन्न सेवाएं, पहले से ही असामान्य घटनाओं को लॉग करती हैं। जैसे sshd या pam पहले से ही प्रमाणीकरण विफलताओं को लॉग करते हैं। तो मुख्य गायब घटक हैं:
- जो सामान्य है उसे छानना
- चेतावनी सेवा
जो दोनों एक सुविधाजनक पैकेज में लॉगचेक द्वारा प्रदान किए गए हैं । आप किसी अन्य लॉगिंग के साथ लॉगचेक को जोड़ सकते हैं । उदाहरण के लिए iptables को किसी भी नेटवर्क कनेक्शन के प्रयासों को हटाने के लिए कॉन्फ़िगर किया जा सकता है जो नियमों को जोड़कर स्पष्ट रूप से अनुमत नहीं हैं:
iptables -A input -j LOG
iptables -A input -j DROP
सभी अनुमति नियमों के तुरंत बाद।
मुझे लगता है logcheck की तुलना में अधिक सहायक हो logwatch क्योंकि यह नियम की एक बहुत बड़ी संख्या के साथ पहले से पैक की अनदेखी करने के क्या सामान्य गतिविधि माना जाता है आता है (अन्य उत्तर में सुझाव दिया)। परिणाम अलर्ट में बहुत अधिक संकेत / शोर अनुपात है जो इसे ईमेल करता है। YMMV।
लॉगचेक का एक और फायदा यह है कि यह लॉग करने वाली किसी भी सेवा के लिए ऑर्थोगोनल है, इसलिए फ़ंक्शन का कोई दोहराव नहीं है। जब भी आप एक नई सेवा जोड़ते हैं, जो syslog
लॉग इवेंट्स का उपयोग करती है, असामान्य है या नहीं, /var/log
आपके अधीन किसी भी फाइल में स्वचालित रूप से इसके लिए अलर्ट मिलना शुरू हो जाता है।
कैसे:
चूंकि logcheck
पहले से ही अपुष्ट है, इस उत्तर के शीर्ष पर दो लाइनें अनिवार्य रूप से कवर करती हैं जो आपको शुरू करने की आवश्यकता होती है। बस इसे स्थापित करें, और शीर्ष कॉन्फ़िगरेशन फ़ाइल पर जाएं:
/etc/logcheck/logcheck.conf
अपना ईमेल पता बदलने के लिए ताकि logcheck
ईमेल आपको अलर्ट करें।
यहाँ एक दोस्ताना संदर्भ है जो दूसरे चरण में अधिक विस्तार से जा रहा है । चूंकि उबंटू डेबियन पर आधारित है, इसलिए इन निर्देशों को उबंटू पर भी काम करना चाहिए।
यहाँ एक और अच्छा संदर्भ है ।
स्थापित करने के बाद, निरंतर सुधार प्रक्रिया शुरू होती है। समय के साथ, आप कुछ भी अनदेखा करने के लिए अपने नियमों को परिष्कृत करते हैं जिनके बारे में आप पहले से जानते हैं और महसूस नहीं करना चाहिए। यह शोधन प्रक्रिया अपने पसंदीदा पाठ संपादक में एक फ़ाइल में पाठ लाइनों को जोड़ने के रूप में सरल है।
एक अनदेखा फ़ाइल में प्रत्येक पंक्ति एक विस्तारित नियमित अभिव्यक्ति (देखें man 7 regex
) है, लेकिन आप सरल तारों का उपयोग कर सकते हैं जब तक वे उस लॉग लाइन से मेल खाते हैं जिसे आप अनदेखा करना चाहते हैं। बस याद रखें कि पात्रों की तरह *
, ?
, '+', []
, ()
एक नियमित अभिव्यक्ति में विशेष कर रहे हैं, इसलिए यदि वे वास्तव में लॉग लाइनों में दिखाई देते हैं, तो आप उन्हें एक बैकस्लैश साथ भागने के लिए होता \
फ़ाइलों की अनदेखी में।
दूसरे शब्दों में: यदि आपको कोई चेतावनी मिलती है जिसे आप नहीं लेना चाहते हैं, तो उस लॉग लाइन को देखें जिसे आपको ईमेल किया गया था, और एक पैटर्न जोड़ें जो इसे मेल खाता है, एक पंक्ति के रूप में आपकी पसंद की किसी भी अनदेखा फ़ाइल में। मैं सुझाव देता हूं कि
/etc/logcheck/ignore.d.<yourloglevel>/my-ignores
आपकी व्यक्तिगत उपेक्षा फ़ाइल के रूप में। कहाँ <yourloglevel>
से एक है paranoid
, server
या
workstation
(आप पहले से ही मुख्य कॉन्फ़िग फ़ाइल में चुने गए के रूप में: /etc/logcheck/logcheck.conf
)। अन्य अनदेखा फ़ाइलों में उदाहरणों को देखें कि पाठ के लिए कैसे खाता है, जो हर समय प्रक्रिया-आईडी, या समय-टिकट की तरह बदलता है। इससे सीखने के लिए कई मौजूदा उदाहरण हैं।
एक आखिरी टिप: logcheck
थोड़ा उपयोगी उपयोगिता के साथ आता है जिसे कहा जाता है logcheck-test
जो नए नियमों के परीक्षण के लिए बहुत उपयोगी है। man logcheck-test
ब्योरा हेतु।