[comment]: # ({c16c09cf-cebf8306})
# 1 Controllo degli accessi

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

[comment]: # ({88806b0c-c4f0ac9a})
#### Panoramica

Questa sezione contiene le best practices per impostare il controllo degli accessi in modo sicuro.

[comment]: # ({/88806b0c-c4f0ac9a})

[comment]: # ({2acc8f22-dc572a02})
#### Principio dei privilegi minimi

Gli account utente dovrebbero sempre essere eseguiti con il minor numero possibile di privilegi.
Ciò significa che gli account utente nel frontend di Zabbix, gli utenti del database o l'utente per i processi server/proxy/agente Zabbix dovrebbero avere solo i privilegi essenziali per l'esecuzione delle funzioni previste.

::: noteimportant
Concedere privilegi aggiuntivi all'utente 'zabbix' gli consentirà di accedere ai file di configurazione ed eseguire operazioni che possono compromettere la sicurezza dell'infrastruttura.
:::

Quando si configurano i privilegi degli account utente, è necessario considerare i [tipi di utente frontend](/manual/config/users_and_usergroups/permissions) di Zabbix.
Si noti che, sebbene il tipo di utente *Admin* abbia meno privilegi del tipo di utente *Super Admin*, può comunque gestire la configurazione ed eseguire script personalizzati.

::: noteclassic
Alcune informazioni sono disponibili anche per gli utenti senza privilegi.
Ad esempio, mentre *Avvisi* → *Script* è disponibile solo per gli utenti *Super Admin*, gli script possono essere recuperati anche tramite l'API Zabbix.
In questo caso, limitare i permessi degli script ed escludere informazioni sensibili dagli script (ad esempio, le credenziali di accesso) può aiutare a evitare di esporre informazioni sensibili disponibili negli script globali.
:::

[comment]: # ({/2acc8f22-dc572a02})

[comment]: # ({883c2138-1631be73})
#### Utente sicuro per Zabbix agent

Per impostazione predefinita, i processi di Zabbix server, proxy e agent (o agent 2) condividono un unico utente `zabbix`.
Per impedire che Zabbix agent/agent 2 (in esecuzione sulla stessa macchina di server/proxy) acceda a dettagli sensibili nella configurazione di server/proxy (ad esempio, le credenziali del database), l'agent dovrebbe essere eseguito con un utente diverso:

Per Zabbix agent:

1. Creare un [gruppo e utente](/manual/installation/install#create-user-account) sicuri (ad esempio, `zabbix-agent`).
2. Impostare questo utente nel parametro [User](/manual/appendix/config/zabbix_agentd#user) del file di configurazione dell'agent.
3. [Riavviare l'agent](/manual/concepts/agent#if-installed-as-package) per ridurre i privilegi al nuovo utente.

Per Zabbix agent 2, la configurazione deve essere applicata a livello di [service](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html), perché il [file di configurazione di agent 2](/manual/appendix/config/zabbix_agent2) non supporta il parametro `User`.
Per un esempio, vedere [ZBX-26442](https://support.zabbix.com/browse/ZBX-26442).

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

[comment]: # ({582edb84-c02c850f})
#### Revocare l'accesso in scrittura alla configurazione SSL (Windows)

Se hai compilato Zabbix agent su Windows con OpenSSL situato in una directory non protetta (ad esempio `C:\zabbix`, `c:\openssl-64bit`, `C:\OpenSSL-Win64-111-static` o `C:\dev\openssl`), assicurati di revocare l'accesso in scrittura a questa directory per gli utenti non amministratori.
In caso contrario, l'agent caricherà le impostazioni SSL da un percorso che può essere modificato da utenti senza privilegi, con conseguente potenziale vulnerabilità di sicurezza.

[comment]: # ({/582edb84-c02c850f})

[comment]: # ({a28aff05-0f084225})
#### Rafforzamento della sicurezza dei componenti Zabbix

Alcune funzionalità possono essere disattivate per rafforzare la sicurezza dei componenti Zabbix:

- l'esecuzione di script globali sul server Zabbix può essere disabilitata impostando EnableGlobalScripts=0 nella configurazione del server;
- l'esecuzione di script globali sul proxy Zabbix è disabilitata per impostazione predefinita (può essere abilitata impostando EnableRemoteCommands=1 nella configurazione del proxy);
- l'esecuzione di script globali su Zabbix agent è disabilitata per impostazione predefinita (può essere abilitata aggiungendo un parametro AllowKey=system.run[<command>,\*]  per ogni comando consentito nella configurazione dell'agente);
- l'autenticazione HTTP dell'utente può essere disabilitata impostando `$ALLOW_HTTP_AUTH=false` nel file di configurazione del frontend (zabbix.conf.php). Si noti che la reinstallazione del frontend (eseguendo setup.php) rimuoverà questo parametro.

[comment]: # ({/a28aff05-0f084225})

[comment]: # ({11a9a375-95fd0cfc})
#### Accesso ai percorsi UNC su Windows da parte di Zabbix agent

Gli agent Zabbix su Windows seguono i percorsi UNC (condivisioni SMB come `\\server\share\file.txt`) negli item come `vfs.file.*`, `vfs.dir.*`, `modbus.get` e `perf_counter*`. In alcuni contesti questo può rappresentare un rischio per la sicurezza.

Quando a Windows viene richiesto di accedere a un percorso UNC, tenta di autenticarsi su quel server. Ciò significa che una richiesta malevola a Zabbix agent può esporre l'hash NTLM al server del richiedente. Se necessario, gli utenti possono mitigare questo rischio con i parametri di configurazione [AllowKey](/manual/appendix/config/zabbix_agentd_win#allowkey) e [DenyKey](/manual/appendix/config/zabbix_agentd_win#denykey).

[comment]: # ({/11a9a375-95fd0cfc})
