Назад | Перейти на главную страницу

Контролирует ли fail2ban ротацию файлов журнала?

Продолжает ли fail2ban отслеживать ротацию файлов журналов?

Например, у меня есть правило мониторинга /var/log/fail2ban.log, которое автоматически обновляется системой каждую неделю (7 дней). Я хочу иметь правило, которое отслеживает заблокированные IP-адреса в этом журнале, чтобы находить повторных нарушителей, которые были заблокированы 5 раз за последние 10 дней. Это возможно?

Можно указать несколько журналов одним из двух способов (или комбинацией). Вы можете использовать файловые глобусы (подстановочные знаки) для сопоставления файлов журнала для мониторинга (т.е.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

Приведенный выше ответ неверен относительно вашего вопроса. FileContainer использует только обнаружение ротации журнала файлов, чтобы сбросить чтение журнала до начала файла вместо стандартной процедуры продолжения с последнего смещения:

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)

Там нет кода, который ищет повернутые файлы для анализа.

Да, fail2ban продолжает отслеживать ротацию файлов журналов. Из 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.