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
- Prerequisiti
- Installa i pacchetti di base Dipendenze
- Installazione di MongoDB
- Installazione di Elasticsearch
- Installazione e configurazione del server Graylog
- Imposta Nginx come proxy inverso
- 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.