дата публикации 07.04.2018

Настройка fail2ban для redmine


НУЖНА ПОМОЩЬ hdsystems?

Если у Вас что-то не получается или просто нет времени заниматься решением этого вопроса, мы можем на платной основе оказать Вам техническую поддержку по телефону 8(499)391-28-78 или через программу удаленного доступа.

Нужна помощь

Дружим между собой fail2ban и redmine для защиты от брутфорса.

Исходные данные: Сервер centos 7, redmine установлен в папку /opt/redmine-3.4.4

Установка:
Устанавливаем на сервер epel репозиторий, обновляемся и устанавливаем fail2ban:
# yum install epel-release
# yum update
# yum install fail2ban fail2ban-systemd

Настройка:
Создаем файл конфигурации для redmine:
# touch /etc/fail2ban/filter.d/redmine.conf
# nano /etc/fail2ban/filter.d/redmine.conf

[Definition]

failregex = Failed [-/\w]+ for .* from

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =

Создаем файл jail.local и добавляем в него строки:
# touch /etc/fail2ban/jail.local
# nano /etc/fail2ban/jail.local

[redmine]

enabled = true
filter = redmine
port = 88
action = iptables[name=redmine, port=88, protocol=tcp]
backend = polling
logpath = /opt/redmine-3.4.4/log/production.log
maxretry = 3
findtime = 600
bantime = 86400
logencoding = utf-8

Чтоб fail2ban смог прочитать дату и время в логе, нужно поменять формат лога. Добавим в файл environment.rb строки
# nano /opt/redmine-3.4.4/config/environment.rb

class Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp} (#{$$}) #{msg}\n"
end
end

Перезагрузим nginx, в моем случае это
# /opt/nginx/sbin/nginx -s reload

Стартуем fail2ban и не забываем добавить в автозагрузку:
# systemctl start fail2ban
# systemctl enable fail2ban


Полезные команды:
Для проверки правильности работы конфигурационного файла, можно выполнить команду
# fail2ban-regex /opt/redmine-3.4.4/log/production.log /etc/fail2ban/filter.d/redmine.conf


НУЖНА ПОМОЩЬ hdsystems?

Если у Вас что-то не получается или просто нет времени заниматься решением этого вопроса, мы можем на платной основе оказать Вам техническую поддержку по телефону 8(499)391-28-78 или через программу удаленного доступа.

Нужна помощь