Как установить Fail2Ban в Ubuntu 22.04

Fail2Ban - это широко используемое программное обеспечение для предотвращения вторжений с открытым исходным кодом, которое помогает защитить серверы от попыток несанкционированного доступа и атак грубой силы. Она работает путем анализа файлов журналов и запрета IP-адресов, которые демонстрируют вредоносное поведение, например, слишком большое количество неудачных попыток входа в систему. Fail2Ban хорошо настраивается и может быть интегрирован с различными службами, такими как SSH, FTP, почтовые серверы и веб-приложения.

Fail2Ban

Ключевые особенности Fail2Ban:

  • Мониторинг журналов в режиме реального времени: Fail2Ban постоянно отслеживает файлы журналов и обнаруживает шаблоны подозрительной активности.
  • Динамическое запрещение IP-адресов: После обнаружения вредоносного поведения Fail2Ban запрещает IP-адрес нарушителя, предотвращая дальнейшие попытки доступа.
  • Гибкая продолжительность запрета: Вы можете установить продолжительность запрета в соответствии с вашими предпочтениями или политикой безопасности.
  • Настраиваемые правила фильтрации: Fail2Ban предоставляет предварительно созданные правила фильтрации для многих распространенных служб, но вы также можете создать свои собственные для удовлетворения конкретных потребностей.
  • Поддержка нескольких служб: Fail2Ban можно использовать с широким спектром сервисов, таких как SSH, FTP, SMTP, IMAP, Apache и др.
  • Уведомления по электронной почте: Получайте уведомления по электронной почте, когда IP-адрес запрещен, что позволит вам оставаться в курсе событий безопасности.
  • Белые списки: Определите доверенные IP-адреса, которые никогда не должны быть запрещены, обеспечивая бесперебойный доступ для авторизованных пользователей.

Fail2Ban является популярным выбором среди администраторов серверов благодаря своей простоте, эффективности и тому, что для его работы требуется минимум ресурсов. Его высокая настраиваемость позволяет адаптировать его к уникальным требованиям каждой серверной среды.

Следующее руководство продемонстрирует, как установить Fail2Ban на Ubuntu 22.04 Jammy Jellyfish или Ubuntu 20.04 Focal Fossa с помощью менеджера пакетов APT и терминала командной строки, а также даст несколько дополнительных советов по настройке первых шагов по защите вашего сервера.

Шаг 1: Обновление Ubuntu

Перед началом процесса установки необходимо обновить систему, чтобы обеспечить плавную установку и избежать возможных конфликтов. Для этого выполните следующую команду в терминале:

sudo apt-get update && sudo apt-get upgrade -y

Шаг 2: Установите Fail2ban

Fail2Ban доступен в репозитории Ubuntu по умолчанию, что делает процесс установки простым и понятным. Выполните следующую команду, чтобы начать установку:

sudo apt install fail2ban

Шаг 3: Включить и активировать Fail2ban

По умолчанию Fail2Ban не включен и не активирован после установки. Чтобы запустить службу и включить ее при загрузке системы, выполните следующую команду:

Шаг 4: Проверка состояния службы Fail2Ban

После успешной установки Fail2Ban важно проверить состояние его службы. Служба Fail2Ban должна быть включена и запущена по умолчанию после установки. Выполните следующую команду для проверки статуса:

systemctl status fail2ban

Шаг 5: Настройки резервного копирования Fail2ban

После установки Fail2Ban важно установить и настроить его в соответствии с условиями вашего сервера. Fail2Ban поставляется с двумя конфигурационными файлами по умолчанию, расположенными по адресам /etc/fail2ban/jail.conf и /etc/fail2ban/jail.d/defaults-debian.conf.

Не изменяйте эти файлы напрямую. Они служат в качестве исходных файлов и будут заменены во время любых будущих обновлений Fail2Ban.

Чтобы сохранить пользовательские настройки, создайте копии конфигурационных файлов с расширением .local. Fail2Ban будет отдавать предпочтение чтению файлов .local, а не .conf. Создавая файлы .local, вы гарантируете, что ваши настройки не будут потеряны во время обновлений, и у вас всегда будет свежая копия для возврата в случае неправильной конфигурации.

Выполните следующую команду, чтобы создать копию файла jail.conf:

Теперь у вас есть резервная копия исходного файла конфигурации, и вы можете безопасно настраивать параметры Fail2Ban, редактируя файл jail.local, не беспокоясь о потере изменений во время будущих обновлений.

Шаг 6: Настройка Fail2ban

После создания резервной копии исходного конфигурационного файла, пришло время изменить настройки в файле jail.local, чтобы удовлетворить специфические требования безопасности вашего сервера.

Редактирование файла конфигурации

Чтобы отредактировать файл jail.local с помощью редактора nano, выполните следующую команду:

Инкремент времени запрета

Включите параметр Ban Time Increment, чтобы увеличить продолжительность бана для повторных нарушителей. Например, если время запрета по умолчанию составляет один час, вы можете увеличить его до пяти часов после пяти повторных запретов. Для этого необходимо задать множитель для логики увеличения времени бана.

Пример:

Белые списки IP-адресов в Fail2ban

Чтобы внести в белый список определенные IP-адреса, откомментируйте строку ignoreip и добавьте нужные IP-адреса, разделив их пробелами или запятыми. В белый список также могут быть внесены диапазоны IP-адресов.

Пример:

Настройка времени бана по умолчанию

По умолчанию Fail2Ban банит злоумышленника на 10 минут после пяти неудачных попыток в течение 10-минутного окна. Вы можете настроить эти параметры по умолчанию, но рекомендуется установить пользовательское время бана и лимиты повторных попыток для разных тюрем.

Пример:

Оповещения/сообщения по электронной почте

Настройте Fail2Ban на отправку уведомлений по электронной почте с отчетами whois на указанный адрес электронной почты. Вы также можете настроить различные варианты отчетов, например, отправку писем провайдерам черных списков или провайдеру злоумышленника.

Пример:

Тюрьмы Fail2ban

Jails содержат заранее определенные фильтры и действия для различных серверных приложений. Вы можете включать, отключать или настраивать джейлы в зависимости от потребностей вашего сервера.

Чтобы включить jail, добавьте enabled = true в соответствующем разделе jail.

Пример:

Вы также можете добавить пользовательские действия или использовать действия из каталога action.d, обновив строку banaction в разделе jail.

Пример:

После завершения настройки Fail2Ban перезапустите службу, чтобы применить изменения:

Шаг 7: Как запретить/разрешить запрет с помощью команд Fail2Ban

После настройки Fail2Ban вы можете управлять IP-запретами с помощью команды fail2ban-client. Вам могут понадобиться привилегии sudo, в зависимости от вашей конфигурации.

Запретить IP-адрес:

Чтобы запретить IP-адрес вручную для определенного джейла (например, apache-botsearch), используйте следующую команду:

Разблокировать IP-адрес:

Чтобы отменить запрет IP-адреса для определенного джейла (например, apache-botsearch), используйте следующую команду:

Доступ к справке:

Чтобы получить доступ к меню справки и просмотреть дополнительные настройки или команды, используйте следующую команду:

Другие примеры:

Проверка состояния определенного джейла:

Перезагрузите конфигурацию без перезапуска службы Fail2Ban:

Проверьте список запрещенных IP-адресов для конкретной тюрьмы:

Установите пользовательское время запрета для определенного IP-адреса в тюрьме:

Эти команды предоставляют вам необходимые инструменты для эффективного управления IP-запретами с помощью Fail2Ban. Не забудьте заменить [ip адресс] на фактический IP-адрес, который вы хотите запретить или разбанить, и замените apache-botsearch на соответствующее имя тюрьмы в зависимости от вашей конфигурации.

Шаг 8: Как проверять/контролировать журналы Fail2Ban

Очень важно контролировать и просматривать журналы Fail2Ban, чтобы убедиться, что ваши тюрьмы работают правильно. По умолчанию журналы Fail2Ban можно найти в /var/log/fail2ban.log.

Мониторинг журналов в реальном времени

Чтобы просмотреть журналы в реальном времени и заметить любые проблемы во время работы на сервере, используйте команду tail -f:

Эта команда позволяет отслеживать изменения в журналах в режиме реального времени.

Поиск конкретной информации в журналах

Вы также можете использовать команду grep для поиска определенной информации в журналах, например, IP-адресов, агентов-пользователей или ошибок.

Пример пользователя-агента:

Пример ошибки:

Пример IP-адреса:

Эти примеры демонстрируют различные способы фильтрации и поиска журналов с помощью команд терминала. Регулярный просмотр журналов Fail2Ban поможет вам поддерживать безопасность вашего сервера и убедиться, что ваши тюрьмы работают как положено.

Шаг 9: Как удалить (деинсталлировать) Fail2Ban

Если вы решили удалить Fail2Ban из своей системы, вы можете легко удалить его, выполнив следующие шаги:

Деактивируйте службу Fail2Ban

Если служба Fail2Ban все еще активна, вам нужно сначала отключить ее:

Эта команда отключит службу Fail2Ban и остановит ее работу.

Удаление Fail2Ban из вашей системы

После отключения службы вы можете удалить Fail2Ban с помощью следующей команды:

Эта команда удалит Fail2Ban вместе с его системными зависимостями и связанными данными.

Заключение

В целом, установка Fail2Ban на Ubuntu - это простой процесс, который значительно повышает безопасность вашего сервера. Выполняя описанные шаги, вы сможете эффективно защитить свой сервер от атак методом перебора и других вредоносных действий. Настройка Fail2Ban в соответствии с вашими специфическими требованиями, мониторинг журналов и обновление Fail2Ban гарантируют, что ваш сервер будет оставаться безопасным в течение долгого времени.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий