Skip to content

Commit 309fab1

Browse files
committed
feat(templates): rework for Zabbix Proxy 5.0 LTS
1 parent d38e8a3 commit 309fab1

File tree

1 file changed

+160
-11
lines changed

1 file changed

+160
-11
lines changed

zabbix/files/default/etc/zabbix/zabbix_proxy.conf.jinja

Lines changed: 160 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,19 +143,19 @@
143143

144144
{% if zabbix.version_repo|float >= 3.4 -%}
145145
### Option: EnableRemoteCommands
146-
# Whether remote commands from Zabbix server are allowed.
147-
# 0 - not allowed
148-
# 1 - allowed
146+
# Whether remote commands from Zabbix server are allowed.
147+
# 0 - not allowed
148+
# 1 - allowed
149149
#
150150
# Mandatory: no
151151
# Default:
152152
# EnableRemoteCommands=0
153153
{% if settings.get('enableremotecommands', defaults.get('enableremotecommands', False)) %}EnableRemoteCommands={{ settings.get('enableremotecommands', defaults.enableremotecommands) }}{% endif %}
154154

155155
### Option: LogRemoteCommands
156-
# Enable logging of executed shell commands as warnings.
157-
# 0 - disabled
158-
# 1 - enabled
156+
# Enable logging of executed shell commands as warnings.
157+
# 0 - disabled
158+
# 1 - enabled
159159
#
160160
# Mandatory: no
161161
# Default:
@@ -203,7 +203,7 @@
203203
{% if settings.get('dbname', defaults.get('dbname', False)) %}DBName={{ settings.get('dbname', defaults.dbname) }}{% endif %}
204204

205205
### Option: DBSchema
206-
# Schema name. Used for IBM DB2 and PostgreSQL.
206+
# Schema name. Used for PostgreSQL.
207207
#
208208
# Mandatory: no
209209
# Default:
@@ -309,7 +309,7 @@
309309

310310
### Option: StartIPMIPollers
311311
# Number of pre-forked instances of IPMI pollers.
312-
# The IPMI manager process is automatically started when at least one IPMI poller is started.
312+
# The IPMI manager process is automatically started when at least one IPMI poller is started.
313313
#
314314
# Mandatory: no
315315
# Range: 0-1000
@@ -516,7 +516,7 @@ StartJavaPollers={{ settings.get('startjavapollers', defaults.startjavapollers)
516516
# Shared memory size, for storing hosts and items data.
517517
#
518518
# Mandatory: no
519-
# Range: 128K-8G
519+
# Range: 128K-64G
520520
# Default:
521521
# CacheSize=8M
522522
{% if settings.get('cachesize', defaults.get('cachesize', False)) %}CacheSize={{ settings.get('cachesize', defaults.cachesize) }}{% endif %}
@@ -822,15 +822,15 @@ LoadModule={{ loadmodule }}
822822
{% if settings.get('tlscrlfile', defaults.get('tlscrlfile', False)) %}TLSCRLFile={{ settings.get('tlscrlfile', defaults.tlscrlfile) }}{% endif %}
823823

824824
### Option: TLSServerCertIssuer
825-
# Allowed server certificate issuer.
825+
# Allowed server certificate issuer.
826826
#
827827
# Mandatory: no
828828
# Default:
829829
# TLSServerCertIssuer=
830830
{% if settings.get('tlsservercertissuer', defaults.get('tlsservercertissuer', False)) %}TLSServerCertIssuer={{ settings.get('tlsservercertissuer', defaults.tlsservercertissuer) }}{% endif %}
831831

832832
### Option: TLSServerCertSubject
833-
# Allowed server certificate subject.
833+
# Allowed server certificate subject.
834834
#
835835
# Mandatory: no
836836
# Default:
@@ -869,4 +869,153 @@ LoadModule={{ loadmodule }}
869869
# TLSPSKFile=
870870
{% if settings.get('tlspskfile', defaults.get('tlspskfile', False)) %}TLSPSKFile={{ settings.get('tlspskfile', defaults.tlspskfile) }}{% endif %}
871871
{% endif %}
872+
873+
{% if zabbix.version_repo|float >= 5.0 -%}
874+
####### For advanced users - TLS ciphersuite selection criteria #######
875+
876+
### Option: TLSCipherCert13
877+
# Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
878+
# Override the default ciphersuite selection criteria for certificate-based encryption.
879+
#
880+
# Mandatory: no
881+
# Default:
882+
# TLSCipherCert13=
883+
{% if settings.get('tlsciphercert13', defaults.get('tlsciphercert13', False)) %}TLSCipherCert13={{ settings.get('tlsciphercert13', defaults.tlsciphercert13) }}{% endif %}
884+
885+
### Option: TLSCipherCert
886+
# GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
887+
# Override the default ciphersuite selection criteria for certificate-based encryption.
888+
# Example for GnuTLS:
889+
# 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
890+
# Example for OpenSSL:
891+
# EECDH+aRSA+AES128:RSA+aRSA+AES128
892+
#
893+
# Mandatory: no
894+
# Default:
895+
# TLSCipherCert=
896+
{% if settings.get('tlsciphercert', defaults.get('tlsciphercert', False)) %}TLSCipherCert={{ settings.get('tlsciphercert', defaults.tlsciphercert) }}{% endif %}
897+
898+
### Option: TLSCipherPSK13
899+
# Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
900+
# Override the default ciphersuite selection criteria for PSK-based encryption.
901+
# Example:
902+
# TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
903+
#
904+
# Mandatory: no
905+
# Default:
906+
# TLSCipherPSK13=
907+
{% if settings.get('tlscipherpsk13', defaults.get('tlscipherpsk13', False)) %}TLSCipherPSK13={{ settings.get('tlscipherpsk13', defaults.tlscipherpsk13) }}{% endif %}
908+
909+
### Option: TLSCipherPSK
910+
# GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
911+
# Override the default ciphersuite selection criteria for PSK-based encryption.
912+
# Example for GnuTLS:
913+
# NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
914+
# Example for OpenSSL:
915+
# kECDHEPSK+AES128:kPSK+AES128
916+
#
917+
# Mandatory: no
918+
# Default:
919+
# TLSCipherPSK=
920+
{% if settings.get('tlscipherpsk', defaults.get('tlscipherpsk', False)) %}TLSCipherPSK={{ settings.get('tlscipherpsk', defaults.tlscipherpsk) }}{% endif %}
921+
922+
### Option: TLSCipherAll13
923+
# Cipher string for OpenSSL 1.1.1 or newer in TLS 1.3.
924+
# Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
925+
# Example:
926+
# TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
927+
#
928+
# Mandatory: no
929+
# Default:
930+
# TLSCipherAll13=
931+
{% if settings.get('tlscipherall13', defaults.get('tlscipherall13', False)) %}TLSCipherAll13={{ settings.get('tlscipherall13', defaults.tlscipherall13) }}{% endif %}
932+
933+
### Option: TLSCipherAll
934+
# GnuTLS priority string or OpenSSL (TLS 1.2) cipher string.
935+
# Override the default ciphersuite selection criteria for certificate- and PSK-based encryption.
936+
# Example for GnuTLS:
937+
# 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
938+
# Example for OpenSSL:
939+
# EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
940+
#
941+
# Mandatory: no
942+
# Default:
943+
# TLSCipherAll=
944+
{% if settings.get('tlscipherall', defaults.get('tlscipherall', False)) %}TLSCipherAll={{ settings.get('tlscipherall', defaults.tlscipherall) }}{% endif %}
945+
946+
### Option: DBTLSConnect
947+
# Setting this option enforces to use TLS connection to database.
948+
# required - connect using TLS
949+
# verify_ca - connect using TLS and verify certificate
950+
# verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost
951+
# matches its certificate
952+
# On MySQL starting from 5.7.11 and PostgreSQL following values are supported: "required", "verify_ca" and
953+
# "verify_full".
954+
# On MariaDB starting from version 10.2.6 "required" and "verify_full" values are supported.
955+
# Default is not to set any option and behavior depends on database configuration
956+
#
957+
# Mandatory: no
958+
# Default:
959+
# DBTLSConnect=
960+
{% if settings.get('dbtlsconnect', defaults.get('dbtlsconnect', False)) %}DBTLSConnect={{ settings.get('dbtlsconnect', defaults.dbtlsconnect) }}{% endif %}
961+
962+
### Option: DBTLSCAFile
963+
# Full pathname of a file containing the top-level CA(s) certificates for database certificate verification.
964+
# Supported only for MySQL and PostgreSQL
965+
#
966+
# Mandatory: no
967+
# (yes, if DBTLSConnect set to one of: verify_ca, verify_full)
968+
# Default:
969+
# DBTLSCAFile=
970+
{% if settings.get('dbtlscafile', defaults.get('dbtlscafile', False)) %}DBTLSCAFile={{ settings.get('dbtlscafile', defaults.dbtlscafile) }}{% endif %}
971+
972+
### Option: DBTLSCertFile
973+
# Full pathname of file containing Zabbix proxy certificate for authenticating to database.
974+
# Supported only for MySQL and PostgreSQL
975+
#
976+
# Mandatory: no
977+
# Default:
978+
# DBTLSCertFile=
979+
{% if settings.get('dbtlscertfile', defaults.get('dbtlscertfile', False)) %}DBTLSCertFile={{ settings.get('dbtlscertfile', defaults.dbtlscertfile) }}{% endif %}
980+
981+
### Option: DBTLSKeyFile
982+
# Full pathname of file containing the private key for authenticating to database.
983+
# Supported only for MySQL and PostgreSQL
984+
#
985+
# Mandatory: no
986+
# Default:
987+
# DBTLSKeyFile=
988+
{% if settings.get('dbtlskeyfile', defaults.get('dbtlskeyfile', False)) %}DBTLSKeyFile={{ settings.get('dbtlskeyfile', defaults.dbtlskeyfile) }}{% endif %}
989+
990+
### Option: DBTLSCipher
991+
# The list of encryption ciphers that Zabbix proxy permits for TLS protocols up through TLSv1.2
992+
# Supported only for MySQL
993+
#
994+
# Mandatory no
995+
# Default:
996+
# DBTLSCipher=
997+
{% if settings.get('dbtlscipher', defaults.get('dbtlscipher', False)) %}DBTLSCipher={{ settings.get('dbtlscipher', defaults.dbtlscipher) }}{% endif %}
998+
999+
### Option: DBTLSCipher13
1000+
# The list of encryption ciphersuites that Zabbix proxy permits for TLSv1.3 protocol
1001+
# Supported only for MySQL, starting from version 8.0.16
1002+
#
1003+
# Mandatory no
1004+
# Default:
1005+
# DBTLSCipher13=
1006+
{% if settings.get('dbtlscipher13', defaults.get('dbtlscipher13', False)) %}DBTLSCipher13={{ settings.get('dbtlscipher13', defaults.dbtlscipher13) }}{% endif %}
1007+
1008+
####### For advanced users - TCP-related fine-tuning parameters #######
1009+
1010+
## Option: ListenBacklog
1011+
# The maximum number of pending connections in the queue. This parameter is passed to
1012+
# listen() function as argument 'backlog' (see "man listen").
1013+
#
1014+
# Mandatory: no
1015+
# Range: 0 - INT_MAX (depends on system, too large values may be silently truncated to implementation-specified maximum)
1016+
# Default: SOMAXCONN (hard-coded constant, depends on system)
1017+
# ListenBacklog=
1018+
{% if settings.get('listenbacklog', defaults.get('listenbacklog', False)) %}ListenBacklog={{ settings.get('listenbacklog', defaults.listenbacklog) }}{% endif %}
1019+
{% endif %}
1020+
8721021
{{ settings.get('extra_conf','') }}

0 commit comments

Comments
 (0)