GNU/Linux >> Linux Esercitazione >  >> Debian

Come monitorare i file di registro con Graylog2 su Debian 9

Graylog è uno strumento di gestione dei log gratuito e open source basato su Java, Elasticsearch e MongoDB che può essere utilizzato per raccogliere, indicizzare e analizzare qualsiasi log del server da una posizione centralizzata. Puoi monitorare facilmente gli accessi SSH e le attività insolite per il debug di applicazioni e log utilizzando Graylog. Graylog fornisce un potente linguaggio di query, capacità di avviso, una pipeline di elaborazione per la trasformazione dei dati e molto altro. Puoi estendere la funzionalità di Graylog tramite un'API REST e componenti aggiuntivi.

Graylog è composto da tre componenti:

  1. Ricerca elastica:memorizza tutti i messaggi in arrivo e fornisce una funzione di ricerca.
  2. MongoDB:viene utilizzato per il database, memorizza le configurazioni e le meta informazioni.
  3. Server Graylog:riceve ed elabora messaggi da vari input e fornisce un'interfaccia web per l'analisi e il monitoraggio.

In questo tutorial, spiegheremo come installare Graylog2 su Debian 9 Server.

Prerequisito

  • Un server che esegue Debian 9.
  • Minimo 4 GB di RAM.
  • Un indirizzo IP statico 192.168.0.187 configurato sul tuo server.

1 Installa i pacchetti richiesti

Prima di iniziare, dovrai installare Java 8 e altri pacchetti richiesti sul tuo sistema. Non tutti i pacchetti richiesti sono disponibili nel repository standard di Debian 9, quindi dovrai aggiungere Debian Backports all'elenco dei sorgenti dei pacchetti. Innanzitutto, accedi con l'utente root e crea un file backport.list:

nano /etc/apt/sources.list.d/backport.list

Aggiungi la seguente riga:

deb http://ftp.debian.org/debian stretch-backports main

Salva il file quando hai finito, quindi aggiorna il tuo sistema con il seguente comando:

apt-get update -y
apt-get upgrade -y

Una volta che il tuo sistema è aggiornato, installa tutti i pacchetti con il seguente comando:

apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen -y

Una volta installati tutti i pacchetti richiesti, puoi procedere con l'installazione di MongoDB.

2 Installa MongoDB

MongoDB è necessario per memorizzare la configurazione e le meta informazioni. MongoDB è disponibile nel repository predefinito di Debian 9, quindi puoi installare MongoDB semplicemente eseguendo il seguente comando:

apt-get install mongodb-server -y

Una volta installato MongoDB, puoi procedere con l'installazione di Elasticsearch.

3 Installa Elasticsearch

Elasticsearch agisce come un server di ricerca che archivia tutti i log inviati dal server Graylog e visualizza i messaggi ogni volta che lo richiedi. Elasticsearch non è disponibile nel repository predefinito di Debian 9. Dovrai aggiungere il repository Elasticsearch al sorgente del pacchetto Debian.

Innanzitutto, scarica e aggiungi la chiave GPG di Elasticsearch con il seguente comando:

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Quindi, crea un file repo Elasticsearch con il seguente comando:

nano /etc/apt/sources.list.d/elasticsearch.list

Aggiungi la seguente riga:

deb https://packages.elastic.co/elasticsearch/2.x/debian stable main

Salva il file al termine, quindi aggiorna il repository eseguendo il comando seguente:

apt-get update -y

Quindi, installa Elasticsearch eseguendo il seguente comando:

apt-get install elasticsearch -y

Una volta installato Elasticsearch, dovrai modificare il file di configurazione principale di Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Apporta le seguenti modifiche:

cluster.name:graylognetwork.host:192.168.0.187discovery.zen.ping.timeout:10sdiscovery.zen.ping.multicast.enabled:falsediscovery.zen.ping.unicast.hosts:["192.168.0.187:9300" ]

Salva e chiudi il file al termine, quindi avvia il servizio Elasticsearch e abilitalo all'avvio all'avvio:

systemctl avvia elasticsearch
systemctl abilita elasticsearch

Dopo alcuni secondi, esegui quanto segue per verificare che Elasticsearch funzioni correttamente:

curl -XGET 'http://192.168.0.187:9200/_cluster/health?pretty=true'

Assicurati che l'output mostri lo stato del cluster come "verde":

{ "cluster_name" :"graylog", "status" :"green", "timed_out" :false, "number_of_nodes" :1, "number_of_data_nodes" :1, "active_primary_shards" :1, "active_shards" :1, "relocating_shards" :0, "initializing_shards" :0, "unassigned_shards" :1, "delayed_unassigned_shards" :0, "number_of_pending_tasks" :0, "number_of_in_flight_fetch" :0, "task_max_waiting_in_queue_millis" :0, "0} 

Una volta che Elasticsearch è installato e funziona correttamente, puoi procedere al passaggio successivo.

4 Installa Graylog

Graylog non è disponibile nel repository predefinito di Debian 9, quindi dovrai prima scaricare e installare il repository Graylog 2. Puoi farlo eseguendo il seguente comando:

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

Una volta installato il repository, aggiorna il repository e installa il server Graylog con il seguente comando:

apt-get update -y
apt-get install graylog-server -y

Dopo aver installato Graylog, dovrai impostare un segreto per proteggere le password degli utenti e anche impostare una password hash (sha256) per l'utente root.

Innanzitutto, genera password_secret con il seguente comando:

pwgen -N 1 -s 96

Dovresti vedere il seguente output:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Quindi, genera la password hash per l'utente root con il seguente comando:

echo -n la tua password di amministratore | sha256somma

Dovresti vedere il seguente output:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Nota:ricorda entrambe le chiavi della password, perché entrambe le chiavi dovranno essere configurate in server.conf.

Successivamente, dovrai modificare il file di configurazione principale del server Graylog che si trova nella directory /etc/graylog/server/:

nano /etc/graylog/server/server.conf

Apporta le seguenti modifiche:

 is_master =truenode_id_file =/ etc / graylog / server / Node-ID ######## passato-il-tuo-parola-secret-qui ######### password_secret =TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyCroot_username =admin ## #####password-hash-passata-qui##########password_root_sha2 =e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750eeroot_timezone =UTCplugin_dir =/usr/share/graylog-server/uripluginrest_listen =0. :9000 / api / rest_enable_cors =trueweb_listen_uri =http://0.0.0.0:9000/rotation_strategy =countelasticsearch_max_docs_per_index =20000000elasticsearch_max_number_of_indices =7retention_strategy =deleteelasticsearch_shards =4elasticsearch_replicas =1elasticsearch_index_prefix =graylogallow_leading_wildcard_searches =trueallow_highlighting =falseelasticsearch_cluster_name =graylogelasticsearch_discovery_zen_ping_unicast_hosts =192.168.0.187:9300elasticsearch_http_enabled =falseelasticsearch_network_host =0.0 . 00elasticsearch_discovery_initial_state_timeout =3selasticsearch_analyzer =standardoutput_batch_size =500output_flush_interval =1output_fault_count_threshold =5output_fault_penalty_seconds =30processbuffer_processors =5outputbuffer_processors =3processor_wait_strategy =blockingring_size =65536inputbuffer_ring_size =65536inputbuffer_processors =2inputbuffer_wait_strategy =blockingmessage_journal_enabled =truemessage_journal_dir =/ var / lib / graylog server / journalasync_eventbus_processors =2lb_recognition_period_seconds =3alert_check_interval =60mongodb_uri =MongoDB:/ /localhost/graylogmongodb_max_connections =1000mongodb_threads_allowed_to_block_multiplier =5content_packs_dir =/usr/share/graylog-server/contentpackscontent_packs_auto_load =grok-patterns.jsonproxied_requests_thread_pool_size =32

Salva e chiudi il file al termine, quindi avvia il servizio Graylog e abilitalo all'avvio all'avvio:

systemctl avvia graylog-server
systemctl abilita graylog-server

Una volta terminato, puoi procedere al passaggio successivo

5 Configura firewall

Per impostazione predefinita, l'interfaccia Web Graylog è in ascolto sulla porta 9000, quindi sarà necessario consentire la porta 9000 tramite il firewall UFW. Il firewall UFW non è installato in Debian 9. Quindi dovrai prima installarlo. Puoi installarlo eseguendo il seguente comando:

apt-get install ufw -y

Una volta installato UFW, abilitalo eseguendo il comando seguente;

abilitazione ufw

Quindi, consenti la porta 9000 tramite il firewall UFW eseguendo il comando seguente:

ufw consente 9000

Puoi controllare lo stato del firewall UFW in qualsiasi momento eseguendo il comando seguente.

stato ufw

Una volta configurato il firewall, puoi procedere al passaggio successivo.

6 Accesso all'interfaccia Web Graylog

L'interfaccia web di Graylog è in ascolto sulla porta 9000. Ora apri il tuo browser web e digita l'URL http://192.168.0.187:9000 , dovresti vedere la seguente schermata:

Accedi con il nome utente "admin " e la password che hai configurato in root_password_sha2 su server.conf. Dovresti vedere la seguente schermata:

Successivamente, dovrai aggiungere l'input per ricevere il messaggio syslog usando l'UDP. Per aggiungere l'input, fai clic su Sistema -> seleziona Ingressi -> Syslog UDP -> fai clic sul pulsante Avvia nuovo input, dovresti vedere la seguente schermata:

Compila tutti i dettagli come Titolo, Porta, Indirizzo Bind e infine Fai clic sul pulsante Salva, dovresti vedere la seguente schermata:

Ora il server Graylog riceverà i log di sistema utilizzando la porta 8514 dal client o dal server.

Sul sistema client, sarà necessario configurare rsyslog in modo che invii i messaggi dei registri di sistema al server Graylog. Puoi farlo modificando il file rsyslog.conf:

nano /etc/rsyslog.conf

Aggiungi le seguenti righe:

# fornisce la ricezione del syslog UDP$ModLoad imudp$UDPServerRun 8514$template GRAYLOGRFC5424,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n" *.* @192.168.0.187:8514;GRAYLOGRFC5424

Salva il file e riavvia il servizio rsyslog per applicare queste modifiche:

systemctl riavvia rsyslog

Successivamente, sul server Graylog fai clic su "Sorgenti Graylog" puoi vedere il registro ssh con tentativi di accesso non riusciti nella schermata seguente.

Conclusione

Congratulazioni! hai installato e configurato con successo il server Graylog su Debian 9. Ora puoi facilmente vedere i log e l'analisi dei log di sistema dalla posizione centrale. Puoi anche personalizzare Graylog e inviare un altro tipo di log secondo le tue necessità. Puoi ottenere maggiori informazioni dalla pagina della documentazione di Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Sentiti libero di commentarmi se hai domande.


Debian
  1. Come installare Elasticsearch su Debian Linux

  2. Come installare Steam con Steam Play su Debian 10 Buster

  3. Come installare Graylog2 su Ubuntu 14.04

  4. Come installare Graylog2 su Ubuntu 15.04 / 14.10

  5. Come installare WonderCMS con Nginx su Debian 11

Come installare Debian 11 (Bullseye) con schermate

Come installare Itch con Debian 11

Come installare Elasticsearch su Debian 11 Bullseye

Come installare Graylog su Debian 9

Come installare Elasticsearch su Debian 11

Come installare phpMyAdmin con Nginx su Debian 11