Una sfida nel monitoraggio è la protezione dei dati di monitoraggio e degli account utente. Sia il trasferimento dei dati che l'archiviazione delle informazioni possono creare rischi per la sicurezza che i professionisti del monitoraggio dovrebbero affrontare. In questo blog, condividerò alcune best practice per aiutarti a configurare il tuo monitoraggio nel modo più sicuro possibile. La maggior parte dei punti può essere implementata con pochi e semplici passaggi. I link forniti ti porteranno direttamente ai capitoli giusti della guida utente di Checkmk. Fondamentalmente, Checkmk è costruito per essere sicuro per progettazione e per impostazione predefinita. Questo riduce già le possibili minacce. Tuttavia, ci sono alcune aree della configurazione di Checkmk che non possono essere predefinite, ma devono essere regolate dopo l'installazione.

Utilizzare password complesse per tutti gli account

È necessario utilizzare sempre password complesse in Checkmk. Questo vale per gli account utente di Checkmk, ma anche per le password utilizzate dal monitoraggio stesso, ad esempio per recuperare i dati tramite le API. Per generare password complesse, ad esempio, è possibile utilizzare un generatore di password.

Dopo la configurazione di un nuovo sito Checkmk, per impostazione predefinita vengono configurati due account utente: l'utente di automazione "automation" e l'account di amministrazione "cmkadmin". L'utente di automazione viene utilizzato per collegare Checkmk ad altri sistemi e automatizzare alcune azioni. A tal fine, il software esterno deve essere in grado di recuperare automaticamente determinati URL dell'interfaccia di Checkmk. L'utente di automazione abilita l'autenticazione tramite alcune variabili dell'URL. A questo scopo, l'utente di automazione utilizza una password di automazione che si può creare in Checkmk. Tuttavia, non è possibile utilizzarla per accedere all'interfaccia web.

Per 'cmkadmin', Checkmk genera casualmente una password quando si crea il sito Checkmk. Se non l'hai già cambiata, modifica la password nell'interfaccia utente. Per gli account utente locali di Checkmk, si può anche imporre l'uso di password sicure. Questa opzione si trova nelle impostazioni globali di Checkmk.

Mantieni aggiornato il tuo ambiente Checkmk

tribe29 rilascia regolarmente patch per tutte le versioni di Checkmk supportate. È sempre consigliabile installare questi aggiornamenti il prima possibile. Oltre alle nuove funzionalità, le patch servono a risolvere potenziali bug e vulnerabilità. Il meccanismo di aggiornamento di Checkmk consente l'uso parallelo di più versioni di Checkmk, per cui non si corre il rischio che il proprio ambiente di monitoraggio non funzioni dopo un aggiornamento. Le vecchie versioni rimangono pronte all'uso e spetta all'utente decidere quando rimuoverle.

La pubblicazione di nuove versioni di Checkmk viene annunciata da tribe29 nella newsletter mensile di Checkmk e nel forum di Checkmk. Visitate regolarmente il forum o iscrivetevi alla newsletter per rimanere aggiornati. Inoltre, non si dovrebbero utilizzare le versioni principali di Checkmk senza un supporto attivo. Pertanto, è bene tenere d'occhio i periodi di supporto delle versioni di Checkmk. Di norma, il supporto attivo termina sempre sei mesi dopo il rilascio di una nuova versione.

Creare backup della configurazione di Checkmk

In pochi minuti è possibile creare un backup della configurazione di Checkmk. L'opzione si trova in Configurazione -> Manutenzione -> Backup. Per maggiori dettagli, consultare le istruzioni per i backup nella guida utente di Checkmk.

Si noti che è possibile ripristinare le copie di backup solo se l'ambiente Checkmk ha la stessa versione e la stessa edizione del backup. La piattaforma di sistema sottostante, invece, non è rilevante per il backup: Ad esempio, se in passato si è utilizzato Debian come sistema host, è possibile ripristinare facilmente il backup di Checkmk su RHEL.

Checkmk è in grado di crittografare i backup e si consiglia di utilizzare questa funzione se non si ha il pieno controllo della posizione in cui si desidera archiviare il backup. Se, ad esempio, si archiviano i backup nel cloud, non si sa su quale dispositivo fisico siano memorizzati i dati e si dovrebbe sicuramente crittografarli.

Crittografare la comunicazione degli agenti Checkmk con TLS

Poiché gli sviluppatori di Checkmk lavorano costantemente per migliorare la sicurezza, l'aggiornamento a una nuova versione principale spesso comporta anche nuovi meccanismi di sicurezza. L'esempio più recente è l'Agent Controller, che è stato implementato come parte degli agenti di Checkmk nella versione 2.1. Esso gestisce il trasporto dei dati raccolti da Checkmk. Gestisce il trasporto dei dati raccolti dallo script dell'agente.

Questo è particolarmente vantaggioso per il monitoraggio dei server, in quanto è possibile crittografare la comunicazione tra l'agente e il server Checkmk utilizzando il Transport Layer Security (TLS). Per far funzionare la crittografia, è necessario installare una versione aggiornata dell'agente sul server monitorato e poi registrare l'agente in Checkmk. Prima della registrazione, gli agenti operano sempre in modalità legacy pull non crittografata. Ciò è facilmente riconoscibile dal fatto che il servizio di monitoraggio "Check_MK Agent" mostra un avviso in Checkmk dopo aver registrato l'host di monitoraggio del server monitorato.

La vista dell'host di un linux monitorato serve Checkmk, il servizio Check_MK Agent mostra un avviso, mentre tutti gli altri servizi sono a posto.

Un esempio di registrazione dell'agente Linux in Checkmk

Nella maggior parte dei casi, la registrazione avviene tramite un comando sul terminale. Per un server Linux, ad esempio, si procede in questo modo:

  • Installare l'agente Checkmk adatto sul server che si desidera monitorare e aggiungere il server come host in Checkmk.
  • Aprire il terminale che si desidera monitorare sul server Linux.
  • Diventare root.
  • Utilizzare il comando cmk-agent-ctl register per registrarsi.

cmk-agent-ctl register --hostname <name of the host> \ --server <Checkmk server> \ --site <Checkmk site> \ --user automation cmk --password <automation secret>

  • È possibile copiare il comando, ma è necessario modificare questi elementi:
    • Dopo hostname, sostituire<name of the host> con il nome del server Linux in Checkmk.
    • Il campo <Checkmk server> è il segnaposto per il server host del vostro sito Checkmk, da aggiungere qui. È possibile inserire qui anche l'indirizzo IP.
    • Dopo site, si inserisce il nome del sito Checkmk e si toglie <Checkmk site>. Si può vedere nel percorso URL della GUI, di solito è la prima parola dell'URL.
    • Alla voce utente, si dovrebbe lasciare l'utente dell'automazione, poiché viene utilizzato proprio per questo scopo.
    • Dopo la voce password, aggiungere la password dell'utente di automazione al posto di <automation secret>.
  • Una volta inserite le informazioni necessarie, confermate il comando.

Per il mio host 'example-ubuntu.domain.net' il comando si presenta così:

Un terminale Linux che mostra l'utente root che registra un agente Checkmk
  • Eseguire il comando. Se i dati sono corretti, verrà richiesto di confermare l'identità del sito Checkmk.
  • Confermare con "Y" per completare il processo.

Nel mio caso, la registrazione è andata a buon fine. Il servizio 'Check_MK Agent' ha cambiato il suo stato in OK.

Vista host di un server Linux monitorato in Checkmk, tutti i servizi sono ok

La password dell'utente di automazione si trova in Configurazione -> Utente. Qui si fa clic sulla prima icona sotto Azioni. Poi si può tirare il dado per la password.

Il menu utente di Checkmk mostra l'utente dell'automazione, la prima icona sotto la voce azioni è evidenziata

Per impostazione predefinita, Agent Controller supporta le distribuzioni Linux e i server Windows più comuni. Per maggiori dettagli, consultare l'articolo della guida all'uso del monitoraggio di Linux o il capitolo sul monitoraggio di Windows.

Se l'host non dispone di una connessione diretta al server Checkmk o se si desidera registrare più host contemporaneamente, è possibile registrare più host utilizzando un proxy. I passi necessari si trovano nel capitolo sulla registrazione dei lavori della guida utente di Checkmk.

Controllare regolarmente i criteri di accesso e la configurazione

Sotto Configurazione -> Utenti troverete una panoramica di tutti gli utenti di Checkmk e dovrete controllare regolarmente i loro diritti di accesso. L'obiettivo è quello di applicare il principio del minor privilegio. Ad esempio, se un utente ha bisogno di privilegi di sola lettura per un'area, non bisogna concedergli altri privilegi.

Questo principio si applica anche ai diritti di accesso degli account che Checkmk stesso utilizza per il monitoraggio. Ad esempio, se si monitora VMware, si fornisce un account di accesso VMware per vCenter e/o un host ESXi nella regola VMware di Checkmk per recuperare l'API VMware. Tuttavia, si dovrebbe sempre fare affidamento su account di sola lettura, poiché qualsiasi altro tipo di account costituirebbe un rischio per la sicurezza.

Dalla versione 2.1 di Checkmk, è possibile verificare la configurazione della sicurezza in Checkmk in Configurazione -> Manutenzione -> Analizza configurazione scorrendo verso il basso fino alla voce Sicurezza . Checkmk cripta le notifiche, quando vengono trasferite tra i siti Checkmk (abilitato per impostazione predefinita dalla versione 2.1). Se qualcuno ha modificato le impostazioni, lo si vedrà immediatamente qui.

Analizzando la configurazione della sicurezza in Checkmk, l'opzione GUI sicura mostra un avviso

Proteggere Checkmk con HTTPS e 2FA

La schermata mostra che la crittografia HTTPS dell'interfaccia utente di Checkmk non è abilitata e quindi emette un avviso. L'utilizzo di HTTPS aumenta la sicurezza ed è la base per l'utilizzo dell'autenticazione a due fattori (2FA) in Checkmk. Per poter utilizzare la 2FA, è necessario modificare la configurazione di VirtualHost del server host di Checkmk. Le istruzioni corrispondenti si trovano nel capitolo HTTPS della guida utente di Checkmk.

Se si desidera utilizzare la 2FA in seguito, oltre alla password è necessario un autenticatore conforme allo standard Internet FIDO2/WebAuthn. Si può utilizzare, ad esempio, uno Yubikey. Le istruzioni per l'implementazione si trovano nel capitolo sull'autenticazione a due fattori della guida utente di Checkmk.

Riflessioni finali: Piccoli passi, grande impatto

Gli amministratori devono sempre presumere che si verifichi una violazione della sicurezza. Per questo motivo è importante seguire le migliori pratiche di sicurezza generali, come l'uso di password forti e aggiornamenti regolari, soprattutto durante il monitoraggio. Checkmk offre anche meccanismi di sicurezza aggiuntivi, come la crittografia TLS degli agenti, che contribuiscono ad aumentare ulteriormente il livello di protezione. Questo blog riassume i passaggi chiave e mostra come implementarli in Checkmk.