Graylog è uno strumento di gestione dei registri open source che ti aiuta a raccogliere, archiviare e analizzare i registri delle macchine in una posizione centrale.
Impostazione Graylog
Per impostare un Graylog nel tuo ambiente, hai bisogno dei seguenti software.
- MongoDB – Memorizza le configurazioni e le metainformazioni.
- Elasticsearch – Memorizza i messaggi di registro ricevuti dal server Graylog e fornisce una funzione per cercarli quando necessario. Elasticsearch è un generatore di risorse in quanto esegue l'indicizzazione dei dati, quindi alloca più memoria e utilizza dischi SAS o SAN.
- Server Graylog:analizza i registri provenienti da vari input e fornisce un'interfaccia Web integrata per gestire tali registri.
Questa guida ti aiuterà a installare Graylog su CentOS 8 / RHEL 8.
Prerequisiti
Archivio EPEL
Dobbiamo abilitare il repository EPEL per scaricare e installare le utilità richieste.
Installa pacchetti
Dovresti installare i seguenti pacchetti per l'installazione di Graylog.
dnf install -y wget pwgen perl-Digest-SHA
Installa Java
Elasticsearch richiede che Java sia installato sulla macchina. Quindi, installa OpenJDK o Oracle JDK.
dnf install -y java-1.8.0-openjdk-headless
Verifica la versione Java.
java -version
Risultato:
openjdk version "1.8.0_242" OpenJDK Runtime Environment (build 1.8.0_242-b08) OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
Installa Elasticsearch
Elasticsearch è uno dei software importanti nella configurazione di Graylog. Lo scopo di Elasticsearh è quello di archiviare i dati provenienti dall'input di Graylog e di visualizzarli sull'interfaccia Web integrata di Graylog su richiesta.
Graylog supporta Eleasticsearch v6.x.
Importa la chiave di firma GPG prima dell'installazione.
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Configura un repository per ottenere il pacchetto Elasticsearch v6.x dal repository ufficiale.
cat << EOF > /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
Ora installa il pacchetto Elasticsearch usando il comando dnf.
dnf install -y elasticsearch-oss
Per far funzionare Elasticsearch con la configurazione di Graylog, dobbiamo impostare il nome del cluster su graylog.
Modifica il file elasticsearch.yml.
vi /etc/elasticsearch/elasticsearch.yml
Aggiornalo, come mostrato di seguito.
cluster.name: graylog action.auto_create_index: false
Ricarica il demone systemctl e abilita Elasticsearch per l'avvio automatico all'avvio del sistema.
systemctl daemon-reload
systemctl enable elasticsearch
Riavvia Elasticsearch.
systemctl restart elasticsearch
Concediti un minuto o due per avviare completamente Elasticsearch.
Ora Elastisearch dovrebbe essere in ascolto su 9200 per l'elaborazione delle richieste HTTP. Usa il comando CURL per controllare la risposta.
curl -X GET http://localhost:9200
Il nome del cluster dovrebbe essere graylog.
{ "name" : "eaTfFg6", "cluster_name" : "graylog", "cluster_uuid" : "u-ageNH-RHGIzpfxDtNsgQ", "version" : { "number" : "6.8.6", "build_flavor" : "oss", "build_type" : "rpm", "build_hash" : "3d9f765", "build_date" : "2019-12-13T17:11:52.013738Z", "build_snapshot" : false, "lucene_version" : "7.7.2", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Installa MongoDB
MongoDB funge da database per memorizzare le configurazioni e le meta informazioni.
Graylog supporta solo MongoDB v4.0.Utilizzeremo il repository ufficiale di MongoDB per ottenere la versione richiesta.
cat << EOF > /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Installa l'edizione community di MongoDB utilizzando il comando seguente.
dnf install -y mongodb-org
Avvia il servizio MongoDB e abilitalo all'avvio del sistema.
systemctl start mongod
systemctl enable mongod
Installa Graylog
Il server Graylog accetta ed elabora i messaggi di registro provenienti da vari input e mostra i dati alle richieste che provengono dall'interfaccia web di graylog con l'aiuto di Elasticsearch.
Installa il repository Graylog rpm per configurare automaticamente la configurazione del repository.
dnf install -y https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm
Installa il server Graylog usando il comando seguente.
dnf install -y graylog-server
Modifica il file server.conf per iniziare la configurazione del graylog.
vi /etc/graylog/server/server.conf
Usa il comando seguente per creare un segreto
pwgen -N 1 -s 96
Risultato:
1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Inserisci il segreto nel file server.conf.
password_secret = 1dcw10Snsvk1bKgkARGNaalO3QeZqkPG8pUcbJO3oF5ktYvDUeqRTaErFixOR95Nrv40FCFRClXIdnxwknGtl4HDrTspWmom
Imposta la password hash per l'utente root, ovvero admin di graylog. Avresti bisogno di questa password per accedere all'interfaccia web di Graylog.
Se vuoi cambiare/reimpostare la password dimenticata dell'amministratore di Gralog, puoi modificare/aggiornare il server.conf con una password hash.Genera una password con hash usando il comando seguente. Sostituisci la tua password con la tua scelta.
echo -n yourpassword | shasum -a 256
Risultato:
e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Inserisci la password hash.
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951
Puoi impostare un indirizzo email per l'utente amministratore.
root_email = "[email protected]"
Imposta il fuso orario dell'utente root (amministratore).
root_timezone = UTC
Configura interfaccia web Graylog
A partire dalla versione Graylog 2.x, l'interfaccia web è servita direttamente dal server Graylog. Abilita l'interfaccia web Graylog modificando il file server.conf.
vi /etc/graylog/server/server.conf
Modificare le voci per consentire a Graylog Web Interface di connettersi al server Graylog. Sostituisci 192.168.0.10 con l'indirizzo IP del tuo sistema.
http_bind_address = 192.168.0.10:9000Se ti capita di accedere al Graylog utilizzando l'indirizzo IP pubblico a causa del NAT, aggiorna i valori seguenti. Altrimenti, saltalo.
http_external_uri = http://public_ip:9000/
Riavvia il servizio Graylog.
systemctl daemon-reload
systemctl restart graylog-server
Fai in modo che il server Graylog si avvii automaticamente all'avvio del sistema.
systemctl enable graylog-server
Puoi controllare i log di avvio del server per risolvere Graylog per eventuali problemi.
tail -f /var/log/graylog-server/server.log
Se tutto va bene, dovresti vedere il messaggio del server attivo e funzionante nel file server.log.
2020-02-08T10:26:54.484-05:00 INFO [ServerBootstrap] Graylog server up and running.
Firewall
In CentOS 8 / RHEL 8, le regole del firewall sono impostate per bloccare la maggior parte del traffico proveniente dalle macchine esterne per impostazione predefinita.
Aggiungi una regola di autorizzazione per l'interfaccia web di Graylog in modo che possiamo accedervi da macchine esterne.
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --reload
Accedi all'interfaccia web di Graylog
Accedi all'interfaccia web andando all'URL sottostante.
http://ip.add.re.ss:9000Accedi con il nome utente admin e la password che hai configurato in root_password_sha2 su server.conf.
Una volta effettuato l'accesso, vedrai la pagina introduttiva.
Fare clic su Sistema » Panoramica per conoscere lo stato del server Graylog.
Conclusione
È tutto. Hai installato correttamente Graylog su CentOS 8 / RHEL 8. Nel prossimo articolo, configureremo Graylog per ricevere i registri Rsyslog da fonti esterne. Come ulteriore lettura, puoi provare a configurare Nginx o Apache come proxy inverso e impostare HTTPS per l'interfaccia Web Graylog.