Graylog è uno strumento di gestione dei Log e open source basato su Java, Elasticsearch/OpenSearch e MongoDB che può essere utilizzato per raccogliere, indicizzare e analizzare qualsiasi log server da una postazione centralizzata. Si può facilmente monitorare i SSH login e attività insolite per il debug di applicazioni e i registri utilizzando Graylog.
Graylog fornisce un linguaggio di query avanzate, abilità di avviso, una pipeline di elaborazione per la trasformazione dei dati e molto altro.
Graylog è costituito da tre componenti:
- Elasticsearch/OpenSearch: Memorizza tutti i messaggi di in ingresso e fornire una struttura di ricerca.
- MongoDB: È usato per database, memorizza le configurazioni e le meta-informazioni.
- Graylog server: riceve ed elabora i messaggi da vari input e fornire un’interfaccia web per l’analisi e il monitoraggio.
Di seguito il tutorial che guida passo passo nell’installazione di Graylog 5.2.5 con Opensearch 2.5.0 e MongoDB 6.0.14 e OpenJDK 17
PREREQUISITI
Un server con Ubuntu 22.04 come sistema operativo e minimo 4 GB di RAM e 2 vCPU
Un dominio valido che punta all’indirizzo IP del server
Privilegi utente: utente root o non root con privilegi sudo
AGGIORNAMENTO SISTEMA
Prima di iniziare con l’installazione aggiornare i pacchetti di sistema alle ultime versioni disponibili con il comando:
Quindi riavviare il server con il comando:
INSTALLAZIONE DELLE DIPENDENZE
Procedere con l’installazione delle dipendenze necessarie durante l’installazione di Graylog con i seguenti comando:
INSTALLAZIONE DI OPENSEARCH
Opensearch è un altro componente fondamentale nell’installazione di Graylog. È un motore di ricerca e analisi distribuito ampiamente utilizzato per la ricerca full-text, l’analisi dei log, l’analisi aziendale e l’analisi degli eventi di sicurezza.
In Graylog, Opensearch archivia, cerca e analizza registri e messaggi da fonti esterne.
Opensearch non è ospitato sui repository ufficiali di Ubuntu quindi lo installeremo dal repository Elasticsearch.
Per fare ciò scaricare e aggiungere la chiave GPG Elasticsearch con il comando:
Aggiungere il repository di Opensearch al sistema con il comando:
Aggiornare il repository con il comando:
Verificare tutte le versioni disponibili di OpenSearch con il comando:
Verificare dalla lista la versione stabile
ATTENZIONE: in questo tutorial installerò la versione 2.5.0
Dopo aver aggiornato la cache locale, installare Opensearch dal repository utilizzando il gestore pacchetti APT con il comando:
Una volta completata l’installazione, è necessario apportare alcune modifiche al file di configurazione principale di Opensearch.
Utilizzare l’editor di testo preferito per accedere al file. Io utilizzerò l’editor della riga di comando nano.
Eseguire il comando:
All’interno del file di configurazione individuare le seguenti righe e impostarle come di seguito:
NOTA BENE: io per comodità ho commentato tutto all’interno del file ed ho aggiunte tutte le righe al fondo del file
Se è tutto corretto dovremmo vedere una schermata come quella sovrastante
Salvare e chiudere il file di configurazione
Abilitare le opzioni JVM con il comando:
Aggiornare quindi le impostazioni Xms e Xmx con metà della memoria di sistema installata
NOTA BENE: nel mio caso avendo una memoria di 4 GB ho impostato la metà e quindi 2G
Se è tutto corretto dovremmo vedere una schermata come quella sovrastante
Salvare e chiudere il file di configurazione
Configura i parametri del kernel in fase di runtime con i comandi:
Ricaricare systemd per applicare la modifica e avviare Opensearch con i comandi:
E’ possibile verificare lo stato di Opensearch con il comando:
Abilitare l’avvio al boot di Opensearch con il comando:
E’ possibile inviare una richiesta GET al nodo utilizzando lo strumento da riga di comando curl per visualizzare informazioni dettagliate su Elasticsearch. Di seguito il comando:
Se è tutto corretto dovremmo visualizzare un output comem mostrato nell’immagine sovrastante
INSTALLAZIONE DEL DATABASE MONGODB
Nel server Graylog, il database MongoDB memorizza le informazioni di configurazione e i dati dell’utente.
In questo tutorial installeremo MongoDB versione 7
Importare la chiave pubblica utilizzata dal sistema di gestione dei pacchetti
Installare gnupgcurl con il comando:
Per importare la chiave GPG pubblica di MongoDB, eseguire il seguente comando:
Creare un file di elenco per MongoDB in /etc/apt/sources.list.d/mongodb-org-6.0.list con il comando:
Usare il comando seguente per ricaricare il database dei pacchetti locale:
Installare l’ultima versione stabile di MongoDB con il comando:
Il comando installa il server database MongoDB insieme ai componenti principali del database inclusi gli strumenti della shell.
Una volta completata l’installazione, verificare la versione di MongoDB installata con il comando:
Se è andato tutto a buon fine dovremmo vedere il seguente output:
Il servizio MongoDB è disabilitato al momento dell’installazione per impostazione predefinita ed è possibile verificarlo eseguendo il comando:
Dovremmo visualizzare il seguente output:
Abilitare MongoDB all’avvio con il comando:
Avviare il servizio di MongoDB con il comando:
INSTALLAZIONE DI GRAYLOG SERVER
Ora siamo pronti per installare il server Graylog su Ubuntu.
Per impostazione predefinita, il pacchetto server Graylog non è disponibile sui repository Ubuntu. Pertanto, installeremo Graylog dal repository ufficiale Graylog.
Scaricare il pacchetto Graylog Debian con il comando:
Successivamente lanciare il comando dpkg per eseguire il pacchetto:
Quindi aggiornare l’APT cache e procedere con l’installazione di Graylog Server con il comando:
Se è andato tutto a buon fine dovremmo vedere una schermata come l’immagine sovrastante
Una volta installato il server Graylog, è necessario generare una secret per proteggere le password degli utenti e una password crittografata per l’utente amministratore.
Per generare una password segreta per proteggere le password degli utenti, eseguire il comando seguente:
Dovremmo visualizzare un output con la secret:
Successivamente generare una password crittografata per l’utente di accesso amministratore di Graylog con il comando:
Inserire la password desiderata quindi premere Invio
Sotto la password inserita verrà visualizzata la stessa criptata.
nel mio caso visualizzo questo: fcba8051ec9c89dfa788d2e093b54765629bc153237a2a4d26c0ae959500b4c5
A questo punto copiare entrambe la password criptate e aprire il file di configurazione di Graylog /etc/graylog/server/server.conf con il seguente comando:
All’interno del file di configurazione cercare password_secret quindi incollare la prima secret generata
Dovremmo visualizzare un output come mostrato nell’immagine sovrastante
Sempre all’interno del file cercare root_password_sha2 e incollare la seconda secret creata
Dovremmo visualizzare un output come mostrato nell’immagine sovrastante
All’interno del file cercare la riga #http_bind_address = 127.0.0.1:9000 quindi decommentarla
Al posto dell’IP 127.0.0.1 inserire l’IP fisico del server
Dovremmo visualizzare un output come mostrato nell’immagine sovrastante
Salvare e chiudere il file di configurazione
Fare un reload di systemd con il comando:
Quindi avviare il servizio di Graylog con il comando:
Per verificare lo stato di Garylog eseguire il comando:
Se è tutto OK dovremmo vedere il servizio Attivo come mostrato nell’immagine sovrastante
Abilitare l’avvio del servizio di Graylog all avvio del sistema con il comando:
CONFIGURAZIONE DI NGINX COME REVERSE PROXY
Graylog può fungere da frontend e non richiede un server web.
Tuttavia è preferibile configurare un server web come reverse proxy per la porta da 80 a 9000, su cui Graylog è in ascolto.
Ciò semplifica anche la configurazione di un certificato SSL per Graylog.
In questo tutorial utilizzerò Nginx come opzione preferita per un server web.
Per installare Nginx, eseguire il comando:
Una volta installato creare un file host virtuale per Graylog con il comando:
Aggiungere queste righe di codice e assicurarsi di specificare l’IP server Graylog per l’attributo proxy_pass.
Modificare i seguenti parametri:
NOME-SERVER-GRAYLOG: Inserire il nome FQDN del server Graylog
IP-SERVER-GRAYLOG: Inserire l’IP del server Graylog
Salvare e chiudere il file di configurazione
Verificare che la sintassi del file di configurazione sia OK con il comando:
Se è tutto OK dovremmo visualizzare il seguente output:
Abilitare il Virtual Host file con il comando:
Eliminare il file dell’host virtuale predefinito con il comando:
Applicare le modifiche riavviando il servizio di Nginx con il comando:
Quindi verificare lo stato di Nginx con il comando:
Se è tutto OK dovremmo vedere il servizio Attivo come mostrato nell’immagine sovrastante
ACCESSO ALL’INTERFACCIA WEB DI GRAYLOG
A questo punto aprire da un qualsiasi browser il link
http://IP-DEL-SERVER
Se è andato tutto a buon fine dovremmo vedere la pagina di Login di Graylog
Inserire admin e la password definita in precendeza quindi cliccare Sign In
Dopo essere entrati dovremmo visualizzare la Dashboard di Graylog
TOOL PER EVENTUALI PROBLEMATICHE
In alcuni casi dopo aver terminato l’installazione di Graylog non viene visualizzata la pagina di login ma un a finestra di popup dove inserire user e password.
Ovviamente inserendo le credenziali non funziona nulla.
In questo caso può tornare utile il seguente comando:
Dopo aver eseguito il comando seguire le istruzioni per sbloccare il problema dovuto quasi sempre a Elasticsearch o Opensearch.
0 commenti