Fail2Ban и Nextcloud

Установка Fail2Ban:

sudo zypper in fail2ban

Создадим лог-файл для Nextcloud и назначим права, где wwwrun — пользователь от которого работает WEB — сервер:

sudo touch /var/log/nextcloud/nextcloud.log
sudo -u wwwrun chown wwwrun:www /var/log/nextcloud/nextcloud.log

Настроим ведение лога в Nextcloud:

через консоль:

sudo -u wwwrun php occ log:file --file /var/log/nextcloud/nextcloud.log --rotate-size 20M --enable
sudo -u wwwrun php occ log:manage --level 2 --timezone Europe/Moscow

либо правкой конфиг файла:

sudo vi /srv/www/nextcloud/config/config.php
  'logtimezone' => 'Europe/Moscow',
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'log_rotate_size' => 20971520,
  'loglevel' => '2',

Создадим фильтр для Fail2Ban:

sudo vi /etc/fail2ban/filter.d/nextcloud.conf

[INCLUDES]
before = common.conf

[Definition]
_groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*)
failregex = ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Login failed:
datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?"

Где мы ищем вхождение по фразе «Login failed» и забираем IP адрес  «<HOST>»

Подключим фильтр:

sudo vi /etc/fail2ban/jail.local

[DEFAULT]
ignoreip = 
enabled = true
port = http,https 
filter = nextcloud 
logpath = /var/log/nextcloud/nextcloud.log
findtime = 600
maxretry = 3 bantime = 24h

В секции DEFAULT мы описали наши IP адреса, которые будут игнорироваться Fail2Ban (по сути белый список).
В секции nextcloud мы указали:

  • enabled = true #фильтр включен
  • port = http,https #Порты блокировки
  • filter = nextcloud #Название фильтра (filter.d/nextcloud.conf)
  • logpath = /var/log/nextcloud.log #Анализируемый лог
  • findtime = 600 #В секундах — время поиска повторяющихся событий
  • maxretry = 3 #Количество повторов (после третьей попытки неудачной авторизации, IP атакующего попадает в Бан)
  • bantime = 24h # Сколько держать нарушителя в бане, можно в минутах -m, в часах -h, либо в секундах — без префикса

Перезапуск Fail2Ban:

sudo service fail2ban restart

Запись опубликована в рубрике OpenSUSE, Техничка. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *