3 Autenticazione

Panoramica

La sezione Amministrazione → Autenticazione permette di specificare il metodo di autenticazione utente globale su Zabbix e password interna requisiti. I metodi disponibili sono interni, HTTP, LDAP e SAML autenticazione.

Autenticazione predefinita

Per impostazione predefinita, Zabbix utilizza l'autenticazione Zabbix interna per tutti gli utenti. È possibile modificare il metodo predefinito in LDAP a livello di sistema o abilitare l'autenticazione LDAP solo per gruppi di utenti specifici.

Per impostare LDAP come metodo di autenticazione predefinito per tutti gli utenti, vai nella scheda LDAP e configurare i parametri di autenticazione, quindi tornare alla scheda Autenticazione e imposta il selettore Autenticazione predefinita su LDAP.

Si noti che il metodo di autenticazione può essere messo a punto su user group. Anche se L'autenticazione LDAP è impostata a livello globale, alcuni gruppi di utenti possono ancora essere autenticato da Zabbix. Questi gruppi devono avere frontend access impostato a Interno. Viceversa, se l'autenticazione interna viene utilizzata a livello globale, I dettagli di autenticazione LDAP possono essere specificati e utilizzati per un utente specifici gruppi di utenti cui frontend access è impostato su LDAP. Se un utente è incluso in almeno un gruppo di utenti con Autenticazione LDAP, questo utente non sarà in grado di utilizzare internal Metodo di autenticazione.

HTTP e SAML 2.0 metodi di autenticazione possono essere utilizzati in aggiunta a quello predefinito Metodo di autenticazione.

Autenticazione interna

La scheda Autenticazione consente di definire la complessità della password richiesa per gli utenti interni di Zabbix.

È possibile configurare le seguenti opzioni dei criteri password:

Parametro Descrizione
Lunghezza minima della password Per impostazione predefinita, la lunghezza minima della password è impostata su 8. Intervallo supportato: 1-70. Si noti che le password più lunghe di 72 caratteri verranno troncate.
La password deve contenere Segna una o più caselle di controllo per richiedere l'utilizzo dei caratteri specificati in una password:
-una lettera latina maiuscola e una minuscola
-una cifra
-un carattere speciale
< br>Passa il mouse sopra il punto interrogativo per visualizzare un suggerimento con l'elenco dei caratteri per ciascuna opzione.
Evita password facili da indovinare Se contrassegnata, una password verrà verificata in base ai seguenti requisiti:
- non deve contenere il nome, il cognome o il nome utente dell'utente
- non deve essere uno dei comuni o password specifiche del contesto.

L'elenco delle password comuni e specifiche del contesto viene generato automaticamente dall'elenco delle "Top 100k password NCSC", dall'elenco delle SecList "Top 1M password" e dall'elenco delle password contestuali di Zabbix password specifiche. Agli utenti interni non sarà consentito impostare le password incluse in questo elenco in quanto tali password sono considerate deboli a causa del loro uso comune.

Le modifiche ai requisiti di complessità della password non influiranno sull'esistente password utente, ma se un utente esistente sceglie di modificare una password, la nuova password dovrà soddisfare i requisiti attuali. Un suggerimento con il l'elenco dei requisiti verrà visualizzato accanto al campo Password in il profilo utente e nel user modulo di configurazione accessibile dal menu Amministrazione→Utenti.

Autenticazione HTTP

Autenticazione HTTP o basata su server Web (ad esempio: Basic Autentication, NTLM/Kerberos) possono essere utilizzati per controllare i nomi utente e Le password. Nota che un utente deve esistere anche in Zabbix, comunque sia La password di Zabbix non verrà utilizzata.

Stai attento! Assicurati che il server web l'autenticazione è configurata e funziona correttamente prima di cambiarla Su.

Parametri di configurazione:

Parametro Descrizione
Abilita autenticazione HTTP Segna la casella di controllo per abilitare l'autenticazione HTTP.
Modulo di accesso predefinito Specifica se indirizzare gli utenti non autenticati a:
Modulo di accesso Zabbix - pagina di accesso Zabbix standard.
Modulo di accesso HTTP - Pagina di accesso HTTP.<br >Si consiglia di abilitare l'autenticazione basata su server web solo per la pagina index_http.php. Se Modulo di accesso predefinito è impostato su "Pagina di accesso HTTP", l'utente accederà automaticamente se il modulo di autenticazione del server Web imposterà un accesso utente valido nella variabile $_SERVER.
Le chiavi $_SERVER supportate sono PHP_AUTH_USER, REMOTE_USER, AUTH_USER.
Rimuovi nome di dominio Un elenco delimitato da virgole di nomi di dominio che devono essere rimossi dal nome utente.
Es. comp,any - se il nome utente è 'Admin@any', 'comp\Admin', l'utente accederà come 'Admin'; se il nome utente è 'notacompany\Admin', l'accesso verrà negato.
Accesso con distinzione tra maiuscole e minuscole Deseleziona la casella di controllo per disabilitare l'accesso con distinzione tra maiuscole e minuscole (abilitato per impostazione predefinita) per i nomi utente.
Es. disabilita l'accesso con distinzione tra maiuscole e minuscole e accedi con, ad esempio, l'utente 'ADMIN' anche se l'utente Zabbix è 'Admin'.
Nota che con l'accesso con distinzione tra maiuscole e minuscole disabilitato l'accesso verrà negato se sono presenti più utenti Database Zabbix con nomi utente simili (ad es. Admin, admin).

In caso di autenticazione da web server tutti gli utenti (anche con fine frontale access impostato a LDAP/Internal) verrà autenticato dal server web, non da Zabbix!

Per gli utenti interni che non sono in grado di accedere tramite HTTP credenziali (con il modulo di accesso HTTP impostato come predefinito) che portano al codice 401 errore, potresti voler aggiungere un ErrorDocument 401 /index.php?form=default line alle direttive di autenticazione di base, che reindirizzeranno al file regolare modulo di accesso Zabbix.

Autenticazione LDAP

L'autenticazione LDAP esterna può essere utilizzata per controllare i nomi utente e Le password. Nota che un utente deve esistere anche in Zabbix, comunque sia La password di Zabbix non verrà utilizzata.

L'autenticazione Zabbix LDAP funziona almeno con Microsoft Active Directory e OpenLDAP.

Parametri di configurazione:

Parametro Descrizione
Abilita autenticazione LDAP Selezionare la casella di controllo per abilitare l'autenticazione LDAP.
Host LDAP Nome del server LDAP. Ad esempio: ldap://ldap.zabbix.com
Per un server LDAP sicuro utilizzare il protocollo ldaps.
ldaps://ldap.zabbix.com
Con OpenLDAP 2.x.x e versioni successive, un È possibile utilizzare l'URI LDAP nella forma ldap://nomehost:porta o ldaps://nomehost:porta.
Porta Porta del server LDAP. Il valore predefinito è 389.
Per la connessione LDAP sicura, il numero di porta è normalmente 636.
Non utilizzato quando si utilizzano URI LDAP completi.
DN di base Percorso di base per la ricerca degli account:
ou=Utenti,ou=sistema (per OpenLDAP),
DC=azienda,DC=com (per Microsoft Active Directory)
Attributo di ricerca Attributo dell'account LDAP utilizzato per la ricerca:
uid (per OpenLDAP),
sAMAccountName (per Microsoft Active Directory)
Bind DN Account LDAP per binding e ricerca sul server LDAP, esempi:
uid=ldap_search,ou=system (per OpenLDAP),
CN=ldap_search,OU=user_group ,DC=azienda,DC=com (per Microsoft Active Directory)
È supportata anche l'associazione anonima. Si noti che l'associazione anonima potenzialmente apre la configurazione del dominio a utenti non autorizzati (informazioni su utenti, computer, server, gruppi, servizi e così via). Per motivi di sicurezza, disabilitare i collegamenti anonimi sugli host LDAP e utilizzare invece l'accesso autenticato.
Accesso con distinzione tra maiuscole e minuscole Deseleziona la casella di controllo per disabilitare l'accesso con distinzione tra maiuscole e minuscole (abilitato per impostazione predefinita) per i nomi utente.
Es. disabilita l'accesso con distinzione tra maiuscole e minuscole e accedi con, ad esempio, l'utente 'ADMIN' anche se l'utente Zabbix è 'Admin'.
Nota che con l'accesso con distinzione tra maiuscole e minuscole disabilitato l'accesso verrà negato se sono presenti più utenti Database Zabbix con nomi utente simili (ad es. Admin, admin).
Bind password Password LDAP dell'account per il binding e la ricerca sul server LDAP.
Autenticazione test Intestazione di una sezione per il test
Login Nome di un utente test (che è attualmente connesso al frontend di Zabbix). Questo nome utente deve esistere nel server LDAP.
Zabbix non attiverà l'autenticazione LDAP se non è in grado di autenticare l'utente di prova.
Password utente Password LDAP dell'utente di prova.

::: nota avviso In caso di problemi con i certificati, fare a connessione sicura LDAP (ldaps) potrebbe essere necessario aggiungere a TLS_REQCERT allow alla configurazione /etc/openldap/ldap.conf file. Potrebbe diminuire la sicurezza della connessione a LDAP Catalogare. :::

Si consiglia di creare un account LDAP separato (Bind DN) per eseguire l'associazione e la ricerca sul server LDAP con privilegi minimi in LDAP invece di utilizzare account utente reali (used per accedere al frontend di Zabbix).
Tale approccio offre maggiore sicurezza e non richiede modifiche la Bind password quando l'utente modifica la propria password in LDAP server.
Nella tabella sopra è il nome dell'account ldap_search.

Autenticazione SAML

L'autenticazione SAML 2.0 può essere utilizzata per accedere a Zabbix. Notare che l'utente deve esistere in Zabbix, tuttavia, la sua password Zabbix non lo sarà utilizzata. Se l'autenticazione ha esito positivo, Zabbix corrisponderà a un local username con l'attributo username restituito da SAML.

Se l'autenticazione SAML è abilitata, gli utenti saranno in grado di farlo scegli tra l'accesso locale o tramite SAML Single Sign-On.

Impostazione del provider di identità

Per lavorare con Zabbix, un provider di identità SAML (onelogin.com, auth0.com, okta.com, ecc.) deve essere configurato nel file modo seguente:

  • Assertion Consumer URL deve essere impostato su <path_to_zabbix_ui>/index_sso.php?acs
  • L'URL di logout singolo deve essere impostato su <path_to_zabbix_ui>/index_sso.php?sls

<path_to_zabbix_ui> esempi: %% https://example.com/zabbix/ui, http://another.example.com/zabbix, http://<any_public_ip_address>/zabbix %%

Configurazione di Zabbix

::: nota importante È necessario installare php-openssl se lo si desidera per utilizzare l'autenticazione SAML nel frontend. :::

Per utilizzare l'autenticazione SAML, Zabbix deve essere configurato come segue modo:

1. La chiave privata e il certificato devono essere archiviati nel file ui/conf/certs/, a meno che non siano forniti percorsi personalizzati zabbix.conf.php.

Per impostazione predefinita, Zabbix cercherà nelle seguenti posizioni:

  • ui/conf/certs/sp.key - File della chiave privata SP
  • ui/conf/certs/sp.crt - File certificato SP
  • ui/conf/certs/idp.crt - File certificato IDP

2. Tutte le impostazioni più importanti possono essere configurate in Zabbix fine frontale. Tuttavia, è possibile specificare impostazioni aggiuntive nel file file di configurazione.

Parametri di configurazione, disponibili nel frontend di Zabbix:

Parametro Descrizione
Abilita autenticazione SAML Segna la casella di controllo per abilitare l'autenticazione SAML.
ID entità IDP L'identificativo univoco del provider di identità SAML.
URL del servizio SSO L'URL a cui gli utenti verranno reindirizzati al momento dell'accesso.
URL del servizio SLO L'URL a cui gli utenti verranno reindirizzati al momento della disconnessione. Se lasciato vuoto, il servizio SLO non verrà utilizzato.
// Attributo nome utente// Attributo SAML da utilizzare come nome utente quando si accede a Zabbix.
L'elenco dei valori supportati è determinato dal provider di identità.

Esempi:
uid
userprincipalname
samaccountname
username
userusername
urn:oid:0.9.2342.19200300.100.1.1
urn:oid:1.3.6.1.4.1.5923.1.1.1.13< br>urn:oid:0.9.2342.19200300.100.1.44
ID entità SP L'identificatore univoco del provider di servizi SAML.
Formato ID nome SP Definisce il formato dell'identificatore nome da utilizzare.

Esempi:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
<urn:oasis:names :tc:SAML:2.0:nameid-format:entity>
Firma Seleziona le caselle di controllo per selezionare le entità per le quali deve essere abilitata la firma SAML:
Messaggi
Asserzioni
Richieste di autenticazione
Richieste di disconnessione
Disconnessione risposte
Crittografia Segna le caselle di controllo per selezionare le entità per le quali deve essere abilitata la crittografia SAML:
Asserzioni
ID nome
Accesso con distinzione tra maiuscole e minuscole Seleziona la casella di controllo per abilitare l'accesso con distinzione tra maiuscole e minuscole (disabilitato per impostazione predefinita) per i nomi utente.
Es. disabilita l'accesso con distinzione tra maiuscole e minuscole e accedi con, ad esempio, l'utente 'ADMIN' anche se l'utente Zabbix è 'Admin'.
Nota che con l'accesso con distinzione tra maiuscole e minuscole disabilitato l'accesso verrà negato se sono presenti più utenti Database Zabbix con nomi utente simili (ad es. Admin, admin).
Impostazioni avanzate

Ulteriori parametri SAML possono essere configurati nel frontend di Zabbix file di configurazione (zabbix.conf.php):

  • $SSO['SP_KEY'] = '<percorso del file della chiave privata SP>';
  • $SSO['SP_CERT'] = '<percorso del file certificato SP>';
  • $SSO['IDP_CERT'] = '<percorso del file certificato IDP>';
  • $SSO['IMPOSTAZIONI']

Zabbix usa SAML PHP Toolkit libreria (versione 3.4.1). La struttura della sezione $SSO['SETTINGS'] dovrebbe essere simile alla struttura utilizzata dalla biblioteca. Per la descrizione di opzioni di configurazione, vedere la libreria ufficiale documentazione.

Solo le seguenti opzioni possono essere impostate come parte di $SSO['SETTINGS']:

  • severa
  • URL di base
  • comprimere
  • referente
  • organizzazione
  • sp (solo le opzioni specificate in questo elenco)
    • attributeConsumingService
    • x509certNuovo
  • idp (solo le opzioni specificate in questo elenco)
    • singleLogoutService (solo un'opzione)
      • url di risposta
    • certImpronta digitale
    • certAlgoritmo di impronte digitali
    • x509certMulti
  • sicurezza (solo le opzioni specificate in questo elenco)
    • segnoMetadati
    • wantNameId
    • requestedAuthnContext
    • requestedAuthnContextComparison
    • wantXMLValidation
    • relaxDestinationValidation
    • destinazioneStrictlyMatches
    • rejectUnsolicitedResponsesWithInResponseTo
    • algoritmo di firma
    • digestAlgoritmo
    • codifica URL minuscola

Tutte le altre opzioni verranno prese dal database e non possono esserlo sovrascritto. L'opzione debug verrà ignorata.

Inoltre, se l'interfaccia utente di Zabbix si trova dietro un proxy o un bilanciatore del carico, il file è possibile utilizzare l'opzione personalizzata use_proxy_headers:

  • false (predefinito) - ignora l'opzione;
  • true - utilizza le intestazioni HTTP X-Forwarded-* per creare l'URL di base.

Se si utilizza un sistema di bilanciamento del carico per connettersi all'istanza di Zabbix, dove il sistema di bilanciamento del carico utilizza TLS/SSL e Zabbix no, è necessario indicare i parametri 'baseurl', 'strict' e 'use_proxy_headers' come segue:

$SSO_SETTINGS=['strict' => false, 'baseurl' => "https://zabbix.example.com/zabbix/", 'use_proxy_headers' => true]

Esempio di configurazione:

$SSO['IMPOSTAZIONI'] = [
           'sicurezza' => [
               'signatureAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha384'
               'digestAlgorithm' => 'http://www.w3.org/2001/04/xmldsig-more#sha384',
               //...
           ],
           //...
       ];