अपडेट पर वापस जाएँ
New releaseAug 1, 2026

zabbix-threat-control v3.0.0

Zabbix भेद्यता आकलन प्लगइन

साझा करें

Zabbix Threat Control (ztc)

अपने पहले से चल रहे Zabbix को vulnerability-management कंसोल में बदलें।

ztc स्टॉक zabbix-agent2 के माध्यम से प्रत्येक होस्ट की सॉफ़्टवेयर इन्वेंट्री पढ़ता है (कोई अतिरिक्त एजेंट deploy करने की आवश्यकता नहीं), उसे Vulners के विरुद्ध ऑडिट करता है, और स्कोर किए गए, प्रति-होस्ट findings — problems, dashboards और CVSS graphs — को Zabbix में वापस भेजता है। एक स्टैटिक बाइनरी, एक ही कमांड से इंस्टॉल होती है।

CI Release License

Zabbix में Vulners डैशबोर्ड

Why ztc

  • कोई नया एजेंट नहीं, कोई RCE नहीं। होस्ट मानक zabbix-agent2 UserParameters के माध्यम से इन्वेंट्री रिपोर्ट करते हैं। Remediation एक whitelisted key और संकीर्ण sudoers से होकर जाता है — कभी भी मनमाना system.run नहीं।
  • Linux और Windows। Linux पैकेज Vulners audit/linux के माध्यम से; Windows रजिस्ट्री सॉफ़्टवेयर Smart Audit के माध्यम से और इंस्टॉल किए गए KBs audit/kb के माध्यम से (प्रति-CVE CVSS के साथ)। Smart Audit Zabbix संस्करण से स्वतंत्र है।
  • Zabbix 6.0, 7.0, 7.4 और 8.0। API संस्करण का स्वतः पता लगाता है; आपकी ओर से बनाए रखने के लिए कोई प्रति-संस्करण branches नहीं।
  • सिर्फ़ एक सूची नहीं, बल्कि actionable। Findings Zabbix problems बन जाती हैं जो CVSS severity द्वारा स्कोर की जाती हैं, होस्ट द्वारा फ़िल्टर करने योग्य, तैयार डैशबोर्ड पर median-CVSS और score-distribution graphs के साथ।
  • एक बाइनरी। एक ही कमांड से इंस्टॉल करें; यह self-updates है।

Quick start

अपने Zabbix सर्वर (या कोई भी Linux होस्ट जो Zabbix + Vulners तक पहुँच सकता है) पर:

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

इंस्टॉलर आपकी Vulners API key और Zabbix कनेक्शन के बारे में पूछता है, एक systemd service इंस्टॉल करता है, और Zabbix entities (ztc provision --all) बनाने का विकल्प देता है। फिर collection template को उन होस्ट्स से लिंक करें जिन्हें आप स्कैन करवाना चाहते हैं — docs/guide.md देखें।

अन्य विकल्प (Docker, manual, air-gapped, bootstrap-via-Zabbix): deploy/README.md

How it works

 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 template, report hosts, triggers और dashboard बनाता है।

What you get in Zabbix

  • Report hosts: Vulners - Hosts, - Bulletins, - Packages, - Statistics
  • Dashboard जिसमें Problems-by-severity अवलोकन, प्रति-report समस्या सूचियाँ, Median CVSS Score ट्रेंड और CVSS score distribution पाई चार्ट है।
  • Severity-scored problems — प्रत्येक finding अपने CVSS के आधार पर Disaster / High / Average / Warning पर सक्रिय होती है, जिससे Problems by severity सार्थक होता है।
  • होस्ट द्वारा फ़िल्टर करें — हर finding में vulners.host टैग होता है। Monitoring → Problems में Tags: vulners.host Equals <host> फ़िल्टर करें ताकि एक होस्ट की vulnerabilities देखी जा सकें। (एक finding = एक (vulnerability, host) जोड़ी।)

पूरे fleet में Median CVSS trend और score distribution:

Median CVSS Score ट्रेंड और CVSS score distribution

Severity breakdown — वास्तविक Disaster / High / Average / Warning गिनती, न कि कोई grey "Not classified" बार:

Severity के अनुसार Problems

एक होस्ट की vulnerabilities vulners.host टैग फ़िल्टर के माध्यम से:

vulners.host टैग द्वारा problems फ़िल्टर करें

एक single finding — CVSS द्वारा स्कोर की गई, अपने होस्ट के साथ टैग की गई, vulners.com से लिंक:

एक स्कोर की गई, टैग की गई Vulners problem

Configuration

हर चीज़ का एक डिफ़ॉल्ट होता है; secrets को environment variables के माध्यम से दें (वे YAML फ़ाइल को override करते हैं)। पूरा उदाहरण: config.example.yaml

Envउद्देश्य
VULNERS_API_KEYVulners API key (आवश्यक)
VULNERS_BASE_URLself-hosted / proxy Vulners endpoint (वैकल्पिक)
ZABBIX_URLZabbix frontend URL (JSON-RPC API)
ZABBIX_TOKENAPI token (पसंदीदा) …
ZABBIX_USER / ZABBIX_PASSWORD… या उपयोगकर्ता + पासवर्ड
ZABBIX_SERVER_FQDN / ZABBIX_SERVER_PORTzabbix-sender लक्ष्य
ZTC_SCHEDULEdaemon स्कैन अंतराल (जैसे 1h)
ZTC_MIN_CVSSobjects बनाने से पहले इस CVSS से नीचे के findings हटाएँ

ztc --help पूरी सूची दिखाता है।

Commands

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

Remediation

ztc fix एक whitelisted vulners.fix[<pkg>] agent key के माध्यम से एक vulnerable package को अपग्रेड करता है, जिसे host-side worker द्वारा drain किया जाता है — कोई मनमाना कमांड निष्पादन नहीं। इसे मैन्युअल रूप से चलाया जा सकता है या, scan --daemon --auto-fix के साथ, Zabbix में problem को acknowledge करने वाले किसी विश्वसनीय उपयोगकर्ता द्वारा संचालित किया जा सकता है। तर्क: docs/adr/0001-remediation-mechanism.md

Support matrix

Zabbix6.0 & 7.0 LTS, 7.4, 8.0 (auto-detected)
ऑडिट किए गए OSLinux (deb/rpm/apk/…), Windows (software + KB)
ztc चलता हैLinux amd64 / arm64

Migrating from the Python version

मूल Python implementation इस रिपॉज़िटरी की git history (Go rewrite से पहले के commits) और pre-Go release tags में बनी हुई है। यह समान Zabbix-side नाम (group, report hosts, dashboard) साझा करती है, लेकिन ship किए गए report.py के बजाय स्टॉक agent keys के माध्यम से collect करती है, template को दो भागों में विभाजित करती है, और fix Action को हटा देती है। चरण-दर-चरण (config mapping, object cleanup, host re-instrumentation, remediation switch): docs/MIGRATION.md

Development

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

एक Docker test stand (Zabbix + agent + ztc) deploy/docker/README.md में है। CI (build/test/lint) हर push पर चलता है; v* commit को tag करने पर binaries और एक GHCR image प्रकाशित होते हैं।

License

LICENSE देखें।

श्रेणियाँ