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

Fail2Ban не работает с 9 февраля 11:57:51 NOQUEUE: reject: RCPT from unknown [185.143.223.170]

У меня есть эти файлы в моем файле mail.log:

Feb  9 11:57:50 ctrl-01 postfix/smtpd[21155]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 454 4.7.1 <ian@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<ian@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
Feb  9 11:57:50 ctrl-01 postfix/smtpd[21155]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 454 4.7.1 <david@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<david@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
Feb  9 11:57:50 ctrl-01 postfix/smtpd[21155]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 454 4.7.1 <chris@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<chris@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
Feb  9 11:57:51 ctrl-01 postfix/smtpd[21155]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 454 4.7.1 <john@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<john@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
Feb  9 11:57:52 ctrl-01 postfix/smtpd[21155]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 454 4.7.1 <mike@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<mike@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>

У меня это есть в моем /etc/fail2ban/filter.d/postfix.conf

failregex = reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
            reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
            reject: RCPT from (.*)\[<HOST>\]: 454 4.7.1
            reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1

Однако, когда я проверяю Regex, он ничего не соответствует:

$ fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

Running tests
=============

Use   failregex filter file : postfix, basedir: /etc/fail2ban
Use      datepattern : Default Detectors
Use         log file : /var/log/mail.log
Use         encoding : UTF-8


Results
=======

Failregex: 0 total

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [10000] {^LN-BEG}(?:DAY )?MON Day %k:Minute:Second(?:\.Microseconds)?(?: ExYear)?
`-

Lines: 10000 lines, 0 ignored, 0 matched, 10000 missed
[processed in 0.60 sec]

Есть идеи, почему это могло быть?

Обновление: я использую ubuntu 18.04.04 LTS Server - стандартная версия fail2ban 0.10.2-2

Обновление 2: я добился некоторого прогресса, и если я закомментирую эту строку, она будет соответствовать:

prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$

Но я бы предпочел исправить проблему, а не добавить взлом.

когда prefregex настоящее, fail2ban сначала удаляет строки журнала, которые не соответствуют prefregex а затем соответствует failregex против содержания <F-CONTENT>. Поскольку postgres фильтр содержит:

prefregex = ^%(__prefix_line)s<mdpr-<mode>> <F-CONTENT>.+</F-CONTENT>$
mdpr-normal = (?:NOQUEUE: reject:|improper command pipelining after \S+)

после применения prefregex, содержание будет:

RCPT from unknown[185.143.223.170]: 454 4.7.1 <ian@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<ian@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
RCPT from unknown[185.143.223.170]: 454 4.7.1 <david@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<david@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
RCPT from unknown[185.143.223.170]: 454 4.7.1 <chris@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<chris@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
RCPT from unknown[185.143.223.170]: 454 4.7.1 <john@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<john@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>
RCPT from unknown[185.143.223.170]: 454 4.7.1 <mike@restaurantlesbeatilles.com>: Relay access denied; from=<f86e41m50ljqs@artist-oil.ru> to=<mike@restaurantlesbeatilles.com> proto=ESMTP helo=<[185.143.223.97]>

и вам нужно отбросить reject: часть ваших регулярных выражений:

failregex = RCPT from (.*)\[<HOST>\]: 550 5.1.1
            RCPT from (.*)\[<HOST>\]: 450 4.7.1
            RCPT from (.*)\[<HOST>\]: 454 4.7.1
            RCPT from (.*)\[<HOST>\]: 554 5.7.1