Зачем серверу постоянный мониторинг
Новый VPS почти сразу попадает в поле зрения автоматических сканеров. Они перебирают SSH-пароли, ищут открытые панели, проверяют веб-пути, версии сервисов и доступные базы данных. Для небольшого сервера это часто выглядит как шум в логах, пока не наступает перегрузка, утечка или компрометация.
Полноценный SIEM или сложные EDR-агенты полезны, но требуют отдельной инфраструктуры, времени на настройку и сопровождение. На одном сервере или в небольшой команде это нередко оказывается непропорционально задачам. В результате между обычными логами и дорогой платформой остаётся пустое место.
Open Defender занимает именно это место. Это бесплатный open-source инструмент мониторинга и аудита Linux-серверов. Он устанавливается 1 командой, запускается как systemd-сервис, может работать полностью локально и потребляет совсем малое количество ресурсов.
Цели проекта
Open Defender строится вокруг трёх идей. Первая: защита должна быть простой в развёртывании. Агент не требует обязательных базы данных, очереди сообщений, облачного аккаунта или отдельного сервера для панели. Вторая: защита должна иметь возможность работать локально. Если сеть недоступна, мониторинг и блокировка на хосте продолжают работать. Третья: автоматизацию нужно включать постепенно, после наблюдения за реальной средой.
Open Defender осуществляет мониторинг и реализует базовые блокировки, но не заменяет обновления ПО, резервные копии, безопасную настройку SSH, сегментацию, WAF и контроль привилегий. Его задача: заметить отклонение, сохранить контекст события и автоматизировать блокировку там, где правило достаточно надёжно.
Такой подход особенно полезен там, где ложная блокировка опаснее лишней пропущенного сканирования. Сначала администратор смотрит реальные события, настраивает пороги и белые списки. Затем переводит проверенные сценарии в автоматическое блокирование.
Однако стандартные правила для некоторых сценариев уже встроены, а адреса самой системы автоматически добавляются в белый список, для повышения удобства и скорости настройки.
Мониторы, доступные сейчас
SSH-антибрутфорс
SSH-монитор анализирует неудачные авторизации. Для него задаются число попыток, временное окно и длительность блокировки. Когда один адрес превышает порог, агент создаёт событие. В режиме blocker источник атаки блокируется через межсетевой экран. Доверенные адреса и сети можно исключить из проверки.
Веб-сервисы и базы данных
Веб-мониторы ищут признаки разведки и перебора учётных данных по журналам веб-сервера. Монитор базы данных умеет получать события из syslog, systemd journal или Docker-логов. Источник событий и пороги задаются в конфигурации, поэтому правила можно адаптировать под конкретный стек, а не привязываться к одному сервису.
Контроль нагрузки
Ресурсный монитор следит за CPU и памятью. При превышении заданных уровней он сохраняет сведения о наиболее нагруженных процессах. Это помогает отличить последствия атаки от проблем приложения, обновления или неудачной фоновой задачи. Вместо догадок у администратора остаётся снимок состояния в момент перегрузки.
eBPF-мониторинг
eBPF позволяет получать часть событий близко к ядру Linux без написания модуля ядра. Сейчас направление eBPF используется для обнаружения сетевой разведки. Оно дополняет логи приложений: попытки просканировать сервисы зачастую не видны в журналах, однако отлично видны в трафике.
Режимы реакции
У каждого монитора свой режим. На одном сервере можно автоматически блокировать очевидный SSH-брутфорс, но только логировать подозрительные запросы к новому веб-приложению.
loggerфиксирует событие без блокировки. Это безопасный режим для аудита и подбора порогов.blockerфиксирует событие и автоматически блокирует источник атаки.disabledвыключает монитор полностью. Он не запускается и не потребляет ресурсы.
Перед включением blocker стоит поработать в режиме logger. В любой инфраструктуре сначала нужно проверить, какой IP-адрес попадает в журнал, и добавить доверенные сети в исключения. Это помогает не принять адрес промежуточного узла за адрес клиента и не заблокировать полезный трафик.
Установка и эксплуатация
Для быстрого старта есть сценарий по адресу /get. Он определяет архитектуру сервера, загружает подходящий файл в /usr/bin/open-defender, выдаёт ему права на выполнение и устанавливает сервис. Скрипт открыт и доступен по тому же адресу, поэтому его содержимое можно проверить до запуска.
curl -sSL https://light-defender.ru/get | sudo bash
Основная конфигурация находится в /etc/open-defender/config.yaml. После изменений сначала проверьте её. Команда только читает файл, показывает проблемы и ничего не перезаписывает:
open-defender -t
Команда ниже выводит включённые мониторы, их режимы, источники событий и настроенные пороги:
open-defender -s
Для обновления установленного файла используется sudo open-defender -u, для перезапуска сервиса: sudo open-defender -r. Полные примеры конфигураций и параметры доступны в документации.
Безопасный порядок первого запуска
- Установите агент и выполните
open-defender -t. - Включите только мониторы, для которых на сервере действительно есть нужные журналы или сервисы.
- Оставьте новые правила в режиме
loggerи наблюдайте за ними несколько дней. - Добавьте в белый список адреса администраторов, VPN, балансировщиков и доверенные подсети.
- Уточните пороги по реальной нагрузке, затем включите
blockerдля подтверждённых сценариев.
Готовых универсальных значений не существует. Пять ошибок аутентификации SSH за пять минут могут быть брутфорсом на одном сервере и ошибкой в настройках автоматизации на другом. Правила защиты желательно настраивать с учётом особенностей узла, на котором оно устанавливается.
Опциональный экспорт событий в Dashboard
Open Defender может работать на одном сервере и никуда не подключаться. Если в config.yaml нет секции exporter (или она помечена как disabled), агент не отправляет события во внешний сервис. Даже при включённом экспорте недоступный Dashboard не задерживает локальное обнаружение и блокировку.
Light Defender Dashboard удобен как одного сервера, так и для нексольких: события не нужно искать в консоли и журналах, а уведомление о подозрительной активности сразу приходит на телефон. В панели можно смотреть историю событий и менять конфигурацию без отдельного входа по SSH.
Передача выполняется через зашифрованное алгоритмом RSA WebSocket-соединение которое вдобавок передаётся через TLS.
Куда развивается Open Defender
Долгосрочная цель проекта: объединить мониторинг, реагирование на распространённые атаки и аудит состояния Linux-сервера в простой инструмент.
Также планируется расширение eBPF-аудита. Планируются наблюдение за запуском команд, появлением новых модулей ядра, cron-задач и systemd-сервисов, а также за изменениями в .profile, rc-файлах и других точках автоматического запуска. Такие события важны для поиска закрепления и неожиданных действий на уже работающем сервере. Для части сценариев предполагается автоматическая блокировка.
Второе крупное направление: Security Audit Mode. Он должен проверять саму конфигурацию хоста и подсвечивать слабые настройки сервисов, небезопасные конфигурации и слабые пароли до того, как ими воспользуются. Ближайшие открытые задачи проекта: поддержка nftables и firewalld как движков блокировки, импорт конфигураций из нескольких файлов и увеличение тестового покрытия.
Где полезен инструмент?
Open Defender подойдёт владельцам VPS, разработчикам, системным администраторам и небольшим командам, которым нужен легковесный агент без тяжёлого внедрения.
При этом он не заменяет расследование инцидентов, резервное копирование, централизованный сбор логов и процессы реагирования. Если сервер уже скомпрометирован, сначала сохраните артефакты и локализуйте угрозу.
Исходный код, релизы, открытые задачи и технические детали доступны в репозитории Open Defender на GitHub. Это позволяет свериться с реальным состоянием проекта, изучить его поведение и предложить улучшения.