0Pricing
Linux Server Deployment & SSH Mastery · Урок

Обнаружение и предотвращение вторжений

Настройте системы обнаружения вторжений (IDS), такие как Fail2Ban, и изучите принципы работы систем предотвращения вторжений (IPS), чтобы активно защищать сервер.

«Обнаружение и предотвращение вторжений» — бесплатный урок Linux Server Deployment & SSH Mastery на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Server Deployment & SSH Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

За пределами межсетевых экранов: активная защита

Добро пожаловать на последний урок по безопасности серверов! Мы рассмотрели межсетевые экраны и аудит — важнейшие средства предотвращения атак. Но что, если решительный злоумышленник попытается обойти эту защиту?

В этом уроке рассматриваются системы обнаружения вторжений (IDS) и системы предотвращения вторжений (IPS). Эти инструменты обеспечивают дополнительный уровень активной защиты, помогая обнаруживать и останавливать вредоносную активность на сервере.

Что такое IDS

Система обнаружения вторжений (IDS) подобна охраннику, который постоянно следит за подозрительной активностью. Она отслеживает сетевой трафик сервера или системные журналы в поисках признаков атаки.

  • Пассивный мониторинг: IDS обнаруживает угрозы и сообщает о них.
  • Без блокировки: система не блокирует и не предотвращает вторжение напрямую. Её задача — только уведомить Вас.
  • Примеры: такие инструменты, как Snort или Suricata, могут работать как сетевые IDS, анализируя входящие и исходящие данные.

Что такое IPS

Система предотвращения вторжений (IPS) развивает концепцию IDS. Вместо простого оповещения IPS активно вмешивается, чтобы остановить обнаруженные угрозы.

  • Активная защита: система может автоматически блокировать вредоносные IP-адреса, завершать подозрительные подключения или отбрасывать опасные пакеты.
  • Ориентация на предотвращение: цель состоит в том, чтобы в реальном времени не дать вторжению завершиться успешно.
  • Fail2Ban: популярный пример IPS на уровне узла, которому посвящён этот урок.

Знакомство с Fail2Ban

Fail2Ban — мощная IPS с открытым исходным кодом, работающая на уровне узла. Она сканирует журнальные файлы (например, журналы SSH, веб-серверов или почтовых серверов) в поисках повторяющихся неудачных попыток входа и других подозрительных признаков.

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

Как работает Fail2Ban

Fail2Ban использует три основных понятия:

  • Фильтры: регулярные выражения, задающие признаки, которые нужно искать в журнальных файлах (например, «failed password for root»).
  • Тюрьмы: тюрьма объединяет фильтр и действие. Она определяет, какой журнальный файл отслеживать, какой фильтр использовать и какое действие выполнять при выполнении условий фильтра.
  • Действия: команды, выполняемые при блокировке IP-адреса; обычно они изменяют правила межсетевого экрана (например, iptables или ufw), чтобы заблокировать исходный IP-адрес.

Установка Fail2Ban

Fail2Ban доступен в стандартных репозиториях большинства дистрибутивов Linux. Установим его в системе на основе Debian, например Ubuntu.

Сначала обновите список пакетов, затем установите пакет fail2ban:

sudo apt update
sudo apt install fail2ban

Базовая настройка: jail.local

Основной файл конфигурации Fail2Ban — /etc/fail2ban/jail.conf. Однако никогда не редактируйте этот файл напрямую, поскольку он может быть перезаписан во время обновлений.

Вместо этого создайте копию с именем /etc/fail2ban/jail.local и вносите изменения в неё. Этот файл переопределяет настройки из jail.conf.

Ниже приведены некоторые основные глобальные настройки, которые можно задать в jail.local:

  • bantime: длительность блокировки IP-адреса (например, 10m — 10 минут).
  • findtime: период, в течение которого подсчитываются неудачные попытки (например, 10m).
  • maxretry: число неудачных попыток до блокировки IP-адреса (например, 5).

Включение защиты SSH

Один из самых распространённых вариантов применения Fail2Ban — защита SSH от атак методом перебора. В файле /etc/fail2ban/jail.local Вы найдёте разделы для разных сервисов, называемые «тюрьмами».

Чтобы включить тюрьму SSH, обычно достаточно задать enabled = true в разделе [sshd]. Также можно настроить значения bantime, findtime и maxretry.

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

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

sudo systemctl restart fail2ban

Мониторинг Fail2Ban

После настройки и запуска Fail2Ban проверьте его состояние и убедитесь, что он действительно блокирует IP-адреса. Для этого можно использовать команду fail2ban-client.

Чтобы проверить общее состояние Fail2Ban:

sudo systemctl status fail2ban

Быстрая проверка конфигурации Fail2Ban

Вы настроили Fail2Ban для защиты SSH-сервиса. Вы задали maxretry = 3 и bantime = 1h.

Злоумышленник пытается войти через SSH:

  1. Неудачный вход в 10:00:00
  2. Неудачный вход в 10:00:30
  3. Неудачный вход в 10:01:00
  4. Неудачный вход в 10:01:30

Предположим, что для findtime задано значение 10 минут. Что произойдёт с IP-адресом злоумышленника?

Повторение: IDS, IPS и Fail2Ban

Отличная работа! Вы научились добавлять к серверу активный уровень защиты:

  • IDS (система обнаружения вторжений) обнаруживает подозрительную активность и сообщает о ней.
  • IPS (система предотвращения вторжений) обнаруживает угрозы, сообщает о них и активно блокирует их.
  • Fail2Ban — IPS на уровне узла, которая сканирует журналы в поисках вредоносных признаков и блокирует IP-адреса нарушителей, обновляя правила межсетевого экрана.
  • Вы научились устанавливать Fail2Ban, настраивать глобальные параметры в jail.local, включать отдельные тюрьмы (например, SSH) и отслеживать состояние системы.

Использование Fail2Ban значительно повышает устойчивость сервера к атакам методом перебора и другим автоматизированным угрозам. Продолжайте практиковаться, чтобы создавать действительно надёжные и защищённые системы!

Часто задаваемые вопросы

Урок «Обнаружение и предотвращение вторжений» бесплатный?

Да — полный текст урока «Обнаружение и предотвращение вторжений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Server Deployment & SSH Mastery, подпишись на CoddyKit PRO. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Обнаружение и предотвращение вторжений»?

Настройте системы обнаружения вторжений (IDS), такие как Fail2Ban, и изучите принципы работы систем предотвращения вторжений (IPS), чтобы активно защищать сервер. Ты практикуешь Linux Server Deployment & SSH Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Server Deployment & SSH Mastery?

Предыдущий опыт не требуется. Linux Server Deployment & SSH Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Обнаружение и предотвращение вторжений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Server Deployment & SSH Mastery?

Да. Каждый урок Linux Server Deployment & SSH Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Аудит безопасности сервера
  2. Расширенные правила брандмауэра (IPTables)
  3. Обнаружение и предотвращение вторжений
  4. Централизованное журналирование и интеграция с SIEM
← Назад к Linux Server Deployment & SSH Mastery