Skip to content

Commit

Permalink
DB encryption support
Browse files Browse the repository at this point in the history
  • Loading branch information
dotneft committed Apr 28, 2020
1 parent acbd134 commit 3f1cd26
Show file tree
Hide file tree
Showing 38 changed files with 739 additions and 172 deletions.
6 changes: 6 additions & 0 deletions .env_prx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@
# ZBX_LOGREMOTECOMMANDS=0 # Available since 3.4.0
# ZBX_HOSTNAMEITEM=system.hostname
# ZBX_SOURCEIP=
# ZBX_DBTLSCONNECT=require # Available since 5.0.0
# ZBX_DBTLSCAFILE=/run/secrets/root-ca.pem # Available since 5.0.0
# ZBX_DBTLSCERTFILE=/run/secrets/client-cert.pem # Available since 5.0.0
# ZBX_DBTLSKEYFILE=/run/secrets/client-key.pem # Available since 5.0.0
# ZBX_DBTLSCIPHER= # Available since 5.0.0
# ZBX_DBTLSCIPHER13= # Available since 5.0.0
# ZBX_DEBUGLEVEL=3
# ZBX_PROXYLOCALBUFFER=0
# ZBX_PROXYOFFLINEBUFFER=1
Expand Down
6 changes: 6 additions & 0 deletions .env_srv
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# ZBX_LISTENIP=
# ZBX_HISTORYSTORAGEURL=http://elasticsearch:9200/ # Available since 3.4.5
# ZBX_HISTORYSTORAGETYPES=uint,dbl,str,log,text # Available since 3.4.5
# ZBX_DBTLSCONNECT=require # Available since 5.0.0
# ZBX_DBTLSCAFILE=/run/secrets/root-ca.pem # Available since 5.0.0
# ZBX_DBTLSCERTFILE=/run/secrets/client-cert.pem # Available since 5.0.0
# ZBX_DBTLSKEYFILE=/run/secrets/client-key.pem # Available since 5.0.0
# ZBX_DBTLSCIPHER= # Available since 5.0.0
# ZBX_DBTLSCIPHER13= # Available since 5.0.0
# ZBX_DEBUGLEVEL=3
# ZBX_STARTPOLLERS=5
# ZBX_IPMIPOLLERS=0
Expand Down
6 changes: 6 additions & 0 deletions .env_web
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# ZBX_SERVER_HOST=zabbix-server
# ZBX_SERVER_PORT=10051
ZBX_SERVER_NAME=Composed installation
# ZBX_DB_ENCRYPTION=true # Available since 5.0.0
# ZBX_DB_KEY_FILE=/run/secrets/client-key.pem # Available since 5.0.0
# ZBX_DB_CERT_FILE=/run/secrets/client-cert.pem # Available since 5.0.0
# ZBX_DB_CA_FILE=/run/secrets/pgsql-ca.pem # Available since 5.0.0
# ZBX_DB_VERIFY_HOST=false # Available since 5.0.0
# ZBX_DB_CIPHER_LIST= # Available since 5.0.0
# ZBX_HISTORYSTORAGEURL=http://elasticsearch:9200/ # Available since 3.4.5
# ZBX_HISTORYSTORAGETYPES=['uint', 'dbl', 'str', 'text', 'log'] # Available since 3.4.5
# ZBX_MAXEXECUTIONTIME=600
Expand Down
41 changes: 40 additions & 1 deletion docker-compose_v3_alpine_mysql_latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ services:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-java-gateway
Expand Down Expand Up @@ -152,6 +155,13 @@ services:
- mysql-server
- zabbix-java-gateway
- zabbix-snmptraps
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
networks:
zbx_net_backend:
aliases:
Expand Down Expand Up @@ -179,6 +189,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
deploy:
resources:
limits:
Expand All @@ -193,6 +204,9 @@ services:
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-server
Expand Down Expand Up @@ -232,6 +246,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
deploy:
resources:
limits:
Expand All @@ -246,6 +261,9 @@ services:
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-server
Expand Down Expand Up @@ -366,7 +384,15 @@ services:

mysql-server:
image: mysql:8.0
command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin, --default-authentication-plugin=mysql_native_password]
command:
- mysqld
- --character-set-server=utf8
- --collation-server=utf8_bin
- --default-authentication-plugin=mysql_native_password
# - --require-secure-transport
# - --ssl-ca=/run/secrets/root-ca.pem
# - --ssl-cert=/run/secrets/server-cert.pem
# - --ssl-key=/run/secrets/server-key.pem
volumes:
- ./zbx_env/var/lib/mysql:/var/lib/mysql:rw
env_file:
Expand All @@ -375,6 +401,9 @@ services:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
- mysql-server-key.pem
- mysql-server-cert.pem
- mysql-ca.pem
stop_grace_period: 1m
networks:
zbx_net_backend:
Expand Down Expand Up @@ -424,3 +453,13 @@ secrets:
file: ./.MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD:
file: ./.MYSQL_ROOT_PASSWORD
# client-key.pem:
# file: ./.ZBX_DB_KEY_FILE
# client-cert.pem:
# file: ./.ZBX_DB_CERT_FILE
# root-ca.pem:
# file: ./.ZBX_DB_CA_FILE
# server-cert.pem:
# file: ./.DB_CERT_FILE
# server-key.pem:
# file: ./.DB_KEY_FILE
41 changes: 40 additions & 1 deletion docker-compose_v3_alpine_mysql_local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ services:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-java-gateway
Expand Down Expand Up @@ -164,6 +167,13 @@ services:
- mysql-server
- zabbix-java-gateway
- zabbix-snmptraps
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
networks:
zbx_net_backend:
aliases:
Expand Down Expand Up @@ -195,6 +205,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
deploy:
resources:
limits:
Expand All @@ -209,6 +220,9 @@ services:
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-server
Expand Down Expand Up @@ -252,6 +266,7 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
deploy:
resources:
limits:
Expand All @@ -266,6 +281,9 @@ services:
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
# - client-key.pem
# - client-cert.pem
# - root-ca.pem
depends_on:
- mysql-server
- zabbix-server
Expand Down Expand Up @@ -398,7 +416,15 @@ services:

mysql-server:
image: mysql:8.0
command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin, --default-authentication-plugin=mysql_native_password]
command:
- mysqld
- --character-set-server=utf8
- --collation-server=utf8_bin
- --default-authentication-plugin=mysql_native_password
# - --require-secure-transport
# - --ssl-ca=/run/secrets/root-ca.pem
# - --ssl-cert=/run/secrets/server-cert.pem
# - --ssl-key=/run/secrets/server-key.pem
volumes:
- ./zbx_env/var/lib/mysql:/var/lib/mysql:rw
env_file:
Expand All @@ -407,6 +433,9 @@ services:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
- mysql-server-key.pem
- mysql-server-cert.pem
- mysql-ca.pem
stop_grace_period: 1m
networks:
zbx_net_backend:
Expand Down Expand Up @@ -456,3 +485,13 @@ secrets:
file: ./.MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD:
file: ./.MYSQL_ROOT_PASSWORD
# client-key.pem:
# file: ./.ZBX_DB_KEY_FILE
# client-cert.pem:
# file: ./.ZBX_DB_CERT_FILE
# root-ca.pem:
# file: ./.ZBX_DB_CA_FILE
# server-cert.pem:
# file: ./.DB_CERT_FILE
# server-key.pem:
# file: ./.DB_KEY_FILE
15 changes: 15 additions & 0 deletions docker-compose_v3_alpine_pgsql_latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ services:
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
links:
- postgres-server:postgres-server
- zabbix-java-gateway:zabbix-java-gateway
Expand Down Expand Up @@ -182,6 +185,10 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
Expand Down Expand Up @@ -235,6 +242,10 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
Expand Down Expand Up @@ -388,8 +399,12 @@ services:

postgres-server:
image: postgres:latest
# command: -c ssl=on -c ssl_cert_file=/run/secrets/server-cert.pem -c ssl_key_file=/run/secrets/server-key.pem -c ssl_ca_file=/run/secrets/root-ca.pem
volumes:
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
- ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
- ./.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro
- ./.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro
env_file:
- .env_db_pgsql
secrets:
Expand Down
16 changes: 15 additions & 1 deletion docker-compose_v3_alpine_pgsql_local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ services:
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
links:
- postgres-server:postgres-server
- zabbix-java-gateway:zabbix-java-gateway
Expand Down Expand Up @@ -182,7 +185,6 @@ services:
com.zabbix.dbtype: "mysql"
com.zabbix.os: "alpine"


zabbix-web-apache-pgsql:
build:
context: ./web-apache-pgsql/alpine
Expand All @@ -199,6 +201,10 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
Expand Down Expand Up @@ -256,6 +262,10 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
# - ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
# - ./.ZBX_DB_CERT_FILE:/run/secrets/client-cert.pem:ro
# - ./.ZBX_DB_KEY_FILE:/run/secrets/client-key.pem:ro
deploy:
resources:
limits:
Expand Down Expand Up @@ -421,8 +431,12 @@ services:

postgres-server:
image: postgres:latest
# command: -c ssl=on -c ssl_cert_file=/run/secrets/server-cert.pem -c ssl_key_file=/run/secrets/server-key.pem -c ssl_ca_file=/run/secrets/root-ca.pem
volumes:
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
- ./.ZBX_DB_CA_FILE:/run/secrets/root-ca.pem:ro
- ./.ZBX_DB_CERT_FILE:/run/secrets/server-cert.pem:ro
- ./.ZBX_DB_KEY_FILE:/run/secrets/server-key.pem:ro
env_file:
- .env_db_pgsql
secrets:
Expand Down
Loading

0 comments on commit 3f1cd26

Please sign in to comment.