ব্যর্থ 2ban মনিটরিটে ঘোরানো লগ ফাইলগুলি কী পর্যবেক্ষণ করে?


9

ব্যর্থ 2ban কী ঘোরানো লগ ফাইলগুলি পর্যবেক্ষণ করতে থাকবে?

উদাহরণস্বরূপ, আমার কাছে একটি নিয়ম পর্যবেক্ষণ /var/log/fail2ban.log রয়েছে যা প্রতি সপ্তাহে (7 দিন) সিস্টেমে স্বয়ংক্রিয়ভাবে ঘোরানো হয়। আমি এমন একটি নিয়ম রাখতে চাই যা গত 10 দিনের মধ্যে 5 বার নিষিদ্ধ করা হয়েছে এমন পুনরাবৃত্তি অপরাধীদের সন্ধান করতে সেই লগটিতে নিষিদ্ধ আইপিগুলির জন্য নিরীক্ষণ করে। এটা কি সম্ভব?

উত্তর:


0

হ্যাঁ, ব্যর্থ 2ban ঘোরানো লগ ফাইলগুলি পর্যবেক্ষণ করে চলেছে। থেকেserver/filter.py

439 ##
440 # FileContainer class.
441 #
442 # This class manages a file handler and takes care of log rotation detection.
443 # In order to detect log rotation, the hash (MD5) of the first line of the file
444 # is computed and compared to the previous hash of this line.

3
এই মন্তব্যটির সাথে পুনরায় কার্যকর নিষেধাজ্ঞা কার্যকর হবে কিনা তা নিয়ে কোনও সম্পর্ক নেই । আমি মনে করি না (আমি বেশ নিশ্চিত) যা fail2banবর্তমান ফাইলটি পড়ে না। লগ ঘূর্ণন সনাক্ত পারবেন fail2banজানাতে চাই যে ফাইল পরিবর্তন পড়তে না .1, .2.gzইত্যাদি ফাইল এছাড়াও ফোল্ডারে যেতে পারে।
— অ্যালেক্সিস উইলক

6

এক দুটি উপায়ে (বা সংমিশ্রণ) এর মধ্যে একাধিক লগ নির্দিষ্ট করতে পারে। মনিটরিং করার জন্য লগ ফাইলের সাথে ম্যাচ করার জন্য আপনি ফাইল গ্লোবস (ওয়াইল্ডকার্ডস) logpath = /var/log/*somefile.logবা নিরীক্ষণের জন্য লগ ফাইলগুলির একটি তালিকা ব্যবহার করতে পারেন, যেমন শ্বেত স্পেস (স্পেস, ট্যাবস, নিউলাইনস) দ্বারা পৃথক

    logpath = /var/log/auth.log /var/log/auth.log.1

অথবা

    logpath = /var/log/auth.log
              /var/log/auth.log.1

সুতরাং মূলত ব্যর্থ 2ban নতুন লগফাইলগুলি সনাক্ত করতে পারে না? আমি এটি কিছু পর্যবেক্ষণ করার জন্য সেট করে রেখেছি - *। লগ যেখানে নতুন তারিখের সাথে একটি নতুন ফাইল তৈরি হয় (যেমন কিছু- 20200101.log) এবং ফেল2ban এটি সনাক্ত করতে পারে না। ব্যর্থ 2ban এর কোনও বিকল্প আছে (কারণ আমি মনে করি না এটি গ্রহণযোগ্য)?
— ডান

4

উপরের উত্তরটি আপনার প্রশ্নের সাথে ভুল। ফাইল কন্টেইনার কেবল শেষ অফসেট থেকে চালিয়ে যাওয়ার মানক পদ্ধতির পরিবর্তে লগ রিডিংটিকে পুনরায় ফাইলের পুনরায় সেট করতে ফাইল লগ রোটেশন সনাক্তকরণ ব্যবহার করে:

class FileContainer:
   ...
       def open(self):
                self.__handler = open(self.__filename, 'rb')
                ...
                # Compare hash and inode
                if self.__hash != myHash or self.__ino != stats.st_ino:
                        logSys.info("Log rotation detected for %s" % self.__filename)
                        self.__hash = myHash
                        self.__ino = stats.st_ino
                        self.__pos = 0
                # Sets the file pointer to the last position.
                self.__handler.seek(self.__pos)

সেখানে কোনও কোড নেই যা ঘূর্ণিত ফাইলগুলিও পার্স করার জন্য সন্ধান করে।


1
এক দুটি উপায়ে (বা সংমিশ্রণ) এর মধ্যে একাধিক লগ নির্দিষ্ট করতে পারে। মনিটরের জন্য লগ ফাইলগুলি (যেমন logpath = /var/log/*somefile.log) লগ ফাইলগুলির সাথে ম্যাচ করার জন্য আপনি ফাইল গ্লোবস (ওয়াইল্ডকার্ডস) বা হোয়াইটস্পেস (স্পেস, ট্যাবস, নিউলাইনস) দ্বারা পৃথক করে লগফাইনের একটি তালিকা ব্যবহার করতে পারেন logpath = /var/log/auth.log /var/log/auth.log.1।
— ট্রয় মোরহাউস

@ ট্রয়, আপনি উত্তরটি পেয়েছেন, সত্যিকারের উত্তর লিখাই আপনার পক্ষে ভাল হবে যাতে আমরা আপনাকে একটি +1 দিতে পারি।
— অ্যালেক্সিস উইলক

@ অ্যালেক্সিস উইলক, আপনার পরামর্শ অনুসারে আমি একটি উত্তর যুক্ত করেছি
— ট্রয়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.