[comment]: # translation:outdated

[comment]: # ({b5ee9cfc-7ef4b2b9})
# 2 Migliori pratiche per la configurazione sicura di Zabbix

[comment]: # ({/b5ee9cfc-7ef4b2b9})

[comment]: # ({0bf6833f-b9719f19})
### Panoramica

Questa sezione contiene le migliori pratiche che dovrebbero essere osservate per
configurare Zabbix in modo sicuro.

Le pratiche qui contenute non sono necessarie per il funzionamento di
Zabbix. Sono raccomandati per una migliore sicurezza del sistema.

[comment]: # ({/0bf6833f-b9719f19})

[comment]: # ({4fc29cb0-cebf8306})
### Controllo di accesso

[comment]: # ({/4fc29cb0-cebf8306})

[comment]: # ({436578eb-dc572a02})
#### Principio del privilegio minimo

Il principio del privilegio minimo dovrebbe essere sempre utilizzato per Zabbix.
Questo principio significa che l'account utente (nel frontend di Zabbix) o il processo
utente (per server/proxy o agente Zabbix) dispone solo di quei privilegi che
sono essenziali per svolgere le funzioni previste. In altre parole, gli account 
utente dovrebbero sempre essere eseguiti con il minor numero di privilegi possibile.

::: nota importante
Dare autorizzazioni extra all'utente "zabbix" lo farà
consentirgli di accedere ai file di configurazione ed eseguire operazioni che possono
compromettere la sicurezza complessiva dell'infrastruttura.
:::

Quando si implementa il principio del privilegio minimo per gli account utente,
Zabbix [utente frontend
types](/manual/config/users_and_usergroups/permissions).
in considerazione. È importante capire che mentre un utente "Admin".
type ha meno privilegi rispetto al tipo di utente "Super Admin", ha
autorizzazioni amministrative che consentono di gestire la configurazione e l'esecuzione
script personalizzati.

::: notaclassico
Alcune informazioni sono disponibili anche per gli utenti non privilegiati.
Ad esempio, mentre *Amministrazione* → *Script* non è disponibile per
non Super Admin, gli script stessi possono essere recuperati da
utilizzando l'API di Zabbix. Limitare le autorizzazioni di script e non aggiungere informazioni
sensibili (come credenziali di accesso, ecc.) dovrebbero essere utilizzate per evitare
esposizione di informazioni sensibili disponibili negli script globali.
:::

[comment]: # ({/436578eb-dc572a02})

[comment]: # ({1631be73-1631be73})
#### Utente sicuro per l'agente Zabbix

Nella configurazione predefinita, i processi del server Zabbix e dell'agente Zabbix
condividono un utente 'zabbix'. Se desideri assicurarti che l'agente non possa 
accedere a dettagli sensibili nella configurazione del server (ad es. login al database
informazioni), l'agente deve essere eseguito come un altro utente:

1. Crea un utente sicuro
2. Specificare questo utente nell'agente [configuration
    file](/manual/appendice/config/zabbix_agentd) (parametro 'Utente')
3. Riavviare l'agente con privilegi di amministratore. I privilegi saranno
    rilasciato all'utente specificato.

[comment]: # ({/1631be73-1631be73})

[comment]: # ({2529a034-c02c850f})
#### Revoca l'accesso in scrittura al file di configurazione SSL in Windows

L'agente Windows Zabbix compilato con OpenSSL proverà a raggiungere il
file di configurazione SSL in c:\\openssl-64bit. La directory "openssl-64bit".
su disco C: può essere creato da utenti non privilegiati.

Quindi, per rafforzare la sicurezza, è necessario creare questa directory
manualmente e revocare l'accesso in scrittura agli utenti non amministratori.

Tieni presente che i nomi delle directory saranno diversi su 32 bit e
Versioni a 64 bit di Windows.

[comment]: # ({/2529a034-c02c850f})

[comment]: # ({5dd6aee8-6cfe5a3b})
### Crittografia

[comment]: # ({/5dd6aee8-6cfe5a3b})

[comment]: # ({d6fecf02-f8f5054e})
#### Configurazione di SSL per il frontend di Zabbix

Su RHEL, installa il pacchetto mod\_ssl:

    yum installa mod_ssl

Crea directory per le chiavi SSL:

    mkdir -p /etc/httpd/ssl/private
    chmod 700 /etc/httpd/ssl/private

Crea certificato SSL:

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/private/apache-selfsigned.key -out /etc/httpd/ssl/apache-selfsigned.crt

Compila le richieste in modo appropriato. La linea più importante è quella
che richiede il nome comune. Devi inserire il nome di dominio che
vuoi che sia associato al tuo server. Puoi inserire l'IP pubblico
indirizzo invece se non si dispone di un nome di dominio. Noi useremo
*example.com* in questo articolo.

    Nome Paese (codice di 2 lettere) [XX]:
    Nome dello stato o della provincia (nome completo) []:
    Nome località (es. città) [Città predefinita]:
    Nome organizzazione (ad es. azienda) [Default Company Ltd]:
    Nome unità organizzativa (ad es. sezione) []:
    Nome comune (ad esempio, il tuo nome o il nome host del tuo server) []:example.com
    Indirizzo e-mail []:

Modifica configurazione SSL Apache:

    /etc/httpd/conf.d/ssl.conf

    DocumentRoot "/usr/share/zabbix"
    ServerName example.com:443
    SSLCertificateFile /etc/httpd/ssl/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/httpd/ssl/private/apache-selfsigned.key

Riavvia il servizio Apache per applicare le modifiche:

    systemctl riavvia httpd.service

[comment]: # ({/d6fecf02-f8f5054e})

[comment]: # ({bfaa999a-40cfdec2})
### Rafforzamento del server web

[comment]: # ({/bfaa999a-40cfdec2})

[comment]: # ({bb3706f4-bb3706f4})
#### Abilitazione di Zabbix nella directory principale dell'URL

Aggiungi un host virtuale alla configurazione di Apache e imposta il reindirizzamento permanente
per la root del documento all'URL SSL di Zabbix. Non dimenticare di sostituire
*example.com* con il nome effettivo del server.

    /etc/httpd/conf/httpd.conf

    #Aggiungi linee

    <VirtualHost *:*>
        ServerName example.com
        Reindirizzamento permanente / https://example.com
    </VirtualHost>

Riavvia il servizio Apache per applicare le modifiche:

    systemctl riavvia httpd.service

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

[comment]: # ({c7ee0bb2-c7ee0bb2})
#### Abilitazione di HTTP Strict Transport Security (HSTS) sul server web

Per proteggere il frontend di Zabbix dagli attacchi di downgrade del protocollo, noi
consiglio di abilitare
[HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security)
politica sul server web.

Ad esempio, per abilitare la politica HSTS per il tuo frontend Zabbix nella  configurazione 
Apache:

    /etc/httpd/conf/httpd.conf

aggiungi la seguente direttiva alla configurazione del tuo host virtuale:

    <host virtuale *:443>
       Set di intestazione Strict-Transport-Security "max-age=31536000"
    </VirtualHost>

Riavvia il servizio Apache per applicare le modifiche:

    systemctl riavvia httpd.service

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

[comment]: # ({new-0aad5c50})
#### Enabling Content Security Policy (CSP) on the web server

To protect Zabbix frontend against Cross Site Scripting (XSS), data injection, and similar attacks, we recommend enabling Content Security Policy on the web server.
To do so, configure the web server to return the [HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy).

::: noteimportant
The following CSP header configuration is only for the default Zabbix frontend installation and for cases when all content originates from the site's domain (excluding subdomains).
A different CSP header configuration may be required if you are, for example, configuring the [*URL*](/manual/web_interface/frontend_sections/dashboards/widgets/url) widget to display content from the site's subdomains or external domains, switching from *OpenStreetMap* to another map engine, or adding external CSS or widgets.
:::

To enable CSP for your Zabbix frontend in Apache configuration, follow these steps:

1\. Locate your virtual host's configuration file:

-   `/etc/httpd/conf/httpd.conf` on RHEL-based systems
-   `/etc/apache2/sites-available/000-default.conf` on Debian/Ubuntu

2\. Add the following directive to your virtual host's configuration file:

```ini
<VirtualHost *:*>
    Header set Content-Security-Policy: "default-src 'self' *.openstreetmap.org; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: *.openstreetmap.org; style-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self';"
</VirtualHost>
```

3\. Restart the Apache service to apply the changes:

```bash
# On RHEL-based systems:
systemctl restart httpd.service

# On Debian/Ubuntu
systemctl restart apache2.service
```

[comment]: # ({/new-0aad5c50})

[comment]: # ({cd09dcd1-cd09dcd1})
#### Disattivazione dell'esposizione delle informazioni del server web

Si consiglia di disabilitare tutte le firme del server Web come parte del 
processo di rafforzamento del server web. Il server Web sta esponendo il software
firma per impostazione predefinita:

![](../../../../assets/en/manual/installation/requirements/software_signature.png)

La firma può essere disabilitata aggiungendo due righe al file Apache (usato come
un esempio) file di configurazione:

    Firma del server disattivata
    ServerToken prod

La firma PHP (intestazione HTTP X-Powered-By) può essere disabilitata modificando il file
File di configurazione php.ini (la firma è disabilitata per impostazione predefinita):

    esporre_php = Disattivato

Il riavvio del server Web è necessario per le modifiche al file di configurazione
applicato.

È possibile ottenere un livello di sicurezza aggiuntivo utilizzando il file mod\_security
(pacchetto libapache2-mod-security2) con Apache. mod\_security consente di
rimuovere la firma del server invece di rimuovere solo la versione dal server
firma. La firma può essere modificata in qualsiasi valore cambiando
"SecServerSignature" su qualsiasi valore desiderato dopo l'installazione
mod\_security.

Si prega di fare riferimento alla documentazione del proprio server web per trovare aiuto su come farlo
rimuovere/modificare le firme del software.

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

[comment]: # ({720052da-720052da})
#### Disabilitazione delle pagine di errore del server Web predefinito

Si consiglia di disabilitare le pagine di errore predefinite per evitare informazioni
esposizione. Il server Web utilizza le pagine di errore integrate per impostazione predefinita:

![](../../../../assets/en/manual/installation/requirements/error_page_text.png)

Le pagine di errore predefinite devono essere sostituite/rimosse come parte del processo di 
indurimento del server web. La direttiva "ErrorDocument" può essere utilizzata per definire la
pagina/testo di errore personalizzato per il server Web Apache (utilizzato come esempio).

Si prega di fare riferimento alla documentazione del proprio server web per trovare aiuto su come farlo
sostituire/rimuovere le pagine di errore predefinite.

[comment]: # ({/720052da-720052da})

[comment]: # ({ba1547c0-ba1547c0})
#### Rimozione della pagina di test del server web

Si consiglia di rimuovere la pagina di test del server web per evitare
esposizione delle informazioni. Per impostazione predefinita, la webroot del server web contiene un test
pagina chiamata index.html (Apache2 su Ubuntu è usato come esempio):

![](../../../../assets/en/manual/installation/requirements/test_page.png)

La pagina di test deve essere rimossa o resa non disponibile come parte di
il processo di rafforzamento del server web.

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

[comment]: # ({8b62d281-7e4e4a45})
#### Imposta l'intestazione della risposta HTTP X-Frame-Options

Per impostazione predefinita, Zabbix è configurato con la risposta HTTP *X-Frame-Options
header* impostato su `SAMEORIGIN`, il che significa che il contenuto può essere caricato solo in
un frame che ha la stessa origine della pagina stessa.

Elementi frontend di Zabbix che estraggono contenuti da URL esterni (vale a dire,
l'URL [dashboard
widget](/manual/web_interface/frontend_sections/monitoring/dashboard/widgets#url))
visualizzare il contenuto recuperato in una sandbox con tutte le restrizioni di sandboxing
abilitato.

Queste impostazioni migliorano la sicurezza del frontend Zabbix e forniscono
protezione contro attacchi XSS e clickjacking. I super amministratori possono
[modifica](/manual/web_interface/frontend_sections/administration/general#security)
*iframe sandboxing* e *intestazione di risposta HTTP X-Frame-Options*
parametri secondo necessità. Si prega di valutare attentamente i rischi e i benefici
prima di modificare le impostazioni predefinite. Girando sandboxing o X-Frame-Options
spento completamente non è raccomandato.

[comment]: # ({/8b62d281-7e4e4a45})

[comment]: # ({df158fff-3f76ae70})
#### Nascondere il file con l'elenco delle password comuni

Per aumentare la complessità degli attacchi di forza bruta della password,  è
suggerito di limitare l'accesso al file `ui/data/top_passwords.txt` di
modifica della configurazione del server web. Questo file contiene un elenco di
password più comuni e specifiche del contesto e viene utilizzato per impedire agli utenti
dall'impostazione di tali password se il parametro *Evita password facili da indovinare*
è abilitato in [password
policy](/manual/web_interface/frontend_sections/administration/authentication#internal_authentication).

Ad esempio, su NGINX l'accesso ai file può essere limitato utilizzando la "posizione".
direttiva:

    posizione = /data/top_passwords.txt {​​​​​​​
        negare tutto;
        ritorno 404;
    }​​​​​​​

Su Apache - utilizzando il file `.htacess`:

    <File "top_passwords.txt">
      Ordine Consenti, Nega
      Rifiutato da tutti
    </File>

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

[comment]: # ({b57e9136-40e70f9e})
### Codifica UTF-8

UTF-8 è l'unica codifica supportata da Zabbix. È nota per funzionare
senza difetti di sicurezza. Gli utenti dovrebbero essere consapevoli che ci sono noti
problemi di sicurezza se si utilizzano alcune delle altre codifiche.

[comment]: # ({/b57e9136-40e70f9e})

[comment]: # ({55965c98-62eeb2ec})
### Percorsi del programma di installazione di Windows
Quando si utilizzano i programmi di installazione di Windows, si consiglia di utilizzare i percorsi predefiniti forniti dal programma di installazione poiché l'utilizzo di percorsi personalizzati senza le autorizzazioni adeguate potrebbe compromettere la sicurezza dell'installazione.

[comment]: # ({/55965c98-62eeb2ec})

[comment]: # ({7c192639-ba0d4036})

### Avvisi di sicurezza Zabbix e database CVE

Vedere [Zabbix Security Advisories e database CVE](https://www.zabbix.com/security_advisories).

[comment]: # ({/7c192639-ba0d4036})
