Инструменты пользователя

Инструменты сайта


linux:f2b

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
linux:f2b [2021/04/29 13:41]
admin создано
linux:f2b [2022/06/26 04:42] (текущий)
admin
Строка 1: Строка 1:
 ====== Fail2Ban ====== ====== Fail2Ban ======
  
 +Служба для отслеживания и блокирования брутфорса.\\
 +Для проверки анализирует журналы авторизации, обычно это- **/var/log/auth.log**, путь указывается в конфигах.\\
 +Для блокировки используется системный **firewall**. Правила поведения можно гибко настраивать скриптами.\\
  
-===== =====+===== Конфигурация ===== 
 +Стандартная конфигурация прописана в файле **/etc/fail2ban/jail.conf**, его менять не следует, для настройки нужно создавать собственные файлы (*.conf или *.local) и размещать их в каталоге **/etc/fail2ban/jail.d**, эти файлы будут иметь приоритет перед стандартной конфой.\\
  
 +Собственные правила можно создавать в отдельных файлах или в общем, правила все равно **разбиваются на секции**.\\
 +Общие для всех правил параметры, можно вынести в секцию **[DEFAULT]** (верхний регистр!).\\
 +Для работы нужно активировать как **минимум одну** секцию, не считая дефолтной.\\
  
-==== ====+В файле **/etc/fail2ban/fail2ban.conf** задается общая конфигурация службы.\\
  
-==== ====+Время и часовой пояс, на сервере, должны быть корректными, по крайней мере локальное время должно совпадать со временем в логах.\\
  
-==== ====+===== Управление ===== 
 +Если после бана вручную удалить IP-адрес из файервола, **fail2ban** не будет его банить повторно, только делать пометки в логе **"already-banned"**, но после перезапуска службы, IP снова попадет в бан сразу же, **без попыток** входа.\\ 
 + 
 +Для разблокировки хоста следующая команда: 
 +<code bash># fail2ban-client set [name-jail] unbanip [ip-addr]</code> 
 + 
 +Посмотреть перечень установленных "name-jail" (т.е. заданных правил) 
 +<code bash># fail2ban-client status</code> 
 + 
 +Результаты своей работы служба пишет в свой лог, обычно- **/var/log/fail2ban.log** 
 + 
 + 
 +===== Пример конфигурации ===== 
 +Время указывается **в секундах**, вроде можно использовать идентификаторы типа **m**, **h** и т.д., стоит уточнять.\\ 
 +Для вечного бана нужно указать **-1**. 
 + 
 +<details> 
 +<summary> :!: Пример конфигурации ssh</summary> 
 +<code bash> 
 +[DEFAULT] 
 +maxretry = 3 
 +findtime = 480 
 +bantime = -1 
 +action = iptables-allports 
 +# ignoreip = 127.0.0.1 # исключение, можно указать сегментом сети, типа 192.168.0.0/24 
 + 
 +[sshd] 
 +enabled = true 
 +port = ssh 
 +filter = sshd 
 +action = iptables[name=sshd, port=ssh, protocol=tcp, blocktype="DROP"
 +logpath = /var/log/auth.log 
 +</code> 
 +</details> 
 + 
 + 
 +<details> 
 +<summary> :!: Еще пример, ssh+ apache</summary> 
 +<code bash> 
 +[DEFAULT] 
 +maxretry = 3 
 +findtime = 480 
 +bantime = -1 
 +action = iptables-allports 
 +ignoreip = 92.124.136.88 
 + 
 +[sshd] 
 +enabled = true 
 +port = ssh 
 +filter = sshd 
 +action = iptables[name=sshd, port=ssh, protocol=tcp, blocktype="DROP"
 +logpath = /var/log/auth.log 
 + 
 +[apache] 
 +enabled = true 
 +port = http,https 
 +filter = apache-auth 
 +action = iptables[name=apache-auth, port=http,https, protocol=tcp, blocktype="DROP"
 +logpath = /var/log/apache*/*error.log 
 + 
 +[apache-overflows] 
 +enabled = true 
 +port = http,https 
 +filter = apache-overflows 
 +action = iptables[name=apache-overflows, port=http,https, protocol=tcp, blocktype="DROP"
 +logpath = /var/log/apache*/*error.log 
 + 
 +[apache-badbots] 
 +enabled = true 
 +port = http,https 
 +filter = apache-badbots 
 +action = iptables[name=apache-badbots, port=http,https, protocol=tcp, blocktype="DROP"
 +logpath = /var/log/apache*/*error.log 
 +</code> 
 +</details>
  
  
  
-===== ===== 
linux/f2b.1619703685.txt.gz · Последнее изменение: 2021/04/29 13:41 — admin