Комментарии 9
В чем принципиальное отличие пароля в явном виде в конфиге zabbix от токена в явном виде в этом же конфиге, с которым можно получить этот пароль?
Одним дополнительным curl можно превратить одно в другое...
Бесспорно, так и есть, но тут скорее было требования по явному виду пароля в конфигурации
Объясните, пожалуйста, почему в качестве хранилища выбран Consul? Встроенный функционал Service Discovery и его интеграцию с HAProxy вы не используете, объем хранимых данных - ничтожен. Не проще ли ограничиться внутренним хранилищем Vault?
Добавлю, что нет стопроцентно безопасных решений. В данной заметке мы использовали решение из документации по настройке секретов в Zabbix (ссылка в тексте есть), или вот тут еще раз: https://www.zabbix.com/documentation/6.0/en/manual/config/secrets [Configuration parameters] На наш взгляд это вполне рабочее решение в данном конкретном случае.
Дак мы тоже его используем. Но оно не помогает скрывать пароль от БД zabbix. Оно для других вещей:
Один источник правды о паролях, сменили пароль на базу - занесли его в Vault (вручную или автоматически) все инстансы zabbix его будут знать, не нужно обходить и править конфиг. Я думаю когда придумывали HA zabbix, тогда и задались вопросом, как нескольким инстансам его безопасно сообщить.
Ну и самое главное, пароли из Vault можно использовать как значения макросов. Вот в этом случае это позволяет их скрыть от пользователей Zabbix. Инженер настраивающий хост должен знать только его путь в Vault.
Ну или когда одна автоматизация создала пользователя например в базе для мониторинга, а другая автоматизация настроила хост в zabbix. Пароль в открытом виде нигде не передаётся, и пользователи его не увидят.
Но если узнают токен, то это эквивалентно знанию всех паролей.
Используем Vault в связке с HAProxy и HA Zabbix