Zabbix подржава шифровану комуникацију између Zabbix компоненти користећи Протокол безбедности транспортног слоја (TLS) в.1.2 и 1.3 (у зависности од крипто библиотека). Шифровање засновано на сертификатима и унапред дељеном кључу је подржано.
Шифровање се може конфигурисати за везе:
Шифровање је опционо и може се конфигурисати за појединачне компоненте:
Zabbix демон програми користе један порт за слушање за шифроване и нешифроване долазне везе. Додавање енкрипције није потребно отварање нових портова на заштитним зидовима.
Да би подржао шифровање, Zabbix мора бити компајлиран и повезан са једним од подржане крипто библиотеке:
tls_*()
функције API-ја специфичне за LibreSSL се не користе. Zabbix компоненте компајлиране са LibreSSL неће моћи да се користе PSK, могу се користити само сертификати.Можете сазнати више о подешавању SSL-а за Zabbix кориснички интерфејс позивањем на ове најбоље праксе.
Библиотека се бира навођењем одговарајуће опције за "configure" скрипта:
--with-gnutls[=DIR]
--with-openssl[=DIR]
(користи се и за 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 подржава ПСК пакете шифровања са Perfect Forward Secrecy. Старије верзије библиотеке OpenSSL (1.0.1, 1.0.2c) такође подржавају PSK, али доступни PSK пакети шифровања не пружају савршено напредовање Тајност.
Везе у Zabbix-у могу да користе:
Постоје два важна параметра која се користе за одређивање шифровања између Zabbix компоненте:
TLSConnect
се користи у конфигурационим датотекама за Zabbix проки (ин активни режим, специфицира само везе са сервером) и Zabbix агент (за активне провере). У Zabbix кориснички интерфејс TLSConnect еквивалент је Поље Везе са домаћином у Прикупљање података → Домаћини → <неки домаћин> → картица Шифровање и поље Везе са проксијем Администрација → Проксији → <неки прокси> → картица Шифровање. Ако је конфигурисани тип шифровања за везу не успева, ниједно друго шифровање врсте ће бити испробане.
TLSAccept
се користи у конфигурационим датотекама за Zabbix прокси (у пасивни режим, специфицира само везе са сервера) и Zabbix агент (за пасивне провере). У Zabbix кориснички интерфејс TLSAccept еквивалент је Веза са домаћином поља у Прикупљање података → Домаћини → <неки домаћин> → картица Шифровање и поље Везе са проксија Администрација → Проксији → <неки прокси> → картица Шифровање.
Обично конфигуришете само један тип шифровања за долазне везе. Али можда ћете желети да промените тип шифровања, нпр. из нешифровано на основу сертификата са минималним застојима и враћањем могућност. Да бисте то постигли:
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 странице за њихово коришћење са енкрипција.
Ciphersuites се подразумевано конфигуришу интерно током покретања 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.0.2c|ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA|PSK-AES128-CBC-SHA| |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
|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-SHA256
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 |
---|---|---|---|
Избор пакета шифровања за сертификате | 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)| |Избор шифрованог пакета за PSK|TLSCipherPSK13|Важећи OpenSSL 1.1.1 стрингови шифре за TLS 1.3 протокол (њихове вредности се прослеђују функцији OpenSSL SSL_CTX_set_ciphersuites()
).|Критеријуми за избор шифрованог пакета за 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)| |Комбинована листа пакета шифровања за сертификат и 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 за овај пример. Подесите путање и називе датотека сертификата и ПСК за ваше окружење.
Ако не користите сертификате, већ само ПСК, можете направити најједноставнији фајл:
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).
Са новијим системима можете изабрати да појачате безбедност тако што ћете дозволити само неколико шифрованих пакета, нпр. само шифре са PFC (Perfect Forward Secrecy). Покушајмо да дозволимо само пакете шифровања са PFC користећи параметре 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
Листе "сети за шифровање сертификата" и "PSK пакета за шифровање" су промењене – краће су него раније, садрже само TLS 1.3 пакете шифровања и TLS 1.2 ECDHE-* пакете шифровања како се очекивало.
2. TLSCipherAll и TLSCipherAll13 не може се тестирати са zabbix_sender; они не утичу на вредност "сертификата и PSK шифара" приказану у примеру изнад. Да бисте подесили TLSCipherAll и TLSCipherAll13, потребно је да експериментишете са агентом, проксијем или сервером.
Дакле, да бисте дозволили само PFS пакете шифровања, можда ћете морати да додате до три параметра
TLSCipherCert=EECDH+aRSA+AES128 TLSCipherPSK=kECDHEPSK+AES128 TLSCipherAll=EECDH+aRSA+AES128:kECDHEPSK+AES128
за zabbix_agentd.conf, zabbix_proxy.conf и 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 ciphers
са опцијом -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
: