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 articolo, 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 - ma ci sono alcune aree della configurazione di Checkmk che non possono essere predefinite, e devono essere regolate dopo l'installazione.

Utilizzare password complesse per tutti gli account

Bisogna 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, puoi 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.

Mantenere 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. Visita regolarmente il forum o iscriviti alla newsletter per rimanere aggiornato. Inoltre, non si dovrebbero utilizzare le versioni principali di Checkmk senza un supporto attivo. Pertanto, dovresti 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, consulta le istruzioni per i backup nella guida utente di Checkmk.

Tieni a mente 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 hai utilizzato Debian come sistema host, puoi ripristinare facilmente il backup di Checkmk su RHEL.

Checkmk è in grado di crittografare i backup, consigliamo di utilizzare questa funzione se non si ha il pieno controllo della posizione in cui si desidera archiviare il backup. Se, ad esempio, archivi i backup nel cloud, non sai su quale dispositivo fisico siano memorizzati i dati e dovresti 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, introdotto come parte degli agenti di Checkmk nella versione 2.1. Gestisce il trasporto dei dati raccolti dallo script dell’agente.

Risulta 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, i passaggi sono i seguenti:

  • 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 tuo 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, bisogna confermare 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 quindi 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 deve cliccare 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, puoi 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 desideri registrare più host contemporaneamente, puoi 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 troverai una panoramica di tutti gli utenti di Checkmk e dovrai 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, dovresti 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, potrai vederlo qui immediatamente.

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 desideri utilizzare la 2FA in seguito, oltre alla password è necessario un autenticatore conforme allo standard Internet FIDO2/WebAuthn. Puoi 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 articolo riassume i passaggi chiave e mostra come implementarli in Checkmk.