Bug 56369 - Правила fail2ban для postfix-sasl не работают из коробки (p11)
Summary: Правила fail2ban для postfix-sasl не работают из коробки (p11)
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: fail2ban (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P4 normal
Assignee: Anton Vyatkin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-13 20:09 MSK by ksenobayt
Modified: 2025-10-21 16:14 MSK (History)
21 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ksenobayt 2025-10-13 20:09:28 MSK
Вводные:

- Система с postfix
- p10 обновлена до p11 "на живую"
- был настроен fail2ban в дефолтной конфигурации (т.е. использовался фильтр postfix.conf, содержащий в себе правила для plain text и sasl, которые применялись jail'ом postfix-sasl в jail.local)
- никаких изменений в конфиг не вносилось

После полного апгрейда системы до p11, правила f2b больше не компилируются корректно:

--

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

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

Use   failregex filter file : postfix, basedir: /etc/fail2ban
Use      datepattern : {^LN-BEG} : Default Detectors
Use         log file : /var/log/mail/all
Use         encoding : UTF-8

Traceback (most recent call last):
  File "/bin/fail2ban-regex", line 34, in <module>
    exec_command_line()
  File "/usr/lib/python3/site-packages/fail2ban/client/fail2banregex.py", line 836, in exec_command_line
    if not fail2banRegex.start(args):
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/site-packages/fail2ban/client/fail2banregex.py", line 776, in start
    self.process(test_lines)
  File "/usr/lib/python3/site-packages/fail2ban/client/fail2banregex.py", line 584, in process
    line_datetimestripped, ret, is_ignored = self.testRegex(line)
                                             ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/site-packages/fail2ban/client/fail2banregex.py", line 456, in testRegex
    found = self._filter.processLine(line, date)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/site-packages/fail2ban/server/filter.py", line 613, in processLine
    timeMatch = self.dateDetector.matchTime(line)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/site-packages/fail2ban/server/datedetector.py", line 406, in matchTime
    match = template.matchDate(line)
            ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/site-packages/fail2ban/server/datetemplate.py", line 161, in matchDate
    self._compileRegex()
  File "/usr/lib/python3/site-packages/fail2ban/server/datetemplate.py", line 155, in _compileRegex
    raise e
  File "/usr/lib/python3/site-packages/fail2ban/server/datetemplate.py", line 152, in _compileRegex
    self._cRegex = re.compile(self.regex)
                   ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/__init__.py", line 228, in compile
    return _compile(pattern, flags)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/__init__.py", line 307, in _compile
    p = _compiler.compile(pattern, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/_compiler.py", line 745, in compile
    p = _parser.parse(p, flags)
        ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/_parser.py", line 979, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/_parser.py", line 460, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/re/_parser.py", line 840, in _parse
    raise source.error('global flags not at the start '
re.error: global flags not at the start of the expression at position 13

--

То же самое происходит в конфигурации по умолчанию, при установке p11 начисто с нуля.
Comment 1 ksenobayt 2025-10-14 12:18:33 MSK
Есть подозрение, что проблема появилась после обновления Python в p11: версия самого fail2ban не поменялась, однако версии парсеров, в том числе re - уже более свежие.
Comment 2 Vladislav Glinkin 2025-10-20 17:31:44 MSK
Версия пакета: fail2ban-0.11.2-alt4

Проблема воспроизводится в Sisyphus.

Была устранена в upstream'е. Нужно обновить пакет.
https://github.com/fail2ban/fail2ban/issues/3314
https://github.com/fail2ban/fail2ban/issues/3260
https://github.com/fail2ban/fail2ban/pull/3267
Comment 3 Anton Vyatkin 2025-10-20 22:21:15 MSK
task #397828 for sisyphus DONE
Comment 4 ksenobayt 2025-10-21 13:34:16 MSK
(In reply to Anton Vyatkin from comment #3)
> task #397828 for sisyphus DONE

А когда можно ожидать обновления пакета в p11? Меня интересует эта проблема в первую очередь в стабильной версии.
Comment 5 Alexander Makeenkov 2025-10-21 16:14:37 MSK
(Ответ для ksenobayt на комментарий #4)
> А когда можно ожидать обновления пакета в p11? 

https://packages.altlinux.org/ru/tasks/397831

После успешного прохождения тестирования.