Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
zabbix-threat-control — Плагин Zabbix для оценки уязвимостей | Kitploit
Инструменты/GitHubGitHub/vulnerscom/zabbix-threat-control
Сканеры уязвимостейАнализ уязвимостейАудит конфигурацииDevSecOps
GitHubvulnerscom/zabbix-threat-control

zabbix-threat-control

Плагин Zabbix для оценки уязвимостей

Репозиторий
22260282 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
# Zabbix Threat Control (ztc)

**Превратите уже используемый вами Zabbix в консоль управления уязвимостями.**

`ztc` читает инвентаризацию ПО каждого хоста через штатный **zabbix-agent2**
(без установки дополнительного агента), сверяет её с [Vulners](https://vulners.com) и
отправляет обратно в Zabbix **оценённые находки по каждому хосту** — проблемы,
дашборды и CVSS-графики. Один статический бинарник — устанавливается одной командой.

[![CI](https://github.com/vulnersCom/zabbix-threat-control/actions/workflows/ci.yml/badge.svg)](https://github.com/vulnersCom/zabbix-threat-control/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/vulnersCom/zabbix-threat-control?sort=semver)](https://github.com/vulnersCom/zabbix-threat-control/releases)
[![License](https://img.shields.io/github/license/vulnersCom/zabbix-threat-control)](LICENSE)

![Дашборд Vulners в Zabbix](https://assets.kitploit.com/production/public/readmes/2148/98975e98d38162d59fa703f733348d3578fc982a59bc02aa17662685b5cede04.png)

## Почему ztc

- **Никакого нового агента, никакого RCE.** Хосты передают инвентаризацию через стандартные `UserParameter`s zabbix-agent2. Устранение уязвимостей выполняется через один разрешённый ключ и узкий sudoers — никогда через произвольный `system.run`.
- **Linux _и_ Windows.** Пакеты Linux — через Vulners `audit/linux`; программы из реестра Windows — через **Smart Audit**, а установленные KB — через `audit/kb` (с CVSS для каждого CVE). Smart Audit не зависит от версии Zabbix.
- **Zabbix 6.0, 7.0, 7.4 и 8.0.** Версия API определяется автоматически; вам не нужно поддерживать отдельные ветки под каждую версию.
- **Практически применимо, а не просто список.** Находки становятся **проблемами Zabbix с оценкой severity по CVSS**, фильтруются **по хосту** и отображаются **графиками медианного CVSS и распределения оценок** на готовом дашборде.
- **Один бинарник.** Установка одной командой; **самообновляется**.

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

На вашем сервере Zabbix (или любом Linux-хосте, которому доступны Zabbix и Vulners):

```sh
curl -fsSL https://raw.githubusercontent.com/vulnersCom/zabbix-threat-control/master/deploy/install.sh | sudo sh
```

Установщик запросит ваш Vulners API-ключ и параметры подключения к Zabbix, установит systemd-сервис и предложит создать объекты Zabbix (`ztc provision --all`). Затем привяжите шаблон сбора данных к хостам, которые нужно сканировать, — см. [`docs/guide.md`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/docs/guide.md).

Прочие варианты (Docker, установка вручную, автономная среда, bootstrap через Zabbix): [`deploy/README.md`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/deploy/README.md).

## Как это работает

```
 hosts: zabbix-agent2  UserParameter
   Linux   → vulners.os / version / arch / packages
   Windows → vulners.os / version / win.software / win.kb
        │   (polled into Zabbix items)
        ▼
   ztc scan ─► collect (Zabbix API) ─► audit (Vulners) ─► aggregate ─► sender ─► Zabbix
                                                                           │
        problems (CVSS severity) · dashboard · graphs · vulners.host tags ◄┘
```

`ztc scan --daemon` запускает цикл по расписанию; `ztc provision` создаёт шаблон Zabbix, отчётные хосты, триггеры и дашборд.

## Что вы получаете в Zabbix

- **Отчётные хосты:** `Vulners - Hosts`, `- Bulletins`, `- Packages`, `- Statistics`.
- **Дашборд** с обзором **Problems-by-severity**, списками проблем по каждому отчёту, трендом **Median CVSS Score** и круговой диаграммой **CVSS score distribution**.
- **Проблемы с оценкой severity** — каждая находка срабатывает как Disaster / High / Average / Warning в зависимости от её CVSS, поэтому *Problems by severity* имеет смысл.
- **Фильтр по хосту** — каждая находка несёт тег `vulners.host`. В *Monitoring → Problems* примените фильтр `Tags: vulners.host Equals <host>`, чтобы увидеть уязвимости конкретного хоста. (Одна находка = одна пара (уязвимость, хост).)

**Медианный CVSS: тренд и распределение оценок по всему парку:**

![Тренд медианного CVSS Score и распределение оценок CVSS](https://assets.kitploit.com/production/public/readmes/2148/5bcf73f6925a71bf7e3861b0e754163f3140878a9771150e67cdb7337640354e.png)

**Разбивка по severity** — реальные значения Disaster / High / Average / Warning, а не один серый столбец «Not classified»:

![Проблемы по severity](https://assets.kitploit.com/production/public/readmes/2148/bd793c8a17ad6bf47d681dda748599c8fa5152a8e14d06c388c84d289ece347e.png)

**Уязвимости одного хоста** с помощью фильтра по тегу `vulners.host`:

![Фильтр проблем по тегу vulners.host](https://assets.kitploit.com/production/public/readmes/2148/c6542774236894ffb066f14afb46451743a75fc0bee00af85d6b9d6d1bf8ecda.png)

**Отдельная находка** — с оценкой по CVSS, тегом хоста и ссылкой на vulners.com:

![Оценённая проблема Vulners с тегом](https://assets.kitploit.com/production/public/readmes/2148/c66638735a2afa2c7f55bbdda3538fd49a3aa56e2cc66c7397583b3229a1ea5d.png)

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

Для всего есть значение по умолчанию; секреты передавайте через переменные окружения (они переопределяют YAML-файл). Полный пример: [`config.example.yaml`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/config.example.yaml).

| Переменная окружения | Назначение |
|-----|---------|
| `VULNERS_API_KEY` | Ключ API Vulners (обязательно) |
| `VULNERS_BASE_URL` | эндпоинт self-hosted / прокси для Vulners (необязательно) |
| `ZABBIX_URL` | URL веб-интерфейса Zabbix (JSON-RPC API) |
| `ZABBIX_TOKEN` | API-токен (предпочтительно) … |
| `ZABBIX_USER` / `ZABBIX_PASSWORD` | … или пользователь + пароль |
| `ZABBIX_SERVER_FQDN` / `ZABBIX_SERVER_PORT` | адрес назначения zabbix-sender |
| `ZTC_SCHEDULE` | интервал сканирования демона (например, `1h`) |
| `ZTC_MIN_CVSS` | не создавать объекты для находок с CVSS ниже этого значения |

`ztc --help` выводит полный список.

## Команды

```sh
ztc scan --daemon                 # run the scan loop on a schedule
ztc scan --once                   # a single cycle
ztc provision --all               # create/reconcile templates, report hosts, dashboard
ztc fix --host H --package P      # remediate a package (whitelisted, opt-in)
ztc upgrade                       # self-update, then re-run `provision --all`
ztc version --check               # print version and check for updates
```

## Устранение уязвимостей

`ztc fix` обновляет уязвимый пакет через включённый в белый список ключ агента `vulners.fix[<pkg>]`, который забирает worker на стороне хоста, — без произвольного выполнения команд. Его можно запускать вручную или, с `scan --daemon --auto-fix`, управлять им через подтверждение проблемы доверенным пользователем в Zabbix. Обоснование: [`docs/adr/0001-remediation-mechanism.md`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/docs/adr/0001-remediation-mechanism.md).

## Матрица поддержки

| | |
|---|---|
| **Zabbix** | 6.0 и 7.0 LTS, 7.4, 8.0 (определяется автоматически) |
| **Аудируемые ОС** | Linux (deb/rpm/apk/…), Windows (ПО + KB) |
| **Где запускается ztc** | Linux amd64 / arm64 |

## Переход с Python-версии

Оригинальная Python-реализация осталась в истории git этого репозитория (коммиты до переписывания на Go) и в release-тегах до Go. Она использует те же имена на стороне Zabbix (группу, отчётные хосты, дашборд), но собирает данные через штатные ключи агента вместо поставляемого `report.py`, разделяет шаблон на две части и убирает Action для исправлений. Пошаговая инструкция (перенос конфигурации, очистка объектов, повторная настройка хостов, переключение механизма исправления): **[`docs/MIGRATION.md`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/docs/MIGRATION.md)**.

## Разработка

```sh
go build ./...     # compile
go test ./...      # unit tests (no network)
go vet ./... && gofmt -l .
make build         # -> bin/ztc
```

Тестовый стенд на Docker (Zabbix + agent + ztc) описан в [`deploy/docker/README.md`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/deploy/docker/README.md). CI (сборка/тесты/линтер) запускается при каждом push; коммит с тегом `v*` публикует бинарники и GHCR-образ.

## Лицензия

См. [`LICENSE`](https://github.com/vulnerscom/zabbix-threat-control/blob/master/LICENSE).
Скачать инструмент