Вернуться на страницу продукта

Документация Open Defender

Установка, настройка и эксплуатация open-source инструмента для мониторинга и аудита безопасности Linux-серверов.

Быстрый старт

Разверните Open Defender на Linux-сервере за пару минут: скачайте бинарник из релизов, установите его как systemd-сервис и проверьте конфигурацию.

1

Скачайте бинарник

Скрипт сам определит архитектуру через uname -m (amd64, 386, arm64, arm32) и скачает нужный бинарник в /usr/bin/open-defender.

ARCH=$(uname -m)
case "$ARCH" in
  x86_64)        ARCH=amd64 ;;
  i386|i686)     ARCH=386 ;;
  aarch64|arm64) ARCH=arm64 ;;
  armv7l|armv6l) ARCH=arm32 ;;
  *) echo "Неизвестная архитектура: $ARCH"; exit 1 ;;
esac
sudo curl -L -o /usr/bin/open-defender \
  https://github.com/fridalif/open-defender/releases/latest/download/open-defender_$ARCH
sudo chmod +x /usr/bin/open-defender

Хотите выбрать вручную - подставьте свою архитектуру вместо $ARCH или скачайте файл со страницы релизов.

2

Установите как сервис

Флаг -i устанавливает Open Defender как systemd-сервис и сразу запускает его. Требуются права root.

sudo open-defender -i
3

Проверьте конфигурацию

Конфигурация лежит в /etc/open-defender/config.yaml. Флаг -t проверяет её и выводит все найденные проблемы (root не нужен).

open-defender -t
4

Посмотрите активные мониторы

open-defender -s
Готово. Сервис работает автономно. Дальше настройте нужные мониторы в разделе Конфигурация.

Установка

Open Defender поставляется единым бинарником и интегрируется с systemd. Установка и запуск выполняются одной командой.

1

Получите бинарник

Тот же скрипт определяет архитектуру автоматически и кладёт бинарник в /usr/bin/open-defender. Как альтернатива - соберите из исходников (см. раздел «Сборка из исходников») или скачайте нужный файл со страницы релизов.

ARCH=$(uname -m)
case "$ARCH" in
  x86_64)        ARCH=amd64 ;;
  i386|i686)     ARCH=386 ;;
  aarch64|arm64) ARCH=arm64 ;;
  armv7l|armv6l) ARCH=arm32 ;;
  *) echo "Неизвестная архитектура: $ARCH"; exit 1 ;;
esac
sudo curl -L -o /usr/bin/open-defender \
  https://github.com/fridalif/open-defender/releases/latest/download/open-defender_$ARCH
sudo chmod +x /usr/bin/open-defender
2

Установите сервис

Флаг -i регистрирует systemd-юнит и запускает его.

sudo open-defender -i
3

Управляйте сервисом через systemd

systemctl status open-defender
sudo systemctl restart open-defender
journalctl -u open-defender -f

Быстрый перезапуск также доступен через sudo open-defender -r.

Конфигурация

Все настройки хранятся в YAML-файле /etc/open-defender/config.yaml. Каждый монитор задаёт движок получения событий, источник и пороги срабатывания.

Режимы монитора

  • blocker - обнаруживает и блокирует источник атаки (бан по времени).
  • logger - только фиксирует события, без блокировки.
  • disabled - монитор выключен и не запускается.

Ключевые параметры

  • engine - источник событий: syslog, journal или docker.
  • log_path / unit_name - файл лога для syslog или юнит для journal/docker.
  • pattern - регулярное выражение с обязательной группой (?P<ip>...).
  • tries / window_seconds / ban_seconds - порог попыток, окно и длительность бана.
  • ip_whitelist - адреса, которые никогда не блокируются.
  • Для resource_monitor - пороги warning/alert по CPU и RAM (нулевые значения выключают лимит).

Открыть конфигурацию

sudo nano /etc/open-defender/config.yaml
После правок всегда запускайте open-defender -t - конфиг только читается и никогда не перезаписывается, так что проверка безопасна на живой установке.

Мониторы

Команда open-defender -s выводит включённые мониторы с их режимом, движком, источником и порогами. Выключенные (disabled) перечисляются внизу и не запускаются.

open-defender -s
/etc/open-defender/config.yaml

MONITOR           MODE     ENGINE   SOURCE                   TRIES
ssh_monitor       blocker  syslog   /var/log/auth.log        5 in 300s, ban 900s
database_monitor  logger   journal  postgresql               5 in 300s
resource_monitor  enabled  -        /var/log/open-defender/  cpu 60/90, ram 60/90

disabled: web_recon_monitor, web_brute_monitor
ssh_monitor

Анти-брутфорс SSH по логам входа.

web_recon_monitor

Обнаружение разведки веб-приложений (AntiRecon).

web_brute_monitor

Обнаружение брутфорса веб-приложений (AntiBrute).

database_monitor

Анти-брутфорс баз данных через syslog/journal/docker.

resource_monitor

Контроль CPU и RAM с топом процессов при перегрузке.

В планах: eBPF-мониторинг (сеть, запуск команд, модули ядра, cron, сервисы) и режим аудита безопасности. Следите за репозиторием.

CLI-команды

Полный набор флагов. Команды -t, -s и -h не требуют root, остальным нужны права суперпользователя.

Usage: open-defender [options]

Options:
  -i, --install    установить open-defender как systemd-сервис и запустить
  -u, --update     обновить бинарник до последнего релиза с GitHub
  -t, --test       проверить текущий конфиг и выйти
  -s, --status     показать включённые мониторы и выйти
  -r, --restart    перезапустить сервис open-defender
  -h, --help       показать это сообщение
-i / --installroot

Установка сервиса и запуск.

-u / --updateroot

Обновление бинарника из релиза.

-r / --restartroot

Перезапуск сервиса.

-t / --test

Проверка конфигурации.

-s / --status

Список активных мониторов.

-h / --help

Справка по командам.

Обновление

Флаг -u обновляет установленный бинарник до последнего релиза с GitHub. Версия берётся из version.txt репозитория, архитектура - из текущего бинарника.

sudo open-defender -u

Версия и архитектура предлагаются как подсказка: пустая строка принимает предложенное значение, ввод - переопределяет его. Если определить их не удалось, они запрашиваются явно.

Релиз скачивается из https://github.com/fridalif/open-defender/releases/download/<version>/open-defender_<arch>, затем сервис останавливается, бинарник в /usr/bin/open-defender заменяется, и сервис запускается снова.

Загрузка происходит до остановки сервиса, а прежний бинарник сохраняется и возвращается на место, если новый не стартует.

Сборка из исходников

Для сборки нужны Go 1.25+ и C-компилятор (gcc), поскольку драйвер SQLite - cgo-пакет.

1

Клонируйте репозиторий

git clone https://github.com/fridalif/open-defender.git
cd open-defender
2

Соберите бинарник

Бинарник собирается в build/open-defender.

make build
3

Запустите тесты (опционально)

make test          # все тесты
make test-race     # тесты под race-детектором
make cover         # покрытие по функциям
make vet           # go vet
make check         # go vet + тесты
Подробности сборки и полный список make-целей - в README на GitHub .

Нужна помощь?

Задавайте вопросы и предлагайте улучшения через GitHub Issues или напишите нам напрямую.