Ad Widget

Collapse

Не могу через Agent_get получить данные используя TLS

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Umran
    Junior Member
    • Nov 2018
    • 15

    #1

    Не могу через Agent_get получить данные используя TLS

    Доброго дня, коллеги.

    Сервер zabbix на centos7, мониторится в основном винда.
    Стоит агент (скачан не с сайта, а с просторов интернета - только он заработал с поддержкой tls).
    Версия помоему 4.0.1 или типа того.

    Так вот, сервер заббикса успешно получает все данные с агентов (настройки ниже) и весь мониторинг полностью рабочий
    Но могу использовать agent_get для тестирования
    При этом, если выключить на агенте ТЛС то agent_get также начинает всё получать.

    Настройки:
    Click image for larger version

Name:	Zabbix_error1.PNG
Views:	514
Size:	14.4 KB
ID:	369056

    Пытаюсь получить тоже самое используя agent_get из того же дистрибутива и получаю фиг.
    Click image for larger version

Name:	Zabbix_error2.PNG
Views:	516
Size:	90.4 KB
ID:	369055
    В логе
    2932:20181114:151220.888 failed to accept an incoming connection: from ::1: TLS handshake set result code to 1: file ssl\t1_lib.c line 2589: error:14201076:SSL routines:tls_choose_sigalg:no suitable signature algorithm: TLS write fatal alert "handshake failure"
    2932:20181114:151230.120 failed to accept an incoming connection: from 127.0.0.1: TLS handshake set result code to 1: file ssl\t1_lib.c line 2589: error:14201076:SSL routines:tls_choose_sigalg:no suitable signature algorithm: TLS write fatal alert "handshake failure"


    Конфиг агента:
    Click image for larger version

Name:	Zabbix_error3.PNG
Views:	543
Size:	11.9 KB
ID:	369057
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Во-первых, не agent_get, а zabbix_get.
    Во-вторых, на ваших скриншотах я вижу, что в команде zabbix_get используется другой PSK identity, нежели в веб-интерфейсе Zabbix-а. Может быть, дело в этом?
    Code:
    --tls-psk-identity="PSK 001"

    Comment

    • Umran
      Junior Member
      • Nov 2018
      • 15

      #3
      Спасибо за ответ, но так тоже пробовал:
      Click image for larger version

Name:	Zabbix_error4.PNG
Views:	548
Size:	63.6 KB
ID:	369091
      В логах агента:
      2936:20181115:093203.869 failed to accept an incoming connection: from ::1: unspecified certificate verification error
      2936:20181115:093252.868 failed to accept an incoming connection: from 127.0.0.1: unspecified certificate verification error

      Если у вас работает, подскажите на каком дистрибутиве для win?

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Нет, у нас это не используется, поэтому конкретного решения, к сожалению, предложить не могу
        Но вопрос, почему не работает у вас, - интересный. Если zabbix_agentd и zabbix_get идут из одного дистрибутива (и, более того, запускаются на одной машине), то они должны работать, поскольку должны быть собраны с теми же криптобиблиотеками и используют те же PSK-файлы.

        Что ещё можно попробовать:
        • в параметре --tls-psk-identity значение от имени параметра отделить не знаком равенства, как я указал, а пробелом. Всё-таки, в в мане к zabbix_get (включая примеры) указан именно такой формат (через пробел), хотя, скорее всего, дело не в этом (в обычной документации приведены примеры с использованием знака равенства).
        • добавить в вызов zabbix_get ещё параметр "-I 127.0.0.1", чтобы быть уверенным, что обратный адрес запроса - тоже loopback-интерфейс, разрешённый в конфиге агента.
        • выставить в агенте DebugLevel=4 (и перезапустить); глядишь - по сообщениям в логе агента можно будет понять, в чём дело.
        Сейчас zabbix_get ругается на закрытие соединения (т.е. его закрывает агент). Закрывать его агент может либо из-за того, что соединение пришло с неразрешённого адреса, либо потому что не удалось договориться о механизме шифрования. Но когда агент "отшивает" запросы по причине не того адреса, в логе агента сообщение выглядит по-другому:
        failed to accept an incoming connection: connection from "192.168.**.***" rejected, allowed hosts: "********,***********"
        В вашем логе таких сообщений не видно, но упоминается "connection: from 127.0.0.1" (т.е. соединение, всё-таки шло с разрешённого адреса).
        Меня пока смущает то, что в логе агента есть ругань на сертификаты, при том, что сконфигурировано использовать не сертификаты, а PSK.
        Пока что наиболее перспективной выглядит мысль повысить уровень лога на агенте и посмотреть более детальную диагностику в его логе.

        Comment

        • Umran
          Junior Member
          • Nov 2018
          • 15

          #5
          Попробовал с -I
          PS C:\Zabbix> .\zabbix_get.exe -s 127.0.0.1 -p 10051 -I 127.0.0.1 -k agent.ping --tls-connect psk --tls-psk-identity "PSK 001" --tls-psk-file "C:\Zabbix\psk.psk"
          zabbix_get.exe [8316]: Get value error: connection closed during read
          zabbix_get.exe [8316]: Check access restrictions in Zabbix agent configuration

          В логе:

          6240:20181115:151410.888 In zbx_tls_accept()
          6240:20181115:151410.889 zbx_psk_server_cb() requested PSK identity "PSK 001"
          6240:20181115:151410.896 zbx_tls_accept() cannot obtain peer certificate
          6240:20181115:151410.896 End of zbx_tls_accept():FAIL error:'unspecified certificate verification error'
          6240:20181115:151410.897 failed to accept an incoming connection: from 127.0.0.1: unspecified certificate verification error

          Попробовал убрать пробел в конфиге и в команде ковычки и всё равно
          .\zabbix_get.exe -s 127.0.0.1 -p 10051 -I 127.0.0.1 -k agent.ping --tls-connect psk --tls-psk-identity PSK001 --tls-psk-file "C:\Zabbix\psk.psk"

          в логе
          3112:20181115:151550.369 In zbx_tls_accept()
          3112:20181115:151550.369 zbx_psk_server_cb() requested PSK identity "PSK001"
          3112:20181115:151550.376 zbx_tls_accept() cannot obtain peer certificate
          3112:20181115:151550.377 End of zbx_tls_accept():FAIL error:'unspecified certificate verification error'
          3112:20181115:151550.377 failed to accept an incoming connection: from 127.0.0.1: unspecified certificate verification error

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Странно. Судя по сообщениям - ощущение, как будто агент считает, что связываться надо с использованием сертификата, а не общего ключа. Ругается, что не может получить сертификат "той стороны".
            В то же время, Вы пишете, что с сервером (даже в шифрованном виде) общается нормально, проблема только с zabbix_get - я Вас правильно понял?
            Как вариант, можно попробовать запускать zabbix_get с сервера - может, полученная из "просторов Интернета" сборка под Windows оказалась кривоватой...

            Comment

            • Umran
              Junior Member
              • Nov 2018
              • 15

              #7
              Установил из репозитория zabbix-get на сервер и с сервера всё работает.
              Видно проблема действительно в кривой сборке файла для агента..
              ---
              [root@zabbixlv bin]# zabbix_get -s 10.10.10.55 -p 10051 -k agent.ping --tls-connect psk --tls-psk-identity "PSK 001" --tls-psk-file /home/lev/psk.psk
              1
              ---
              В логе агента при дебаг=4
              ---
              1668:20181116:100646.097 In zbx_tls_accept()
              1668:20181116:100646.098 zbx_psk_server_cb() requested PSK identity "PSK 001"
              1668:20181116:100646.099 End of zbx_tls_accept():SUCCEED (established TLSv1.2 PSK-AES128-CBC-SHA)
              ---

              Вопрос, где взять скомпилированную сборку агента под винду с поддержкой TLS?
              Сборка с сайта (отсюда https://www.zabbix.com/ru/download_agents) - не работает.

              Comment

              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #8
                Я вижу, что эта проблема активно обсуждается и решается в рамках ZBXNEXT-3047. Можно, зарегистрировавшись, добавить свой голос за решение этой проблемы (в правом верхнем углу - "Votes"), либо подписаться на уведомления (там же - "Watchers", добавить себя).

                Там приложено много различных сборок, в частности - начиная с ноября этого года есть пара сборок агентов версии 4.0.x. Впрочем, ставить агентов 4-й версии можно только если у вас сервер тоже 4-й версии (там совместимость в одну сторону).

                Если я правильно понимаю, то со сборкой версий под Windows с поддержкой шифрования не так всё просто, причём проблемы как технические (нужны соответствующие библиотеки, которые надо куда-то положить, либо собирать с ними статически; возможны разные версии этих библиотек на одной машине и т.д.), так и юридические (лицензии на криптобиблиотеки отличаются от стандартной лицензии, под которой распространяются агенты Zabbix). Так что вариантов несколько: а) пробовать то, что кто-то уже собрал для нас; б) ждать, пока кто-нибудь соберёт и выложит; в) собрать самому.

                Кстати, если есть проблемы со сборкой, стянутой оттуда, то там же можно о них и отписаться - вероятность того, что эта проблема будет замечена и исправлена, будет гораздо выше, чем если просто сказать об этой на форуме.

                Comment

                • Kos
                  Senior Member
                  Zabbix Certified SpecialistZabbix Certified Professional
                  • Aug 2015
                  • 3404

                  #9
                  О, кстати, нашёл официальные рекомендации по сборке в документации.

                  Comment

                  Working...