Fail2Ban Howto: заблокировать IP-адрес, используя Fail2ban и IPTables

Fail2ban сканирует файлы журналов для различных служб (SSH, FTP, SMTP, Apache и т. Д.) И блокирует IP-адрес, который вызывает слишком много сбоев пароля. Он также обновляет правила брандмауэра, чтобы отклонить эти IP-адреса.

Fail2ban – это среда предотвращения вторжений, написанная на языке программирования Python.

Основная цель Fail2ban – предотвращать атаки с использованием грубой силы.

Установить Fail2ban

Чтобы установить fail2ban из исходного кода, загрузите его из sourceforge .

Используйте apt-get для установки Fail2ban в системе на основе Debian, как показано ниже.

  # apt-get install fail2ban

Вы также можете установить Fail2ban вручную, загрузив пакет deb2 fail2ban .

 

 

  # dpkg -i fail2ban_0.10.2-2.1_all.deb

Как настроить fail2ban

Все файлы конфигурации Fail2ban находятся в каталоге /etc/fail2ban.

/etc/fail2ban/fail2ban.conf

Основное назначение этого файла – настроить директивы, относящиеся к журналу fail2ban.

  • Loglevel: установить выход уровня журнала.
  • logtarget: укажите путь к файлу журнала

Действия, предпринятые Fail2ban, регистрируются в файле /var/log/fail2ban.log. Вы можете изменить многословие в файле conf на одно из: 1 – ОШИБКА, 2 – ПРЕДУПРЕЖДЕНИЕ, 3 – ИНФОРМАЦИЯ или 4 – ОТЛАДКА.

/etc/fail2ban/jail.conf

Файл jail.conf содержит объявление конфигураций сервиса. Этот файл конфигурации разбит на разные контексты. Настройки DEFAULT применяются ко всем разделам.

В следующем разделе DEFAULT файла jail.conf говорится, что после пяти неудачных попыток доступа с одного IP-адреса в течение 600 секунд или 10 минут (время поиска) этот адрес будет автоматически заблокирован на 600 секунд (время запрета).

[DEFAULT]
ignoreip = 127.0.0.1
maxretry = 5
findtime = 600
bantime = 600
  • ignoreip: Это список разделенных пробелами IP-адресов, которые не могут быть заблокированы fail2ban.
  • maxretry: максимальное количество неудачных попыток входа в систему до того, как хост заблокирован fail2ban.
  • bantime: время в секундах, в течение которого хост блокируется, если он был пойман fail2ban (600 секунд = 10 минут).

Сервисные конфигурации

По умолчанию некоторые сервисы вставляются как шаблоны. Ниже приведен пример раздела служб ssh.

[ssh]
enabled = true
port	= ssh
filter	= sshd
logpath  = /var/log/auth.log
action = iptables
  • enabled: включить проверку fail2ban для службы ssh
  • port: сервисный порт (указанный в файле /etc/services)
  • filter: имя фильтра, который будет использоваться службой для обнаружения совпадений. Это имя соответствует имени файла в /etc/fail2ban/filter.d; без расширения .conf. Например: «filter = sshd» относится к «/etc/fail2ban/filter.d/sshd.conf».
  • logpath: файл журнала, который fail2ban проверяет на неудачные попытки входа в систему.
  • action: эта опция указывает fail2ban, какое действие предпринять, когда фильтр соответствует. Это имя соответствует имени файла в /etc/fail2ban/action.d/ без расширения .conf. Например: ‘action = iptables’ относится к /etc/fail2ban/action.d/iptables.conf ‘.

Fail2ban будет отслеживать файл /var/log/auth.log на предмет неудачных попыток доступа, и если он обнаружит повторные неудачные попытки входа в систему через ssh с того же IP-адреса или хоста, fail2ban останавливает дальнейшие попытки входа с этого IP-адреса / хоста, блокируя его с помощью fail2ban правило брандмауэра iptables.

Fail2ban Фильтры

Каталог /etc/fail2ban/filter.d содержит регулярные выражения, которые используются для обнаружения попыток взлома, сбоя пароля и т. д. Для различных служб.

Например:

  • sshd.conf – Fail2ban ssh связанные фильтры
  • apache-auth.conf – Fail2ban фильтры службы apache

Мы также можем добавить наше собственное регулярное выражение для поиска нежелательных действий.

Fail2ban Действия

Каталог /etc/fail2ban/action.d содержит различные сценарии, определяющие действия, которые будут выполняться при совпадении фильтра. Для каждой услуги разрешен только один фильтр, но можно указать несколько действий в отдельных строках.

Например:

  • IPtables.conf – блокировать и разблокировать IP-адрес
  • Mail.conf – отправка почты настроенному пользователю

Запуск / остановка службы Fail2ban

После внесения изменений в конфигурацию остановите и запустите демон Fail2ban, как показано ниже.

 # /etc/init.d/fail2ban stop

 # /etc/init.d/fail2ban start