Ricerca nel sito web

Come installare il sistema di gestione dei registri centralizzato Graylog su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione di Java OpenJDK
  3. Installazione del database MongoDB NoSQL
  4. Installazione di Elasticsearch
  5. Installazione del server Graylog
  6. Impostazione di SELinux
  7. Crea nuovo input Graylog
  8. Invio del registro tramite Ingest Syslog al server Graylog
  9. 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. Con Graylog, puoi inviare e analizzare dati sia strutturati che non strutturati da quasi tutte le fonti di dati.

In questo tutorial, configurerai la gestione centralizzata dei registri utilizzando Graylog sul server Rocky Linux. Questo tutorial include l'installazione di base di alcune dipendenze Graylog come Elasticsearch e MongoDB. Inoltre, configurerai Graylog Input e invierai i log dalla macchina Linux al Graylog Server tramite Syslog Ingest.

Prerequisiti

Per seguire questo tutorial, avrai bisogno dei seguenti requisiti:

  • Un server che esegue Rocky Linux 8.
  • Un utente non root con privilegi sudo/amministratore.
  • Un firewalld in esecuzione e abilitato.

Installazione di Java OpenJDK

Il Graylog Server è un application server scritto principalmente in Java. Per installare Graylog, ti verrà richiesto di installare Java OpenJDK sul tuo sistema Rocky Linux. Al momento della stesura di questo documento, Graylog Server richiedeva almeno Java v8 o versioni successive.

Sul repository Rocky Linux, è possibile installare più versioni di Java OpenJDK. Puoi controllare tutte le versioni OpenJDK disponibili utilizzando il comando seguente.

sudo dnf search openjdk

In questa demo, installerai e utilizzerai Java OpenJDK v11 per Graylog Server. Esegui il comando dnf seguente per installare java OpenJDK sul tuo sistema Rocky Linux.

Quando viene richiesto di confermare l'installazione, immettere ye premere INVIO.

sudo dnf install java-11-openjdk-devel

Al termine dell'installazione di java OpenJDK, eseguire il seguente comando java per controllare e verificare la versione di Java OpenJDK. Dovresti vedere OpenJDK v11 installato sul tuo sistema Rocky Linux.

java version

Installazione del database MongoDB NoSQL

Ora installerai il database MongoDB NoSQL come dipendenze per Graylog Server. MongoDB viene utilizzato per archiviare i dati del server Graylog.

Per installare MongoDB, ti verrà richiesto di aggiungere il repository MongoDB. Quindi, puoi installare i pacchetti MongoDB.

Eseguire il comando seguente per aggiungere il repository MongoDB per il sistema Rocky Linux.

cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-6.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF

Ora esegui il comando dnf di seguito per controllare e verificare l'elenco dei repository disponibili sul tuo sistema. Dovresti vedere il repository \mongodb\ aggiunto.

sudo dnf repolist

Successivamente, installa il pacchetto MongoDB utilizzando il seguente comando dnf. Quando viene chiesto di confermare l'installazione, immettere y e premere INVIO per continuare.

sudo dnf install mongodb-org

Inoltre, ti verrà anche richiesto di confermare la chiave GPG del repository MongoDB. Immettere y per confermare e aggiungere la chiave GPG MongoDB.

se l'installazione di MongoDB è terminata, eseguire il comando seguente per ricaricare il gestore systemd e applicare il nuovo file di servizio MongoDB.

sudo systemctl daemon-reload

Ora avvia il servizio MongoDB con il nome mongod utilizzando il seguente comando di sistema. Quindi, abilitare l'avvio automatico del servizio mongod all'avvio del sistema.

sudo systemctl enable mongod
sudo systemctl start mongod

Infine, esegui il seguente comando systemctl per controllare e verificare il servizio mongod. Dovresti vedere che il servizio MongoDB mongod è in esecuzione ed è abilitato all'avvio del sistema.

sudo systemctl status mongod

Installazione di Elasticsearch

elasticsearch gestisce il motore di ricerca per lo stack di gestione dei log del server Graylog. Al momento della stesura di questo articolo, dovrai installare Elasticsearch v7.x.

La versione corrente di Graylog Server verrà eseguita solo con Elasticsearch v7.x. Se installi l'ultimo elasticosearch come v8.x o v9.x, riceverai un errore.

Ora esegui il seguente comando per configurare il repository Elasticsearch v7.x per il sistema Rocky Linux.

cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Esegui il comando seguente per controllare e verificare l'elenco dei repository sul tuo sistema. Vedrai che il repository Elasticsearch v7.x è stato aggiunto.

sudo dnf repolist

Successivamente, installa il pacchetto Elasticsearch utilizzando il comando dnf di seguito. Quando viene richiesto di confermare l'installazione, immettere y per confermare e premere INVIO.

sudo dnf install elasticsearch

Inoltre, ti verrà richiesto di aggiungere la chiave GPG al repository Elasticsearch. Immettere y per aggiungere la chiave GPG. E l'installazione sarà terminata.

Successivamente, sarà necessario configurare il server Elasticsearch per l'installazione di base che verrà utilizzata da Graylog Server.

Modifica il file di configurazione predefinito di Elasticsearch /etc/elasticsearch/elasticsearch.yml utilizzando il comando seguente.

sudo nano /etc/elasticsearch/elasticsearch.yml

Aggiungi e decommenta la seguente configurazione di base di Elasticsearch.

cluster.name: graylog-rocky8
action.auto_create_index: false

Salva e chiudi il file quando hai finito.

Inoltre, puoi anche impostare l'allocazione di memoria massima per il server Elasticsearch modificando il file /etc/elasticsearch/jvm.options utilizzando il comando seguente.

sudo nano /etc/elasticsearch/jvm.options

rimuovere il commento e modificare la configurazione predefinita come di seguito. Puoi modificare l'allocazione di memoria massima qui con la memoria massima del tuo server.

-Xms1g
-Xmx1g

Salva e chiudi il file quando hai finito.

Ora esegui il seguente comando systemctl di seguito per ricaricare il gestore systemd e applicare un nuovo file di servizio per il server Elasticsearch.

sudo systemctl daemon-reload

Successivamente, avvia e abilita il server Elasticsearch utilizzando il comando seguente. Il servizio Elasticsearch verrà eseguito automaticamente all'avvio del sistema e lo stato corrente di Elasticsearch ora dovrebbe essere in esecuzione.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Infine, esegui il seguente comando per controllare il servizio Elasticsearch e assicurarti che sia in esecuzione. Dovresti vedere l'output che il servizio Elasticsearch è in esecuzione e abilitato.

sudo systemctl status ealsticsearch

Inoltre, puoi anche accedere al tuo server Elasticsearch tramite il comando curl di seguito. Dovresti ottenere l'output delle informazioni di base sul tuo server Elasticsearch, inclusi il nome del cluster, l'uuuid del cluster, la versione di Elasticsearch e la versione di Lucene (il nucleo di Elasticsearch).

curl localhost:9200

Installazione del server Graylog

Dopo aver installato Java OpenJDK, MongoDB e Elasticsearch, ora dovrai installare Graylog Server. Prima di ciò, dovrai configurare il repository Graylog sul server Rocky Linux. Quindi, è possibile iniziare a configurare Graylog Server, che include la configurazione dell'autenticazione della password per Graylog e l'impostazione dell'indirizzo http_bind_address che verrà utilizzato da Graylog Server.

Al momento della stesura di questo documento, l'ultima versione di Graylog Server è la v4.3. Esegui il seguente comando per aggiungere il repository Graylog al tuo server.

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm

Controllare l'elenco dei repository per Graylog Server utilizzando il comando seguente. Dovresti vedere che il repository Graylog Server è stato aggiunto.

sudo dnf repolist

Successivamente, esegui il seguente comando dnf per installare il pacchetto Graylog Server. Quando viene richiesto di confermare l'installazione, immettere y per confermare e premere INVIO.

sudo dnf install graylog-server graylog-integrations-plugins

Inoltre, ti verrà chiesto di aggiungere la chiave GPG al repository Graylog Server. Immettere y per aggiungere la chiave GPG al sistema e premere INVIO. E l'installazione di Graylog Server sarà terminata.

Ora configurerai il Graylog Server di base. prima di ciò, esegui il comando dnf qui sotto per installare il pacchetto pwgen. Immettere y quando viene richiesto di confermare l'installazione e premere INVIO.

Il pacchetto pwgen fornisce uno strumento a riga di comando per la generazione di segreti e password che verranno utilizzati per configurare Graylog Server.

sudo dnf install pwgen

Successivamente, esegui il seguente comando pwgen per generare password_secret per Graylog Server. Assicurati di copiare il segreto generato nella tua nota.

sudo pwgen -N 1 -s 96

Ora esegui il seguente comando per generare la password hash sha256 di root_password_sha2 per Graylog Server. questa password verrà utilizzata per accedere alla dashboard di Graylog Server. Assicurati di utilizzare la password complessa e copia la password hash sha256 generata nella tua nota.

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

Successivamente, modifica il file di configurazione del server Graylog /etc/graylog/server/server.conf utilizzando il comando seguente.

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

Cambia il valore dell'opzione password_secret e root_password_sha2 con la tua password generata. Inoltre, puoi anche modificare il nome utente predefinito per l'accesso al server Graylog sull'opzione graylog_username.

password_secret = R8zwuO2NDewUcwRFQ0QDm07tn6AppmwThty0aagxOoqMDWNqPJLwrffpz7DdQyQVY1uHq54QwgYMNkZnBLuXQf3B1giq5RKX
root_password_sha2 = a7fdfe53e2a13cb602def10146388c65051c67e60ee55c051668a1c709449111

Ora cambia l'opzione http_bind_address con l'indirizzo IP interno del tuo server. Inoltre, la porta predefinita per Graylog Server è TCP 9000.

http_bind_address = 0.0.0.0:9000

Salva e chiudi il file quando hai finito.

Ora esegui il seguente comando systemctl per ricaricare il gestore systemd e applicare il file di servizio Graylog Server.

sudo systemctl daemon-reload

Avviare e abilitare il servizio graylog-server utilizzando il comando systemctl di seguito. Il server Graylog dovrebbe ora essere in esecuzione e abilitato, che verrà avviato automaticamente all'avvio del sistema.

sudo systemctl enable graylog-server
sudo systemctl start graylog-server

Controllare e verificare il servizio graylog-server utilizzando il seguente comando. Dovresti vedere l'output dello stato corrente di Graylog Server è in esecuzione, è abilitato e verrà eseguito automaticamente all'avvio.

sudo systemctl status graylog-server

Infine, sarà necessario aggiungere al firewalld la porta 9000 utilizzata dal server Graylog.

Esegui il seguente comando firewall-cmd per aggiungere la porta 9000 al file firewalld. Quindi, ricarica le regole firewalld per applicare le nuove modifiche.

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

Configurazione di SELinux

Se stai eseguendo Graylog Server con SELinux abilitato nella modalità di applicazione, dovrai configurare le regole SELinux per Graylog Server.

Prima di gestire SELinux, eseguire il comando dnf di seguito per installare lo strumento della riga di comando per la gestione di SELinux. Quando viene richiesto di confermare l'installazione, immettere ye premere INVIO.

sudo dnf install policycoreutils policycoreutils-python-utils

Successivamente, esegui il seguente comando per aggiungere le regole SELinux per Graylog Server, Elasticsearch e MongoDB.

sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017

Ora puoi accedere al tuo Graylog Server.

Crea nuovo input Graylog

Per poter ricevere i log dalle tue applicazioni o macchine client, dovrai impostare un input sul tuo Graylog Server. Esistono diversi tipi di input Graylog che è possibile utilizzare, controllare la documentazione Graylog per i dettagli. L'input Graylog verrà eseguito sul protocollo TCP/UDP e sarà in grado di ricevere log in più formati come Syslog, GELF, CEF o RAW. Inoltre, puoi ricevere i log in modo sicuro tramite il protocollo TCP/HTTPS.

In questa demo, creerai un input Graylog che verrà utilizzato per ricevere i log dai client di una macchina Linux. Questo input utilizzerà \Syslog UDP\ e riceverà i messaggi di log dalla macchina client tramite il protocollo UDP.

Apri il browser Web e visita l'indirizzo IP del server seguito dalla porta Graylog Server 9000 (ovvero http://192.168.5.100:9000/). Verrà visualizzata la pagina di accesso dell'installazione di Graylog Server.

Per accedere alla dashboard di Graylog Server, inserisci nome utente e password. Quindi, fai clic su Accedi.

Ora dovresti vedere la nuova finestra del pannello di amministrazione di Graylog Server.

Per creare un nuovo input Graylog, fare clic sul menu \Sistema\ e selezionare \Ingressi\.

Selezionare il tipo di input e fare clic su \Avvia nuovo input\. In questo esempio, creerai un nuovo tipo di input \Syslog UDP\. Tutti i computer client Linux invieranno i log tramite il protocollo Syslog UDP a questo input.

Ora inserisci i dettagli del tuo nuovo input come di seguito:

  • Titolo: useremo il titolo syslog-udp-input.
  • Bind address: inserisci l'indirizzo IP interno del tuo Graylog Server, oppure puoi usare 0.0.0.0 se sei sulla rete interna.
  • Porta: in questo esempio, utilizzeremo la porta UDP 5142 per questo input.

Ora fai clic su \Salva\ per aggiungere l'input.

Ora dovresti vedere lo stato del tuo input Graylog con lo stato \in esecuzione\. E in fondo, dovresti vedere informazioni dettagliate sul tuo input Graylog.

Infine, torna al tuo server Graylog ed esegui il comando firewall-cmd di seguito per aggiungere la porta UDP 5142 che verrà utilizzata da syslog-udp-input.

sudo firewall-cmd --add-port=5142/udp --permanent
sudo firewall-cmd --reload

Invio del registro tramite Ingest Syslog al server Graylog

Hai creato l'input UDP Graylog Syslog sul server Graylog. Ora configurerai una macchina Linux per utilizzare Rsyslog per inviare i log al server Graylog. In questo esempio, utilizzeremo la macchina clinet Rocky Linux con il nome host \linux-host1\ e l'indirizzo IP del server Graylog è 192.168.5.100.

Connettiti al tuo computer client Linux ed esegui il seguente comando per controllare il servizio rsyslog sul tuo computer Linux. Dovresti ottenere l'output del servizio rsyslog in esecuzione.

sudo systemctl status rsyslog

Successivamente, crea un nuovo file di configurazione rsyslog aggiuntivo che verrà utilizzato per inviare i registri al server Graylog. Esegui il seguente comando per creare un nuovo file /etc/rsyslog.d/graylog.conf.

sudo nano /etc/rsyslog.d/graylog.conf

Aggiungere la seguente configurazione al file. Con questa configurazione, il servizio rsyslog su linux-host1 invierà i log all'input del server Graylog che viene eseguito sull'indirizzo IP del server 192.168.5.100 con la porta UDP 5142.

*.*@192.168.5.100:5142;RSYSLOG_SyslogProtocol23Format

Salva e chiudi il file quando hai finito.

Ora esegui il seguente comando systemctl per riavviare il servizio rsyslog e applicare le nuove modifiche al file di configurazione. E il servizio rsyslog invierà i log di sistema al server Graylog, puoi aspettare qualche minuto.

sudo systemctl restart rsyslog

Quindi, torna al dashboard di amministrazione di Graylog Server. Quindi, fai clic sul menu \Cerca\. Ora dovresti vedere i log dalla macchina linux-host1 ed è disponibile sul server Graylog.

Conclusione

Durante questo tutorial, hai imparato come installare Graylog Server sul server Rocky Linux. Ciò include l'installazione di alcune dipendenze come Java OpenJDK, Elasticsearch e MongoDB. Inoltre, hai configurato Graylog Server su Rocky Linux con SELinux abilitato con modalità di applicazione e firewalld abilitato.

Alla fine, ora hai imparato come impostare Graylog Input con il tipo \Syslog UDP\ che può essere utilizzato come sistema di gestione dei log centralizzato per macchine Linux. Inoltre, hai imparato come inviare i log dalle macchine Linux al server Graylog tramite il servizio Rsyslog. Ora hai anche configurato più input per le tue applicazioni o aggiunto nuove macchine Linux al server Graylog.