[comment]: # ({ebfc3dbc-ebfc3dbc})
# 2 Configuració de xifrat PostgreSQL
[comentari]: # (etiquetes: ssl)

[comment]: # ({/ebfc3dbc-ebfc3dbc})

[comment]: # ({63be0cfa-63be0cfa})
### Vista general

Aquesta secció mostra alguns exemples de configuració del xifrat per a CentOS 8.2 i PostgreSQL 13.

::: noteclassic
 La connexió entre la interfície Zabbix i PostgreSQL no pot ésser xifrada (els paràmetres de la interfície gràfica són desactivats), si el valor del camp *Equip de la base de dades* comença amb una barra obliqua o si el camp és buit.
:::

[comment]: # ({/63be0cfa-63be0cfa})

[comment]: # ({5bd8b8ac-47df7706})
### Pre-requisits

Instal·leu la base de dades PostgreSQL en base a la [referència oficial](https://www.postgresql.org/download/linux/redhat/).

PostgreSQL no és pas confiurada per defecte per admetre connexions TLS. Haureu de seguir les instruccions de la documentació PostgreSQL per [preparar el certificat amb postgresql.conf](https://www.postgresql.org/docs/13/ssl-tcp.html), així com per [el control d'accés d'usuari](https://www.postgresql.org/docs/13/auth-pg-hba-conf.html) via ph\_hba.conf.

Per defecte, el socket PostgreSQL és vinculat a l'equip local, doncs les connexions de xarxa a distància permeten escoltar per la interfície de xarxa real.

Els paràmetres PostgreSQL per tots els [modes](/manual/appendix/install/db_encrypt#terminology) es troben aquí:

**/var/lib/pgsql/13/data/postgresql.conf :**

    ...
    ssl = on
    ssl_ca_file = 'root.crt'
    ssl_cert_file = 'server.crt'
    ssl_key_file = 'server.key'
    ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
    ssl_prefer_server_ciphers = on
    ssl_min_protocol_version = 'TLSv1.3'
    ...

Per al control d'accés, refineu */var/lib/pgsql/13/data/pg\_hba.conf* :

     ...
    ### require
    hostssl all all 0.0.0.0/0 md5

    ### verify CA
    hostssl all all 0.0.0.0/0 md5 clientcert=verify-ca

    ### verify full
    hostssl all all 0.0.0.0/0 md5 clientcert=verify-full
    ...

[comment]: # ({/5bd8b8ac-47df7706})

[comment]: # ({7b44fd81-fda36821})
### Xifrat de només transport

[comment]: # ({/7b44fd81-fda36821})

[comment]: # ({3c0e876a-3c0e876a})
#### Frontend

Per activar el xifrat de transport només per les connexions entre la interfície Zabbix i la base de dades:

- Marqueu *Xifrat TLS de la base de dades*
- Deixeu *Verificar el certificat de la base de dades* desmarcat

![](../../../../../assets/en/manual/appendix/install/encrypt_db_transport2.png){width="600"}

[comment]: # ({/3c0e876a-3c0e876a})

[comment]: # ({99c0e65b-99c0e65b})
#### Servidor

Per activar el xifrat de transport només per les connexions entre el servidor i la base de dades, configureu */etc/zabbix/zabbix\_server.conf* :

    ...
    DBHost=10.211.55.9
    DBName=zabbix
    DBUser=zbx_srv
    DBPassword=<strong_password>
    DBTLSConnect=required
    ...

[comment]: # ({/99c0e65b-99c0e65b})

[comment]: # ({68301bc1-ef3e06b2})
### Xifrat amb verificació de l'autoritat de certificació

[comment]: # ({/68301bc1-ef3e06b2})

[comment]: # ({ebbac498-e8c8dbd8})
#### Frontend

Per activar el xifrat amb verificació de l'autoritat de certificació per les connexions entre la interfície Zabbix i la base de dades:

-  Marqueu *xifrat TLS de la base de dades* i *Verifiqueu el certificat de la base de dades*
-  Especifiqueu la ruta d'accés a l'*arxiu TLS CA de la base de dades*

![](../../../../../assets/en/manual/appendix/install/encrypt_db_verify_ca2.png){width="600"}

Alternativament, es pot definir a */etc/zabbix/web/zabbix.conf.php :*

    ...
    $DB['ENCRYPTION'] = true;
    $DB['KEY_FILE'] = '';
    $DB['CERT_FILE'] = '';
    $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
    $DB['VERIFY_HOST'] = false;
    $DB['CIPHER_LIST'] = '';
    ...

[comment]: # ({/ebbac498-e8c8dbd8})

[comment]: # ({bbddedec-bbddedec})
#### Servidor

Per activar el xifrat amb verificació de certificat per les connexions entre el servidor Zabbix i la base de dades, configureu */etc/zabbix/zabbix\_server.conf :*

    ...
    DBHost=10.211.55.9
    DBName=zabbix
    DBUser=zbx_srv
    DBPassword=<strong_password>
    DBTLSConnect=verify_ca
    DBTLSCAFile=/etc/ssl/pgsql/root.crt
    ...

[comment]: # ({/bbddedec-bbddedec})

[comment]: # ({edf12bed-ef07b8a6})
### Xifrat amb verificació completa

[comment]: # ({/edf12bed-ef07b8a6})

[comment]: # ({83615cf7-83615cf7})
#### Frontend

Per activar el xifrat amb certificat i verificació per les connexions entre la interfície Zabbix i la base de dades:

-  Marqueu *xifrat TLS de la base de dades* i *Verifiqueu el certificat de la base de dades*
- Especifiqueu la ruta d'accés a l'*arxiu de clau TLS de la base de dades*
- Especifiqueu la ruta d'accés a l'*arxiu CA TLS de la base de dades*
- Especifiqueu la ruta d'accés a l'*arxiu de certificat TLS de la base de dades*
- Marqueu *Verificació de l'equip de la base de dades*

![](../../../../../assets/en/manual/appendix/install/encrypt_db_verify_full2.png){width="600"}

Alternativament, es pot definir a */etc/zabbix/web/zabbix.conf.php :*

    $DB['ENCRYPTION'] = true;
    $DB['KEY_FILE'] = '';
    $DB['CERT_FILE'] = '';
    $DB['CA_FILE'] = '/etc/ssl/pgsql/root.crt';
    $DB['VERIFY_HOST'] = true;
    $DB['CIPHER_LIST'] = '';
    ...

[comment]: # ({/83615cf7-83615cf7})

[comment]: # ({61b8c8f3-61b8c8f3})
#### Servidor

Per activar el xifrat amb certificat i verificació de la identitat de l'equip de la base de dades per les connexions entre el servidor Zabbix i la base de dades, configureu */etc/zabbix/zabbix\_server.conf* :

    ...
    DBHost=10.211.55.9
    DBName=zabbix
    DBUser=zbx_srv
    DBPassword=<strong_password>
    DBTLSConnect=verify_full
    DBTLSCAFile=/etc/ssl/pgsql/root.crt
    DBTLSCertFile=/etc/ssl/pgsql/client.crt
    DBTLSKeyFile=/etc/ssl/pgsql/client.key
    ...

[comment]: # ({/61b8c8f3-61b8c8f3})
