Zabbix подржава шифровану комуникацију између Zabbix компоненти користећи Transport Layer Security (TLS) протокол v.1.2 и 1.3 (у зависности од крипто библиотеке). Подржано је шифровање засновано на сертификатима и унапред дељеним кључевима.
Шифровање се може конфигурисати за везе:
Шифровање је опционо и конфигурабилно за појединачне компоненте:
Zabbix демон програми користе један порт за слушање за шифроване и нешифроване долазне везе. Додавање шифровања не захтева отварање нових портова на заштитним зидовима (фајерволима).
Да би подржао шифровање, Zabbix мора бити компајлиран и повезан са једном од подржаних крипто библиотека:
tls_*()
LibreSSL-специфичне API функције се не користе.Zabbix компоненте компајлиране са LibreSSL-ом неће моћи да користе PSK, могу се користити само сертификати.
Више о подешавању SSL-а за Zabbix кориснички интерфејс можете сазнати у овим најбољим праксама.
Библиотека се бира навођењем одговарајуће опције за "configure" скрипту:
--with-gnutls[=DIR]
--with-openssl[=DIR]
(also used for LibreSSL)На пример, да бисте конфигурисали изворе за сервер и агента са OpenSSL можете користити нешто попут:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl
Различите Zabbix компоненте могу бити компајлиране са различитим крипто библиотекама (нпр. сервер са OpenSSL, агент са GnuTLS).
Ако планирате да користите унапред дељене кључеве (PSK), размислите о коришћењу GnuTLS или OpenSSL 1.1.0 (или новијих) библиотека у Zabbix компонентама које користе PSK-ове. GnuTLS и OpenSSL 1.1.0 библиотеке подржавају PSK пакете шифровања са Perfect Forward Secrecy. Старије верзије OpenSSL библиотеке (1.0.1, 1.0.2c) такође подржавају PSK-ове, али доступни PSK пакети шифровања не пружају Perfect Forward Secrecy.
Конекције у Zabbix-у могу да користе:
Постоје два важна параметра која се користе за одређивање шифровања између Zabbix компоненти:
TLSConnect
се користи у конфигурационим датотекама за Zabbix прокси (у активном режиму, одређује само конекције са сервером) и Zabbix агент (за активне провере). У Zabbix кориснички интерфејс, еквивалент TLSConnect је поље Везе са домаћином у Прикупљање података → Домаћини → <some host> → Шифровање и поље Везе са проксијем у Администрација → Проксији → <some proxy> → Шифровање. Ако конфигурисани тип шифровања за везу не успе, неће се покушати други типови шифровања.
TLSAccept
се користи у конфигурационим датотекама за Zabbix прокси (у пасивном режиму, наводи само везе са сервера) и Zabbix агента (за пасивне провере). У Zabbix кориснички интерфејс, еквивалент TLSAccept је поље Везе са домаћином у Прикупљање података → Домаћини → <some host> → Шифровање и поље Везе са проксија у Администрација → Проксији → <some proxy> → Шифровање.
Обично конфигуришете само један тип шифровања за долазне везе. Али можда ћете желети да промените тип шифровања, нпр. са нешифрованог на сертификат са минималним временом застоја и могућношћу враћања на претходно стање. Да бисте то постигли:
TLSAccept=unencrypted,cert
у конфигурационој датотеци агента и поново покрените Zabbix агентаTLSAccept=cert
у конфигурационој датотеци агента и поново покренути Zabbix агент. Сада ће агент прихватати само шифроване везе засноване на сертификатима. Нешифроване и PSK везе ће бити одбијене.На сличан начин функционише на серверу и проксију. Ако је у Zabbix кориснички интерфејс у конфигурацији домаћина Везе са домаћином подешено на "Сертификат", онда ће само везе шифроване на основу сертификата бити прихваћене од агента (активне провере) и zabbix_sender (ставке трапера).
Највероватније ћете конфигурисати долазне и одлазне везе да користе исти тип шифровања или никакво шифровање. Али технички је могуће конфигурисати га асиметрично, нпр. шифровање на основу сертификата за долазне и PSK-базирано за одлазне везе.
Конфигурација шифровања за сваки домаћин је приказана у Zabbix кориснички интерфејс, у Прикупљање података → Домаћини у колони Шифровање агента.
На пример:
Example | Connections to host | Allowed connections from host | Rejected connections from host |
---|---|---|---|
![]() | Нешифровано | Нешифровано | Шифровано, шифровано помоћу сертификата и PSK-а |
![]() | Шифровано, засновано на сертификату | Шифровано, засновано на сертификату | Нешифровано и шифровано помоћу PSK-а |
![]() | Шифровано, засновано на PSK-у | Шифровано, засновано на PSK-у | Нешифровано и шифровано помоћу сертификата |
![]() | Шифровано, засновано на PSK-у | Нешифровано и шифровано засновано на PSK-у | Шифровано засновано на сертификату |
![]() | Шифровано, засновано на сертификату | Нешифровано, шифровано PSK-ом или засновано на сертификату | - |
Везе су подразумевано нешифроване. Шифровање мора бити конфигурисано за сваки домаћин и прокси појединачно.
Погледајте странице упутства zabbix_get и zabbix_sender за њихово коришћење са шифровањем.
Шифровани пакети се подразумевано конфигуришу интерно током покретања Zabbix-а.
Такође, кориснички конфигурисани шифровани пакети су подржани за GnuTLS и OpenSSL. Корисници могу конфигурисати шифроване пакете у складу са својим безбедносним политикама. Коришћење ове функције је опционо (уграђени подразумевани шифровани пакети и даље раде).
За крипто библиотеке компајлиране са подразумеваним подешавањима, уграђена Zabbix правила обично резултирају следећим шифрованим пакетима (по реду од вишег до нижег приоритета):
Library | Certificate ciphersuites | PSK ciphersuites |
---|---|---|
GnuTLS 3.1.18 | TLS_ECDHE_RSA_AES_128_GCM_SHA256 TLS_ECDHE_RSA_AES_128_CBC_SHA256 TLS_ECDHE_RSA_AES_128_CBC_SHA1 TLS_RSA_AES_128_GCM_SHA256 TLS_RSA_AES_128_CBC_SHA256 TLS_ RSA_AES_128_CBC_SHA1 | TLS_ECDHE_PSK_AES_128_CBC_SHA256 TLS_ECDHE_PSK_AES_128_CBC_SHA1 TLS_PSK_AES_128_GCM_SHA256 TLS_PSK_AES_128_CBC_SHA256 TLS_PSK_AES_128_CBC_SHA1 |
OpenSSL 1.1.0 | ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA<б r> | ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA |
OpenSSL 1.1.1d | TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA2 56 AES128-SHA | TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA |
Уграђени критеријуми за избор пакета шифри могу се заменити кориснички конфигурисаним пакетима шифри.
Кориснички конфигурисани пакети шифри су функција намењена напредним корисницима који разумеју TLS пакете шифри, њихову безбедност и последице грешака и који су упознати са TLS решавањем проблема.
Уграђени критеријуми за избор пакета шифри могу се заменити коришћењем следећих параметара:
Override scope | Parameter | Value | Description |
---|---|---|---|
Ciphersuite selection for certificates | TLSCipherCert13 | Важећи OpenSSL 1.1.1 шифровани низови за TLS 1.3 протокол (њихове вредности се прослеђују OpenSSL функцији SSL_CTX_set_ciphersuites() ). | Критеријуми за избор пакета шифри засновани на сертификату за TLS 1.3 Само OpenSSL 1.1.1 или новији. |
TLSCipherCert | Важећи OpenSSL шифровани низови за TLS 1.2 или важећи GnuTLS приоритетни низови. Њихове вредности се прослеђују функцијама SSL_CTX_set_cipher_list() или gnutls_priority_init() , респективно. | Критеријуми за избор шифратног пакета засновани на сертификатима за TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) | |
Combined ciphersuite list for certificate and PSK | TLSCipherPSK13 | Важећи OpenSSL 1.1.1 шифратне ниске за TLS 1.3 протокол (њихове вредности се прослеђују OpenSSL функцији SSL_CTX_set_ciphersuites() ). | Критеријуми за избор шифратног пакета засновани на PSK за TLS 1.3 Само OpenSSL 1.1.1 или новији. |
TLSCipherPSK | Важећи OpenSSL шифровани низови за TLS 1.2 или важећи GnuTLS приоритетни низови. Њихове вредности се прослеђују функцијама SSL_CTX_set_cipher_list() или gnutls_priority_init() , респективно. | Критеријуми за избор шифрованог пакета засновани на PSK-у за TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) | |
Combined ciphersuite list for certificate and PSK | TLSCipherAll13 | Важећи OpenSSL 1.1.1 шифровани низови за TLS 1.3 протокол (њихове вредности се прослеђују OpenSSL функцији SSL_CTX_set_ciphersuites() ). | Критеријуми за избор шифрованог низа за TLS 1.3 Само OpenSSL 1.1.1 или новији. |
TLSCipherAll | Важећи OpenSSL шифровани низови за TLS 1.2 или важећи GnuTLS приоритетни низови. Њихове вредности се прослеђују функцијама SSL_CTX_set_cipher_list() или gnutls_priority_init() , респективно. | Критеријуми за избор пакета шифри за TLS 1.2/1.3 (GnuTLS), TLS 1.2 (OpenSSL) |
Да бисте поништили избор пакета шифри у услужним програмима zabbix_get и zabbix_sender - користите параметре командне линије:
--tls-cipher13
--tls-cipher
Нови параметри су опциони. Ако параметар није наведен, користи се интерна подразумевана вредност. Ако је параметар дефинисан, не може бити празан.
Ако подешавање вредности TLSCipher* у крипто библиотеци не успе, онда сервер, прокси или агент се неће покренути и евидентираће се грешка.
Важно је разумети када је сваки параметар применљив.
Најједноставнији случај су одлазне везе:
--tls-cipher13
или --tls-cipher
(шифровање је недвосмислено наведено са --tls-connect
параметар)Мало је компликованије са долазним везама јер су правила специфична за компоненте и конфигурацију.
За Zabbix агент:
Agent connection setup | Cipher configuration |
---|---|
TLSConnect=cert | TLSCipherCert, TLSCipherCert13 |
TLSConnect=psk | TLSCipherPSK, TLSCipherPSK13 |
TLSAccept=cert | TLSCipherCert, TLSCipherCert13 |
TLSAccept=psk | TLSCipherPSK, TLSCipherPSK13 |
TLSAccept=cert,psk | TLSCipherAll, TLSCipherAll13 |
За Zabbix сервер и прокси:
Connection setup | Cipher configuration |
---|---|
Одлазне везе користећи PSK | TLSCipherPSK, TLSCipherPSK13 |
Долазне везе користећи сертификате | TLSCipherAll, TLSCipherAll13 |
Долазне везе користећи PSK ако сервер нема сертификат | TLSCipherPSK, TLSCipherPSK13 |
Долазне везе користећи PSK ако сервер има сертификат | TLSCipherAll, TLSCipherAll13 |
Неки образац се може видети у две горње табеле:
Следеће табеле приказују уграђене подразумеване вредности TLSCipher*
. Оне могу бити добра полазна тачка за ваше сопствене прилагођене вредности.
Parameter | GnuTLS 3.6.12 |
---|---|
TLSCipherCert | NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 |
TLSCipherPSK | NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL |
TLSCipherAll | NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 |
Parameter | OpenSSL 1.1.1d 1 |
---|---|
TLSCipherCert13 | |
TLSCipherCert | EECDH+aRSA+AES128:RSA+aRSA+AES128 |
TLSCipherPSK13 | TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 |
TLSCipherPSK | kECDHEPSK+AES128:kPSK+AES128 |
TLSCipherAll13 | |
TLSCipherAll | EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128 |
1 Подразумеване вредности се разликују за старије верзије OpenSSL-а (1.0.1, 1.0.2, 1.1.0), за LibreSSL и ако је OpenSSL компајлиран без PSK подршке.
Примери кориснички конфигурисаних пакета шифровања
Погледајте испод следеће примере кориснички конфигурисаних пакета шифровања:
Да бисте видели који су пакети шифри изабрани, потребно је да подесите 'DebugLevel=4' у конфигурационом фајлу или користите опцију -vv
за zabbix_sender.
Можда ће бити потребно мало експериментисања са параметрима TLSCipher*
пре него што добијете жељене пакете шифри. Незгодно је поново покретати Zabbix сервер, прокси или агент више пута само да би се подесио TLSCipher*
параметри. Погодније опције су коришћење zabbix_sender или openssl
команда. Покажимо оба.
1. Користите zabbix_sender.
Направимо, на пример, тестну конфигурациону датотеку /home/zabbix/test.conf
, са синтаксом датотеке zabbix_agentd.conf
:
Hostname=nonexisting ServerActive=nonexisting
TLSConnect=cert TLSCAFile=/home/zabbix/ca.crt TLSCertFile=/home/zabbix/agent.crt TLSKeyFile=/home/zabbix/agent.key TLSPSKIdentity=nonexisting TLSPSKFile=/home/zabbix/agent.psk
За овај пример су вам потребни важећи CA и агентски сертификати и PSK. Прилагодите путање и имена датотека сертификата и PSK-а за своје окружење.
Ако не користите сертификате, већ само PSK, можете направити једноставнији тест фајла:
Hostname=nonexisting ServerActive=nonexisting
TLSConnect=psk TLSPSKIdentity=nonexisting TLSPSKFile=/home/zabbix/agentd.psk
Изабрани пакети шифровања могу се видети покретањем команде zabbix_sender (пример компајлирано са OpenSSL 1.1.d):
$ zabbix_sender -vv -c /home/zabbix/test.conf -k nonexisting_item -o 1 2>&1 | grep ciphersuites zabbix_sender [41271]: DEBUG: zbx_tls_init_child() certificate ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA zabbix_sender [41271]: DEBUG: zbx_tls_init_child() PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA zabbix_sender [41271]: DEBUG: zbx_tls_init_child() certificate and PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
Овде видите пакете шифровања изабране по подразумеваним подешавањима. Ове подразумеване вредности су изабрани да би се осигурала интероперабилност са Zabbix агентима који раде на системи са старијим верзијама OpenSSL-а (од 1.0.1).
Са новијим системима можете појачати безбедност тако што ћете дозволити само неколико шифратних пакета, нпр. само шифратни пакети са PFS-ом (Perfect Forward Secrecy). Покушајмо да дозволимо само шифроване пакете са PFS-ом користећи TLSCipher*
параметре.
Резултат неће бити интероперабилан са системима користећи OpenSSL 1.0.1 и 1.0.2, ако се користи PSK. Засновано на сертификату шифровање би требало да ради.
Додајте два реда у конфигурациону датотеку test.conf
:
TLSCipherCert=EECDH+aRSA+AES128 TLSCipherPSK=kECDHEPSK+AES128
и поново тестирајте:
$ zabbix_sender -vv -c /home/zabbix/test.conf -k nonexisting_item -o 1 2>&1 | grep ciphersuites zabbix_sender [42892]: DEBUG: zbx_tls_init_child() certificate ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA zabbix_sender [42892]: DEBUG: zbx_tls_init_child() PSK ciphersuites: TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA zabbix_sender [42892]: DEBUG: zbx_tls_init_child() certificate and PSK ciphersuites: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA AES128-GCM-SHA256 AES128-CCM8 AES128-CCM AES128-SHA256 AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA PSK-AES128-GCM-SHA256 PSK-AES128-CCM8 PSK-AES128-CCM PSK-AES128-CBC-SHA256 PSK-AES128-CBC-SHA
Листе "certificate ciphersuites" и "PSK ciphersuites" су се промениле - краћи су него раније, садрже само TLS 1.3 шифре и TLS 1.2 ECDHE-* пакети шифровања као што се и очекивало.
2. TLSCipherAll и TLSCipherAll13 не може се тестирати са zabbix_sender; они не утичу "certificate and PSK ciphersuites" вредност приказана у горњем примеру. Да бисте подесили TLSCipherAll и TLSCipherAll13 Потребно је да експериментишете са агентом, проксијем или сервером.
Дакле, да бисте дозволили само PFS шифре, можда ћете морати да додате до три параметара
TLSCipherCert=EECDH+aRSA+AES128 TLSCipherPSK=kECDHEPSK+AES128 TLSCipherAll=EECDH+aRSA+AES128:kECDHEPSK+AES128
to zabbix_agentd.conf, zabbix_proxy.conf and zabbix_server_conf ако сваки од њих има конфигурисан сертификат, а агент такође има PSK.
Ако ваше Zabbix окружење користи само PSK шифровање и не сертификати, онда само један:
TLSCipherPSK=kECDHEPSK+AES128
Сада када разумете како функционише, можете тестирати пакет шифровања избор чак и ван Zabbix-а, помоћу команде openssl
. Хајде да тестирамо све три вредности параметра TLSCipher*
:
$ openssl ciphers EECDH+aRSA+AES128 | sed 's/:/ /g' TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA $ openssl ciphers kECDHEPSK+AES128 | sed 's/:/ /g' TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA $ openssl ciphers EECDH+aRSA+AES128:kECDHEPSK+AES128 | sed 's/:/ /g' TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA ECDHE-PSK-AES128-CBC-SHA256 ECDHE-PSK-AES128-CBC-SHA
Можда бисте преферирали openssl шифре
са опцијом -V
за детаљнији приказ излаз:
$ openssl ciphers -V EECDH+aRSA+AES128:kECDHEPSK+AES128 0x13,0x02 - TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD 0x13,0x03 - TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD 0x13,0x01 - TLS_AES_128_GCM_SHA256TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD 0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD 0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256 0xC0,0x13 - ECDHE-RSA-AES128-SHA TLSv1 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1 0xC0,0x37 - ECDHE-PSK-AES128-CBC-SHA256 TLSv1 Kx=ECDHEPSK Au=PSK Enc=AES(128) Mac=SHA256 0xC0,0x35 - ECDHE-PSK-AES128-CBC-SHA TLSv1 Kx=ECDHEPSK Au=PSK Enc=AES(128) Mac=SHA1
Слично томе, можете тестирати стрингове приоритета за GnuTLS:
$ gnutls-cli -l --priority=NONE:+VERS-TLS1.2:+ECDHE-RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 Cipher suites for NONE:+VERS-TLS1.2:+ECDHE-RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509 TLS_ECDHE_RSA_AES_128_GCM_SHA256 0xc0, 0x2f TLS1.2 TLS_ECDHE_RSA_AES_128_CBC_SHA256 0xc0, 0x27 TLS1.2
Protocols: VERS-TLS1.2 Ciphers: AES-128-GCM, AES-128-CBC MACs: AEAD, SHA256 Key Exchange Algorithms: ECDHE-RSA Groups: GROUP-SECP256R1, GROUP-SECP384R1, GROUP-SECP521R1, GROUP-X25519, GROUP-X448, GROUP-FFDHE2048, GROUP-FFDHE3072, GROUP-FFDHE4096, GROUP-FFDHE6144, GROUP-FFDHE8192 PK-signatures: SIGN-RSA-SHA256, SIGN-RSA-PSS-SHA256, SIGN-RSA-PSS-RSAE-SHA256, SIGN-ECDSA-SHA256, SIGN-ECDSA-SECP256R1-SHA256, SIGN-EdDSA-Ed25519, SIGN-RSA-SHA384, SIGN-RSA-PSS-SHA384, SIGN-RSA-PSS-RSAE-SHA384, SIGN-ECDSA-SHA384, SIGN-ECDSA-SECP384R1-SHA384, SIGN-EdDSA-Ed448, SIGN-RSA-SHA512, SIGN-RSA-PSS-SHA512, SIGN-RSA-PSS-RSAE-SHA512, SIGN-ECDSA-SHA512, SIGN-ECDSA-SECP521R1-SHA512, SIGN-RSA-SHA1, SIGN-ECDSA-SHA1
Zabbix користи AES128 као уграђени подразумевани сертификат за податке. Претпоставимо да користите сертификате и желите да пређете на AES256, на OpenSSL 1.1.1.
Ово се може постићи додавањем одговарајућих параметара у zabbix_server.conf
:
TLSCAFile=/home/zabbix/ca.crt TLSCertFile=/home/zabbix/server.crt TLSKeyFile=/home/zabbix/server.key TLSCipherCert13=TLS_AES_256_GCM_SHA384 TLSCipherCert=EECDH+aRSA+AES256:-SHA1:-SHA384 TLSCipherPSK13=TLS_CHACHA20_POLY1305_SHA256 TLSCipherPSK=kECDHEPSK+AES256:-SHA1 TLSCipherAll13=TLS_AES_256_GCM_SHA384 TLSCipherAll=EECDH+aRSA+AES256:-SHA1:-SHA384
Иако ће се користити само пакети шифровања повезани са сертификатима, параметри TLSCipherPSK*
су такође дефинисани како би се избегле њихове подразумеване вредности које укључују мање безбедне шифре ради шире интероперабилности. PSK пакети шифровања не могу се потпуно онемогућити на серверу/проксију.
И у zabbix_agentd.conf
:
TLSConnect=cert TLSAccept=cert TLSCAFile=/home/zabbix/ca.crt TLSCertFile=/home/zabbix/agent.crt TLSKeyFile=/home/zabbix/agent.key TLSCipherCert13=TLS_AES_256_GCM_SHA384 TLSCipherCert=EECDH+aRSA+AES256:-SHA1:-SHA384