Автор Тема: fail2ban  (Прочитано 126 раз)

Оффлайн Alex_arch

  • Use linux, Just Linux!
  • Участник
  • *
  • Сообщений: 13
  • Linux for all!
fail2ban
« : 16.07.2026 12:32:16 »
Всем доброго времени суток!
Пытаюсь настроить fail2ban для блокировки подключений по xrdp
Проблема в том что фильтр нужно написать, который отловит нужный адрес а в строке лога адреса нет.
Там имеется только такая строка в которой указывается что попытка подключения неудачна:
|  июл 16 12:09:32 vpc-a11-04.company.lan xrdp[4334]: [INFO ] xrdp_wm_log_msg: User does not exist, or could not be authenticatedСам же fail2ban в фильтре проверяет на сколько я понимаю только одну строку, а одной строки с адресом и указанием неудачной попытки подключения нет, даже если XRDP логи перевести в режим DEBUG
Адрес есть выше в логе и по ходу мне несколько этих строк не собрать в одном фильтре:
|  июл 16 10:46:01 vpc-a11-04.company.lan xrdp[3257]: [INFO ] Module "company.lan" specified by alexey from 192.168.1.20:39724 is not configured. Using "Xorg" instead.
|  июл 16 10:46:01 vpc-a11-04.company.lan xrdp[3257]: [INFO ] xrdp_wm_log_msg: Performing login request for alexey
|  июл 16 12:09:32 vpc-a11-04.company.lan xrdp[4334]: [INFO ] xrdp_wm_log_msg: User does not exist, or could not be authenticated
Подскажите, как быть? fail2ban в репозитории на гитхабе имеет написанный фильтр:
#
# Fail2Ban filter for XRDP
#
# Detects login attempts with invalid credentials
#
# Requirements:
#   - xrdp >= 0.9.19
#   - The log level in sesman.ini should be set to `INFO` or higher
#     to emit the log messages needed for this filter.
#
# Author: Evan Linde
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf


[DEFAULT]

_daemon = xrdp-sesman


[Definition]

authfail_re = \[INFO \] AUTHFAIL: user=<F-USER>(?:\S+|.+)</F-USER> ip=<ADDR> time=\d+

failregex = ^%(__prefix_line)s%(authfail_re)s$

ignoreregex =

datepattern = ^\[?%%ExY%%Exm%%Exd-%%ExH:%%ExM:%%ExS\]?
              ^{DATE}
Ну этот фильтр не отлавливает ничего.
fail2ban-regex "$(journalctl -u xrdp -n 200 --no-pager)" /etc/fail2ban/filter.d/xrdp-auth.conf
Running tests
=============

Use      filter file : xrdp-auth, basedir: /etc/fail2ban
Use      datepattern : ^\[?%ExY%Exm%Exd-%ExH:%ExM:%ExS\]?
^{DATE} : Default Detectors
Use      multi line : 200 line(s)
|  1: июл 16 10:46:01 vpc-a11-04.company.lan xrdp[32...
|  2: июл 16 10:46:01 vpc-a11-04.company.lan xrdp[32...
|  3: июл 16 10:46:01 vpc-a11-04.companyr.lan xrdp[32...
|  4: июл 16 10:46:01 vpc-a11-04.company.lan xrdp[32...
|  5: июл 16 10:46:01 vpc-a11-04.company.lan xrdp[32...
| ...
`-
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
Lines: 200 lines, 0 ignored, 0 matched, 200 missed
[processed in 0.01 sec]

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 496
  • Учиться .... Телепатами не рождаются, ими ....
Re: fail2ban
« Ответ #1 : 16.07.2026 12:55:57 »
Если проблема в ip , то наверное вам надо использовать fail2ban в связке с nftables / iptables