Ricerca nel sito web

Come configurare un sistema di log centralizzato con Graylog su Debian 11


Questo tutorial esiste per queste versioni del sistema operativo

  • Debian 11 (Bullseye)
  • Debian 9 (Stretch)

Su questa pagina

  1. Prerequisiti
  2. Installa i pacchetti di base Dipendenze
  3. Installazione di MongoDB
  4. Installazione di Elasticsearch
  5. Installazione e configurazione del server Graylog
  6. Imposta Nginx come proxy inverso
  7. Conclusione

Graylog è una piattaforma di gestione dei log gratuita e open source per acquisire, archiviare e consentire l'analisi in tempo reale dei dati e dei log. È scritto in Java e costruito su altri software open source come MongoDB ed Elasticsearch. Graylog fornisce una delle piattaforme di gestione dei log centralizzate più efficienti, veloci e flessibili.

Utilizzando Graylog, puoi inviare e analizzare sia dati strutturati che non strutturati da quasi tutte le origini dati.

In questo tutorial, ti mostreremo come installare e configurare Graylog come sistema di registrazione centralizzato sul sistema Debian 11. Inoltre, ti mostreremo come configurare il server Web Nginx come proxy inverso per il server Graylog.

Prerequisiti

  • Un server Linux Debian 11 - almeno con 4 GB di RAM.
  • Un utente non root con sudo o privilegi di amministratore.

Installa i pacchetti di base Dipendenze

Nella prima fase di questo tutorial, installerai alcune dipendenze di pacchetto di base, inclusi Java e GnuPG.

Prima di iniziare l'installazione di qualsiasi pacchetto, esegui il comando apt di seguito per aggiornare e rinfrescare il tuo attuale repository Debian.

sudo apt update

Ora installa alcune dipendenze del pacchetto per Graylog usando il comando seguente.

sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

Immettere Y per confermare l'installazione e premere INVIO per continuare.

Al termine dell'installazione, passare al passaggio successivo per installare un'altra dipendenza Graylog MongoDB ed Elasticsearch.

Installazione di MongoDB

Graylog utilizza il database NoSQL MongoDB per archiviare tutte le informazioni sulla configurazione Graylog, i flussi, gli avvisi, gli utenti, i flussi memorizzati nella cache, ecc. La versione corrente di Graylog richiedeva MongoDB v4 fino alla v4.4.

Esegui i comandi seguenti per aggiungere la chiave GPG MongoDB e il repository al tuo server Debian.

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Aggiorna il tuo repository Debian usando il seguente comando.

sudo apt update

Come puoi vedere nello screenshot qui sotto, il repository MongoDB viene aggiunto al tuo server Debian.

Successivamente, installa i pacchetti MongoDB usando il comando apt di seguito.

sudo apt install -y mongodb-org

Inizierà l'installazione del database MongoDB.

Al termine dell'installazione di MongoDB, eseguire il seguente comando per ricaricare il gestore di sistema. Questo è necessario prima di avviare il servizio MongoDB.

sudo systemctl daemon-reload

Ora esegui il comando seguente per abilitare e riavviare il servizio MongoDB. Il servizio MongoDB verrà avviato e verrà eseguito automaticamente all'avvio del sistema.

sudo systemctl enable mongod.service
sudo systemctl restart mongod.service

Verifica il servizio MongoDB utilizzando il seguente comando.

sudo systemctl status mongod

Come puoi vedere nello screenshot seguente, il servizio MongoDB è in esecuzione ed è abilitato.

Ora passa alla fase successiva per l'installazione di Elasticsearch.

Installazione di Elasticsearch

Dopo aver installato il database MongoDB NoSQL, ora ti verrà richiesto di installare Elasticsearch. Il server Graylog utilizza Elasticsearch come motore di ricerca per la ricerca nei log. Alla versione attuale, Graylog richiedeva Elasticsearch v6.8 o v7.x fino alla v7.10.

Prima di installare Elasticsearch, esegui il seguente comando per aggiungere la chiave e il repository GPG di Elasticsearch al tuo sistema Debian.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

Ora aggiorna e aggiorna il tuo repository Debian.

sudo apt update

Nello screenshot seguente, il repository Elasticsearch viene aggiunto al server Debian.

Successivamente, installa i pacchetti Elasticsearch utilizzando il comando apt di seguito.

sudo apt install elasticsearch-oss

Verrà avviata l'installazione di Elasticsearch.

Al termine dell'installazione, esegui il comando seguente per aggiungere la configurazione al file di configurazione di Elasticsearch /etc/elasticsearch/elasticsearch.yml. La seguente configurazione creerà un nuovo cluster Elasticsearch con il nome \graylog\ e disabiliterà la creazione automatica di un indice su Elasticsearch.

sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null << EOT
cluster.name: graylog
action.auto_create_index: false
EOT

Prima di avviare il servizio Elasticsearch, eseguire il comando seguente per ricaricare il gestore systemd.

sudo systemctl daemon-reload

Ora esegui i seguenti comandi per abilitare e riavviare il servizio Elasticsearch. Ciò aggiungerà Elasticsearch all'avvio del sistema e avvierà il servizio.

sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service

Infine, verifica il servizio Elasticsearch utilizzando il comando seguente.

sudo systemctl status elasticsearch.service

Nello screenshot qui sotto, vedrai che il servizio Elasticsearch è in esecuzione e abilitato.

Inoltre, puoi anche verificare l'installazione di Elasticsearch accedendo a Elasticsearch utilizzando curl. Elasticsearch è in esecuzione sulla porta predefinita 9200, quindi esegui il comando curl di seguito.

curl http://localhost:9200/

Ora vedrai il messaggio di output come il seguente. Elasticsearch v7.x con il cluster denominato graylog è installato sul server Debian.

A questo punto, sei pronto per installare il server Graylog sul server Debian.

Installazione e configurazione del server Graylog

Per avviare l'installazione di Graylog, sarà necessario scaricare il file .deb del repository Graylog e installarlo utilizzando il seguente comando.

wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.deb
sudo dpkg -i graylog-4.2-repository_latest.deb

Ora aggiorna e aggiorna il tuo repository Debian.

sudo apt update

Sotto puoi vedere che il repository Graylog è stato aggiunto al server Debian.

Successivamente, installa i pacchetti Graylog sul tuo server Debian usando il comando apt di seguito.

sudo apt install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins

L'installazione di Graylog inizierà ora.

Al termine dell'installazione, eseguire il comando seguente per generare Graylog password_secret che verrà utilizzato per la crittografia e il salting della password. Il Graylog password_secret deve essere lo stesso se stai eseguendo un cluster Graylog con più nodi. Inoltre, avrai bisogno di una stringa casuale e di un numero minimo 65 per Graylog password_secret.

pwgen -N 1 -s 96

Ora copia la stringa casuale generata per Graylog password_secret nella tua nota.

Quindi, esegui il comando seguente per generare la password crittografata con sha256. Questa password verrà utilizzata come password di amministrazione Graylog.

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

Inserisci la tua password per la password di amministrazione di Graylog. E vedrai la password crittografata generata sha256. Copia la password crittografata nella tua nota.

Successivamente, modifica la configurazione del server Graylog /etc/graylog/server/server.conf utilizzando l'editor nano.

sudo nano /etc/graylog/server/server.conf

Copia e incolla la password_secret generata da Graylog e la password di amministrazione di Graylog in root_password_sha2 come di seguito.

password_secret = Eqq4M8EHpKbGfgi6C05t19hJ5WmF3nkVS8yjwclYHtvwsTXRulNHEsaWuy85QUTNIUc6b2ovfRjvR7yD5kwNTPAJCCw39T3d
root_password_sha2 = 05a181f00c157f70413d33701778a6ee7d2747ac18b9c0fbb8bd71a62dd7a223

Salva e chiudi il file quando hai finito.

Ora esegui il comando seguente per ricaricare il gestore systemd prima di avviare il servizio del server Graylog.

sudo systemctl daemon-reload

Ora abilita e avvia il servizio server Graylog utilizzando il comando seguente.

sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service

Il server Graylog sarà attivo e funzionante, controllalo usando il seguente comando.

sudo systemctl status graylog-server.service

Nello screenshot qui sotto, vedrai che il servizio server Graylog è in esecuzione e abilitato.

Ora hai completato l'installazione di Graylog, che è in esecuzione sull'host locale predefinito con la porta 9000.

Imposta Nginx come proxy inverso

Dopo aver completato l'installazione e la configurazione del server Graylog, ora installerai e configurerai il server Web Nginx come proxy inverso per il server Graylog. Ciò ti consente di eseguire Graylog con il tuo nome di dominio.

Installa il pacchetto Nginx sul tuo server Debian usando il seguente comando.

sudo apt install nginx -y

L'installazione verrà avviata.

Al termine dell'installazione, crea un nuovo host virtuale Nginx o blocca il server /etc/nginx/sites-available/graylog.conf utilizzando l'editor nano.

sudo nano /etc/nginx/sites-available/graylog.conf

Aggiungi la seguente configurazione Nginx. Ciò abiliterà Nginx come proxy inverso per il server Graylog in esecuzione su http://127.0.0.1:9000/.

server
{
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name graylog.example.org;

    location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Graylog-Server-URL http://$server_name/;
      proxy_pass       http://127.0.0.1:9000;
    }
}

Salva e chiudi il file quando hai finito.

Successivamente, eseguire il seguente comando per attivare la configurazione graylog.conf. Quindi verifica la configurazione di nginx.

sudo ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
sudo nginx -t

Assicurati di ricevere un messaggio di output come test riuscito.

Infine, riavvia il servizio Nginx per applicare una nuova configurazione dell'host virtuale utilizzando il seguente comando.

sudo systemctl restart nginx

Ora apri il tuo browser web e visita il nome di dominio per l'URL di installazione di Graylog.

Vedrai la pagina di accesso Graylog qui sotto. Inserisci l'utente amministratore predefinito con la tua password (root_password_sha2) e fai clic sul pulsante Accedi.

Dopo aver effettuato l'accesso, vedrai la dashboard di Graylog come di seguito.

Ora hai completato l'esecuzione di Graylog con il proxy inverso Nginx.

Conclusione

Congratulazioni! ora hai completato l'installazione del server Graylog e la configurazione del server Debian 11. Inoltre, hai completato la configurazione di Nginx come proxy inverso per il server Graylog.