Я хочу, чтобы мое собственное маленькое приложение nuxt / vue.js использовало fail2ban для блокировки пользователей при слишком большом количестве неверных попыток входа в систему.Я думаю, что я понял, как настроить Fail2Ban сам.
Мой вопрос: Какой синтаксис должен использовать мой access.log, чтобы он понимался с помощью fail2ban прямо из коробки?Я не нашел никаких ответов на этот вопрос.
access.log
Каков наилучший метод и какой подход будет работать для fail2ban прямо из коробки?Я воображаю что-то вроде этого:
2019-02-17 15:12:10 login-error from 192.168.1.1 Invalid user 'administrator'
2019-02-17 16:11:10 login-error from 192.168.1.1 Invalid password for user 'admin'
Базовая настройка
1) Установить Fail2Ban
sudo apt-get install fail2ban
2) Создать свою собственную тюрьму
sudo vim /etc/fail2ban/jail.local
Вставьте содержимое (и отредактируйте по своему усмотрению)
[my-app]
enabled = true
port = http,https
filter = my-app
logpath = /home/my-user/my-app/logs/access.log
maxretry = 5
4) Создайте фильтр
sudo vim /etc/fail2ban/filter.d/my-app.local
Вставьте содержимое в свой my-app.local:
[Definition]
failregex = login-error from <HOST>
3) Перезапустите службу
sudo systemctl restart fail2ban.service
Теперь это будет контролировать my-app / logs / access.log и блокировать IP после более чем 5 неправильных попыток один разжурнал настроен.