Настройка fail2ban и UFW: базовая защита Linux-сервера за 30 минут

Настройка fail2ban и UFW: базовая защита Linux-сервера за 30 минут

  1. Главная
  2. Блог
  3. Настройка fail2ban и UFW: базовая защита Linux-сервера за 30 минут

Каждый Linux-сервер, подключенный к интернету, практически сразу начинает подвергаться автоматизированным сканированиям и DDoS-атакам. Даже небольшой VPS может фиксировать сотни попыток подключения по SSH уже в первые часы после запуска. Если не настроить базовую защиту, злоумышленники могут подобрать пароль, получить доступ к конфиденциальным данным. Надежная защита сервера с использованием Fail2ban и UFW позволит снизить сетевую нагрузку и предотвратить сканирование портов, DDoS-атаки.

Что будем настраивать и как это работает

Для базовой защиты Linux-сервера от несанкционированного доступа и автоматических атак чаще всего используют два инструмента: UFW и Fail2ban. Они выполняют разные задачи, но отлично дополняют друг друга. UFW отвечает за фильтрацию сетевого трафика, а Fail2ban - за автоматическую блокировку подозрительных IP-адресов.

UFW - простой и удобный фаервол

UFW или Uncomplicated Firewall — это утилита для настройки и управления брандмауэром в дистрибутивах Ubuntu и Debian. С помощью этой программы можно контролировать входящие и исходящие сетевые соединения. По сути, утилита работает как фильтр: она проверяет каждый сетевой запрос и решает, разрешить его или заблокировать на основе заданных правил. Основные принципы работы UFW:

  • Правила доступа. Администратор указывает, какие порты и сервисы должны быть доступны извне (например, SSH, HTTP, HTTPS).
  • Блокировка лишнего трафика. Все остальные соединения, которые не разрешены явно, блокируются.
  • Контроль исходящих соединений. При необходимости можно ограничить и исходящий трафик.
  • Журналирование. Фаервол может записывать информацию о сетевых попытках подключения в системные логи.

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

Fail2ban - автоматическая защита от атак

Fail2ban — это мощный инструмент защиты Linux-серверов, который предотвращает брутфорс-атаки (перебор паролей), отслеживая логи (SSH, FTP, Apache) на предмет подозрительной активности. При обнаружении множественных неудачных попыток входа он автоматически блокирует IP-адрес злоумышленника на заданное время. Fail2ban работает по следующему принципу:

  1. Система постоянно анализирует лог-файлы (например /var/log/auth.log).
  2. В логах ищутся повторяющиеся ошибки авторизации или другие подозрительные события.
  3. Если количество ошибок превышает заданный лимит (например 5 попыток за 10 минут), Fail2ban определяет IP-адрес нарушителя.
  4. Этот IP автоматически добавляется в правила firewall и блокируется на определенное время (или навсегда).

Fail2ban не просто блокирует трафик, а динамически изменяет правила firewall, взаимодействуя именно с UFW.

Подготовка: что нужно знать перед стартом

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

  • Доступ к серверу с правами администратора. Для установки и настройки инструментов защиты необходимо иметь root-доступ или права пользователя с возможностью выполнения команд через sudo. Большинство административных операций выполняется именно с повышенными правами. Если у пользователя нет прав администратора, настроить сетевой экран и систему блокировки будет невозможно.
  • Наличие активного SSH-доступа. В большинстве случаев Linux-сервер администрируется удаленно через SSH. Перед включением файрвола нужно убедиться, что SSH-служба корректно работает. Пользователь должен знать свой текущий порт (обычно 22), чтобы не потерять доступ при включении фаервола.
  • Обновление системы. Перед установкой новых инструментов безопасности рекомендуется обновить систему. Это позволит установить последние версии пакетов и предотвратить программные сбои. Обычно используется стандартная команда: sudo apt update && sudo apt upgrade.

Перед настройкой файрвола нужно понять, какие сервисы работают на сервере и какие порты они используют. Это необходимо, чтобы правильно настроить правила доступа. Посмотреть список активных портов можно командой: sudo ss -tulnp. Если сервер уже используется, перед внесением изменений рекомендуется сохранить текущие настройки системы. Например, можно сделать резервные копии конфигурационных файлов: /etc/ufw/ /etc/fail2ban/. Это позволит быстро восстановить предыдущие настройки в случае ошибки.

Шаг 1. Быстрая настройка UFW

Настройка UFW для защиты Linux-сервера включает в себя четыре основных этапа:

  1. Установка и проверка. Убедитесь, что UFW установлен (sudo apt install ufw) и проверьте его статус (sudo ufw status).
  2. Определение политик по умолчанию. Если требуется блокировать все входящие подключения, то вводится: sudo ufw default deny incoming. Если же пользователь стремится разрешить все исходящие подключения, то ему нужно ввести в командную строку: sudo ufw default allow outgoing.
  3. Разрешение SSH. Очень важно разрешить SSH перед запуском программы, чтобы не потерять доступ к серверу.
  4. Включение UFW. Активация брандмауэра командой: sudo ufw enable. Сервер принимает соединения только на разрешенных портах.

UFW поддерживает стабильную работу с IPv4 и IPv6. Перед запуском программы пользователь должен обязательно убедиться, что он разрешил SSH, иначе соединение с сервером будет разорвано.

Шаг 2. Установка и настройка Fail2ban

Установка и настройка Fail2ban для защиты Linux-сервера включают в себя следующие этапы:

  1. Установка пакета. Выполняется обновление репозиториев и установка пакета: sudo apt-get update && sudo apt-get install fail2ban.
  2. Создание локальной конфигурации. Создается файл /etc/fail2ban/jail.local на основе jail.conf, чтобы избежать перезаписи настроек при обновлениях.
  3. Настройка параметров блокировки. Настраиваются основные параметры: время блокировки (bantime), максимальное число попыток (maxretry), временный интервал для подсчета попыток (findtime).
  4. Запуск и проверка. Перезапускается служба (systemctl restart fail2ban) и проверяется статус командой: fail2ban-client status или fail2ban-client status sshd.

Для включения защиты SSH нужно открыть файл конфигурации /etc/fail2ban/jail.local, найти раздел [sshd] и установить enabled = true. Затем пользователю необходимо перезапустить сервис командой: systemctl restart fail2ban. Это позволит надежно защитить сервер от подбора паролей.

Как заставить их дружить: интеграция Fail2ban с UFW

Для успешной интеграции Fail2ban с UFW потребуется выполнить следующие действия:

  1. Установить необходимые пакеты. Установите UFW и Fail2ban, используя команды: sudo apt update sudo apt install ufw fail2ban.
  2. Настроить UFW. Разрешаем SSH, чтобы не потерять доступ к серверу. В командной строке нужно указать: sudo ufw allow ssh. Затем включаем firewall, указав: sudo ufw enable.
  3. Создать локальную конфигурацию Fail2ban. Необходимо скопировать дефолтный файл конфигурации, чтобы избежать потери настроек при обновлении: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local.
  4. Настроить действие (banaction) на UFW. Пользователь должен открыть /etc/fail2ban/jail.local и в разделе [Default] изменить либо добавить строку: banaction = ufw.
  5. Включить защиту SSH. Пользователь должен убедиться, что в том же файле jail.local включен модуль SSH. Чтобы проверить SSH, нужно включить: fail2ban-client status sshd.
  6. Перезапустить систему защиты. Задается соответствующая команда: sudo systemctl restart fail2ban.

Как только Fail2ban обнаружит попытки перебора пароля, он будет автоматически добавлять IP-адрес в список блокировки UFW. Проверить статус можно командой: sudo ufw status.

Проверка: тестируем защиту

После установки и настройки UFW и Fail2ban нужно убедиться, что защита действительно работает. Пользователь должен понять, корректно ли применяются правила брандмауэра, реагирует ли Fail2ban на подозрительную активность и блокируются ли злоумышленники. Сначала нужно убедиться, что брандмауэр UFW активен и применяет правила. Команда для проверки: sudo ufw status verbose. Если UFW выключен, его можно активировать: sudo ufw enable. После этого правила начнут незамедлительно применяться. Для проверки заблокированных IP необходимо задать команду: sudo fail2ban-client status sshd. Самый простой способ проверить Fail2ban - выполнить несколько попыток входа по SSH или ввести неправильный пароль. Если в конфигурации Fail2ban установлено maxretry = 5, то после пяти неудачных попыток IP должен быть заблокирован. Еще один проверенный способ проверки защиты Linux-сервера - анализ логов. Для быстрого и тщательного отслеживания логов задается команда: sudo tail -f /var/log/fail2ban.log.

Полезные команды для управления (шпаргалка)

Среди основных команд для управления Fail2ban и UFW выделяют:

  • Удаление правила: для UFW (sudo ufw delete allow 8080).
  • Проверка статуса защиты SSH: для Fail2ban (sudo fail2ban-client status sshd).
  • Просмотр логов: для Fail2ban (sudo tail -f /var/log/fail2ban.log).

UFW и Fail2ban считаются простыми и эффективными инструментами для защиты Linux-серверов. Эти утилиты отлично подходят для автоматического сканирования портов и блокировки вредоносных IP-адресов. В дальнейшем систему можно усилить, настроив SSH-ключи, отключив вход root и обновив устаревшее программное обеспечение.

Читайте также

Все статьи
Для чего нужны резидентские прокси в арбитраже трафика?

Для чего нужны резидентские прокси в арбитраже трафика?

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

MobileProxy.Space в 2026: полный обзор мобильных, резидентных и серверных прокси

MobileProxy.Space в 2026: полный обзор мобильных, резидентных и серверных прокси

Подробный обзор сервиса MobileProxy.Space в 2026 году: мобильные, резидентные и серверные прокси, тарифы, настройка, реальные кейсы и советы по выбору для бизнеса и специалистов. Давайте че

Лучшие сервисы распознавания captcha для VPS и серверной автоматизации

Лучшие сервисы распознавания captcha для VPS и серверной автоматизации

Сервис распознавания captcha стоит оценивать не только по скорости ответа. Гораздо важнее, насколько часто он помогает успешно завершить весь сценарий автоматизации. Быстрый ответ бесполезен, если са

Как запустить Google Ads в 2026 году без банов: полный гайд от сервиса клоакинга Adspect.ai

Как запустить Google Ads в 2026 году без банов: полный гайд от сервиса клоакинга Adspect.ai

Google Ads остаётся одной из самых прибыльных, но и самых сложных площадок для арбитража трафика в 2026 году. Модерация стала жёстче, системы обнаружения клоакинга — умнее, а обычные IP-базы и п

Для чего нужны резидентские прокси в арбитраже трафика?

Для чего нужны резидентские прокси в арбитраже трафика?

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

MobileProxy.Space в 2026: полный обзор мобильных, резидентных и серверных прокси

MobileProxy.Space в 2026: полный обзор мобильных, резидентных и серверных прокси

Подробный обзор сервиса MobileProxy.Space в 2026 году: мобильные, резидентные и серверные прокси, тарифы, настройка, реальные кейсы и советы по выбору для бизнеса и специалистов. Давайте че

Лучшие сервисы распознавания captcha для VPS и серверной автоматизации

Лучшие сервисы распознавания captcha для VPS и серверной автоматизации

Сервис распознавания captcha стоит оценивать не только по скорости ответа. Гораздо важнее, насколько часто он помогает успешно завершить весь сценарий автоматизации. Быстрый ответ бесполезен, если са

Как запустить Google Ads в 2026 году без банов: полный гайд от сервиса клоакинга Adspect.ai

Как запустить Google Ads в 2026 году без банов: полный гайд от сервиса клоакинга Adspect.ai

Google Ads остаётся одной из самых прибыльных, но и самых сложных площадок для арбитража трафика в 2026 году. Модерация стала жёстче, системы обнаружения клоакинга — умнее, а обычные IP-базы и п

Telegram