установка zabbix proxy

Ускорить пинг Безопасное соединение Высокая скорость Быстрое подключение Хорошая цена

установка zabbix proxy

Установка Zabbix Proxy: безопасная настройка для распределённого мониторинга

установка zabbix proxy — задача, с которой сталкиваются администраторы при масштабировании системы наблюдения за инфраструктурой. Этот компонент критически важен для сбора метрик в изолированных сетях, филиалах или зонах с ограниченной связью. Но без грамотной конфигурации он превращается в вектор атаки. В этом руководстве разберём не только шаги развёртывания, но и скрытые риски, которые игнорируют большинство гайдов.

Почему «просто поставить» — плохая идея

Zabbix Proxy работает как буфер между агентами и центральным сервером. Он собирает данные, хранит их локально и передаёт на сервер по расписанию. Казалось бы — что тут может пойти не так? Однако:

  • По умолчанию трафик между прокси и сервером не шифруется (если не настроить TLS).
  • База данных прокси (чаще всего SQLite или PostgreSQL) может содержать чувствительные метрики: загрузку CPU, объёмы трафика, статусы сервисов.
  • Если прокси скомпрометирован, злоумышленник получает карту вашей периферийной инфраструктуры.
  • Неправильные права доступа к конфигурационному файлу (zabbix_proxy.conf) позволяют извлечь пароль от базы или токен аутентификации.

В 2024 году исследователи обнаружили, что более 37% публично доступных Zabbix Proxy имели открытый порт 10051 без аутентификации и шифрования. Это не теория — это реальные уязвимости в продакшене.

Подготовка: что проверить до первой команды

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

  1. Изолированная сеть. Прокси должен находиться в DMZ или отдельном VLAN, недоступном из внешней сети.
  2. Минимальные привилегии. Учётная запись ОС для службы zabbix-proxy должна быть без прав sudo и shell-доступа.
  3. Фаервол. Разрешите только:
  4. Исходящие подключения к Zabbix-серверу на порт 10051 (TCP).
  5. Входящие подключения от агентов на порт 10051 (если используется активный режим).
  6. Синхронизация времени. Установите и настройте chrony или systemd-timesyncd. Расхождение во времени больше 60 секунд ломает работу прокси.

Для дистрибутивов на базе RHEL (CentOS, AlmaLinux) выполните:

sudo dnf install -y chrony
sudo systemctl enable --now chronyd

Для Ubuntu/Debian:

sudo apt install -y systemd-timesyncd
sudo systemctl enable --now systemd-timesyncd

Выбор типа прокси: passive vs active — и почему это влияет на безопасность

Zabbix Proxy бывает двух типов:

  • Passive — сервер сам опрашивает прокси. Требует открытия порта на прокси для входящих подключений от сервера.
  • Active — прокси сам инициирует соединение с сервером. Порт на прокси можно полностью закрыть.

Рекомендация: всегда используйте active-режим, если это возможно. Он снижает поверхность атаки, так как прокси не слушает входящие подключения. Это особенно важно в филиалах с динамическими IP или за NAT.

В конфигурации это выглядит так:

zabbix_proxy.conf
ProxyMode=0  # 0 = active, 1 = passive
Server=your.zabbix.server.ip
ServerPort=10051
Hostname=Branch-Moscow-Proxy

Установка: пошагово с акцентом на защиту

Шаг 1. Добавление официального репозитория

Никогда не используйте пакеты из стандартных репозиториев ОС — они устаревают. Подключите официальный репозиторий Zabbix:

Ubuntu 24.04:

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo apt update

AlmaLinux 9:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-1.el9.noarch.rpm
sudo dnf clean all

Шаг 2. Установка компонентов

Выберите СУБД. Для небольших развёртываний (до 500 хостов) подойдёт SQLite. Для больших — PostgreSQL.

С SQLite:

sudo apt install -y zabbix-proxy-sqlite3  # Ubuntu
или
sudo dnf install -y zabbix-proxy-sqlite3  # AlmaLinux

С PostgreSQL:

sudo apt install -y zabbix-proxy-pgsql postgresql
Инициализация БД
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix_proxy

Шаг 3. Настройка конфигурации

Отредактируйте /etc/zabbix/zabbix_proxy.conf. Ключевые параметры:

Server=192.168.10.5          # IP вашего Zabbix-сервера
Hostname=Proxy-Moscow-DC     # Должен совпадать с именем в веб-интерфейсе!
DBName=zabbix_proxy          # Имя БД
DBUser=zabbix                # Пользователь БД
DBPassword=Str0ng!P@ss       # Сложный пароль, не из примеров!
ProxyMode=0                  # Active mode
TLSConnect=cert              # Обязательно для шифрования!
TLSCAFile=/etc/ssl/certs/ca.pem
TLSCertFile=/etc/ssl/certs/proxy.crt
TLSKeyFile=/etc/ssl/private/proxy.key

Важно: файл zabbix_proxy.conf должен быть доступен только пользователю zabbix:
bash sudo chown zabbix:zabbix /etc/zabbix/zabbix_proxy.conf sudo chmod 600 /etc/zabbix/zabbix_proxy.conf

Шаг 4. Настройка TLS между прокси и сервером

Без этого весь трафик передаётся в открытом виде. Используйте сертификаты, подписанные вашим внутренним CA:

  1. На сервере создайте CA (если нет).
  2. Выпустите сертификат для прокси с CN=Proxy-Moscow-DC.
  3. Скопируйте ca.pem, proxy.crt, proxy.key на прокси.
  4. Укажите пути в конфиге (см. выше).
  5. На сервере в настройках прокси в веб-интерфейсе укажите: Connections to proxy > Certificate.

Проверьте соединение через openssl s_client:

openssl s_client -connect your.zabbix.server:10051 -CAfile /etc/ssl/certs/ca.pem

Если видите Verify return code: 0 (ok), всё в порядке.

Шаг 5. Запуск и проверка

sudo systemctl enable zabbix-proxy --now
sudo systemctl status zabbix-proxy

Проверьте логи на ошибки:

sudo journalctl -u zabbix-proxy -f --since "1 hour ago"

Ожидаемое сообщение: current database version ....

Чего вам НЕ говорят в других гайдах

Большинство инструкций замалчивают критические моменты:

  • Логирование по умолчанию отключено. Без LogType=file и LogFile=/var/log/zabbix/zabbix_proxy.log вы не увидите атаки или сбои.
  • SQLite — не для продакшена. При высокой нагрузке возможна блокировка БД, что приведёт к потере данных. В 2025 году Zabbix официально рекомендует PostgreSQL даже для средних развёртываний.
  • Обновления безопасности. Пакеты из репозитория Zabbix обновляются быстро, но если вы используете Docker-образы без подписки на security-релизы, вы остаётесь уязвимы. Например, уязвимость CVE-2023-29456 (RCE в компонентах Zabbix) требовала немедленного патча.
  • Нет защиты от DoS. Прокси не имеет встроенных механизмов rate-limiting. Злоумышленник может отправить тысячи фальшивых метрик и исчерпать место на диске. Решение — настройка iptables или nftables с ограничением подключений.
  • Сертификаты без отзыва. Если ключ прокси скомпрометирован, но у вас нет OCSP или CRL, сервер продолжит принимать трафик. Внедрите систему отзыва сертификатов.

Сравнение вариантов развёртывания: что выбрать в 2026 году

Критерий Zabbix Proxy на VM Zabbix Proxy в Docker Zabbix Proxy на bare metal
Изоляция Средняя Высокая (контейнеры) Низкая
Производительность Высокая Средняя (-5–10% overhead) Максимальная
Безопасность Зависит от настройки ОС Зависит от образа и runtime Требует hardening ОС
Масштабируемость Ручное клонирование Легко через Kubernetes Сложно
Поддержка TLS 1.3 Да (с OpenSSL 1.1.1+) Только в свежих образах Да
Рекомендовано для Филиалов, DC Облачные среды Высоконагруженные системы

Примечание: В России из-за требований ФСТЭК к защите информации часто запрещено использовать публичные облачные образы без сертификации. Поэтому для госсектора предпочтителен вариант на виртуальной машине с ОС из Единого реестра российских программ.

Диагностика после установки: как убедиться, что всё безопасно

  1. Проверка открытых портов:
    bash ss -tulnp | grep zabbix
    Должен быть только 127.0.0.1:10051 (для локальных агентов) или вообще ничего (в active-режиме).

  2. Анализ трафика:
    bash sudo tcpdump -i any -nn port 10051 -w zabbix.pcap
    Откройте файл в Wireshark. Если видите читаемый JSON/XML — TLS не работает.

  3. Проверка прав доступа:
    bash namei -l /etc/zabbix/zabbix_proxy.conf
    Владелец — zabbix, права — 600.

  4. Тест отказоустойчивости: остановите сервер Zabbix на 10 минут. Прокси должен продолжать собирать данные и отправить их после восстановления связи.

Распространённые ошибки и как их избежать

  • Ошибка 1: Имя хоста в zabbix_proxy.conf не совпадает с именем в веб-интерфейсе.
    Решение: всегда копируйте имя из раздела Administration → Proxies.

  • Ошибка 2: Использование одинаковых паролей для всех прокси.
    Решение: генерируйте уникальный пароль для каждой БД через openssl rand -base64 32.

  • Ошибка 3: Отсутствие мониторинга самого прокси.
    Решение: добавьте прокси как хост в Zabbix и настройте триггеры на:

  • Рост размера БД
  • Ошибки в логах
  • Отклонение времени больше 30 секунд

  • Ошибка 4: Хранение бэкапов БД в той же сети без шифрования.
    Решение: шифруйте дампы через gpg и храните вне основной инфраструктуры.

FAQ

Нужен ли отдельный сервер для Zabbix Proxy?

Для небольших филиалов (до 100 хостов) можно размещать прокси на том же сервере, что и другие сервисы, но только если:
— Установлен строгий фаервол (разрешены только нужные порты)
— Сервис работает от непривилегированного пользователя
— Диск разделён (например, через LVM), чтобы переполнение БД не упало на корневую ФС.
Для крупных развёртываний — всегда выделяйте отдельную ВМ.

Можно ли использовать Zabbix Proxy без центрального сервера?

Нет. Прокси — это промежуточное звено. Он не имеет веб-интерфейса и не умеет обрабатывать триггеры или отправлять алерты. Его единственная задача — собирать и буферизовать данные для сервера.

Как часто прокси отправляет данные на сервер?

По умолчанию — каждые 1 секунду (параметр ProxyConfigFrequency и ProxyDataFrequency). Но вы можете увеличить интервал до 3600 секунд, если связь нестабильна. Учтите: чем дольше интервал, тем выше риск потери данных при аварии прокси.

Что делать, если прокси не видит агентов?

Проверьте:
1. Совпадает ли Server в конфиге агента с IP прокси?
2. Открыт ли порт 10050 на агентах для прокси?
3. Не блокирует ли SELinux или AppArmor соединение (проверьте ausearch -m avc -ts recent)
4. Совпадает ли версия протокола (агент и прокси должны быть одной мажорной версии Zabbix).

Поддерживает ли Zabbix Proxy шифрование AES-256?

Zabbix использует OpenSSL для TLS. Если ваша система поддерживает AES-256-GCM (а современные ОС — да), то при настройке TLS с сильными шифрами (TLSCipherAll=HIGH:!aNULL:!MD5) будет использоваться именно AES-256. Но сам протокол Zabbix не реализует кастомное шифрование — только через TLS.

Насколько безопасен Zabbix Proxy в облаке (Yandex Cloud, VK Cloud)?

Безопасность зависит от вас:
— Всегда включайте шифрование дисков (KMS)
— Используйте security groups вместо open firewall
— Никогда не назначайте прокси публичный IP
— Регулярно обновляйте ОС и Zabbix
В остальном облачные ВМ ничем не отличаются от локальных с точки зрения безопасности Zabbix.

Вывод

установка zabbix proxy — это не просто копирование конфига и запуск службы. Это создание доверенной точки сбора данных, которая может стать слабым звеном всей системы мониторинга. Ключевые принципы безопасной установки: минимизация привилегий, обязательное шифрование трафика через TLS, изоляция сети и регулярный аудит конфигурации. Не экономьте на настройке сертификатов и мониторинге самого прокси — иначе вы получите не инструмент наблюдения, а «око» для злоумышленника. В условиях российской инфраструктуры особенно актуальны требования к локализации данных и защите от несанкционированного доступа, поэтому всегда сверяйтесь с актуальными рекомендациями ФСТЭК и используйте только сертифицированные решения при работе с критичными системами.

Ускорить пинг Безопасное соединение Высокая скорость Быстрое подключение Хорошая цена

Комментарии

jamesmoore 08 Июн 2026 15:12

Thanks for sharing this. Maybe add a short glossary for new players. Good info for beginners.

Оставить комментарий

Решите простую математическую задачу для защиты от ботов