1 Controllo degli accessi

Panoramica

Questa sezione contiene le best practice per configurare il controllo degli accessi in modo sicuro.

Principio del privilegio minimo

Gli account utente, in ogni momento, dovrebbero operare 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 di Zabbix server/proxy/agent dovrebbero avere solo i privilegi essenziali per svolgere le funzioni previste.

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 del frontend 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.

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

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 a Zabbix agent/agent 2 (in esecuzione sulla stessa macchina di server/proxy) di accedere 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 sicuri (ad esempio, zabbix-agent).
  2. Impostare questo utente nel parametro User del file di configurazione dell'agent.
  3. Riavviare l'agent per ridurre i privilegi al nuovo utente.

Per Zabbix agent 2, la configurazione deve essere applicata a livello di service, perché il file di configurazione di agent 2 non supporta il parametro User. Per un esempio, vedere ZBX-26442.

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 carica le impostazioni SSL da un percorso che può essere modificato da utenti non privilegiati, con conseguente potenziale vulnerabilità di sicurezza.

Rafforzamento della sicurezza dei componenti di Zabbix

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

  • L'esecuzione globale degli script su Zabbix server può essere disabilitata impostando EnableGlobalScripts=0 nella configurazione del server.
  • L'esecuzione globale degli script su Zabbix proxy è disabilitata per impostazione predefinita (può essere abilitata impostando EnableRemoteCommands=1 nella configurazione del proxy).
  • L'esecuzione globale degli script sugli agent di Zabbix è disabilitata per impostazione predefinita (può essere abilitata aggiungendo un parametro AllowKey=system.run[<command>,*] per ogni comando consentito nella configurazione dell'agent).
  • 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.

Accesso ai percorsi UNC su Windows da parte di Zabbix agent

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

Quando 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. Gli utenti possono attenuare questo rischio, se necessario, con i parametri di configurazione AllowKey e DenyKey.