Come monitorare i file di registro con Graylog2 su Debian 9

Come monitorare i file di registro con Graylog2 su Debian 9

Di lavoro di squadra, ma più semplice, più piacevole e più produttivo.

Graylog è uno strumento di gestione del registro libero e open source basato su Java, Elasticsearch e MongoDB che può essere utilizzato per raccogliere, indicizzare e analizzare qualsiasi log server da una postazione centralizzata. Si può facilmente monitorare i SSH login e attività insolite per il debug di applicazioni e i registri utilizzando Graylog. Graylog fornisce un linguaggio di query avanzate, abilità di avviso, una pipeline di elaborazione per la trasformazione dei dati e molto altro. È possibile estendere la funzionalità del Graylog attraverso un'API REST e componenti aggiuntivi.

Graylog è costituito da tre componenti:

  1. Elasticsearch: Memorizza tutti i messaggi di in ingresso e fornire una struttura di ricerca.
  2. MongoDB: È usato per database, memorizza le configurazioni e le meta-informazioni.
  3. Graylog server: riceve ed elabora i messaggi da vari input e fornire un'interfaccia web per l'analisi e il monitoraggio.

In questo tutorial, vi 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 installazione sul vostro server.

1 Installare i pacchetti necessari

Prima di iniziare, sarà necessario installare Java 8 e altri pacchetti necessari al vostro sistema. Non tutte le richieste sono disponibili pacchetti in Debian 9 repository standard, quindi sarà necessario aggiungere all'elenco di origine del pacchetto Debian Backports. Prima, effettuare il login con utente root e creare un file di backport.list:

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

Aggiungere la seguente riga:

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

Salvare il file dopo aver terminato, quindi aggiornare il sistema con il seguente comando:

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

Una volta che il sistema sia aggiornato, installare tutti i pacchetti con il comando seguente:

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

Una volta installati tutti i pacchetti necessari, si può procedere ad installare MongoDB.

2 Installare MongoDB

MongoDB è necessaria per memorizzare la configurazione e le meta-informazioni. MongoDB è disponibile in Debian 9 repository predefinito, così è possibile installare MongoDB eseguendo semplicemente il seguente comando:

apt-get install server mongodb - y

Una volta installato MongoDB, si può procedere ad installare Elasticsearch.

3 Installare Elasticsearch

Elasticsearch è atti come un server di ricerca che memorizza tutti i registri inviati dal server Graylog e Visualizza i messaggi ogni volta che si richiede. Elasticsearch non è disponibile in Debian 9 repository predefinito. Sarà necessario aggiungere il repository di Elasticsearch all'origine del pacchetto Debian.

Prima, scaricare e aggiungere la chiave GPG Elasticsearch con il seguente comando:

wget - qO – https://packages.Elastic.co/GPG-Key-elasticsearch | apt-key aggiungere –

Prossimo, creare un file. repo Elasticsearch con il seguente comando:

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

Aggiungere la seguente riga:

stabile di https://packages.elastic.co/elasticsearch/2.x/debian deb principale

Salvare il file quando sei finitura, quindi aggiornare il repository eseguendo il seguente comando:

apt-get update -y

Prossimo, installare Elasticsearch eseguendo il seguente comando:

apt-get install elasticsearch -y

Una volta installato Elasticsearch, sarà necessario modificare il file di configurazione principale di Elasticsearch:

nano /etc/elasticsearch/elasticsearch.yml

Apportare le seguenti modifiche:

cluster.Name: graylog network.host: 192.168.0.187
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.0.187:9300"]

Salvare e chiudere il file dopo aver terminato, quindi avviare il servizio di Elasticsearch e consentirgli di avviare al boot:

systemctl start elasticsearch
systemctl enable elasticsearch

Dopo pochi secondi, eseguire le operazioni seguenti per verificare che Elasticsearch sono in esecuzione correttamente:

curl - XGET ' http://192.168.0.187:9200/_cluster/salute? piuttosto = true’

Assicurarsi che l'output Mostra 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,
  "active_shards_percent_as_number" : 50.0
}

Una volta installato Elasticsearch e lavorando bene, è possibile procedere al passaggio successivo.

4 Installare Graylog

Graylog non è disponibile in Debian 9 repository predefinito, quindi sarà necessario scaricare e installare Graylog 2 repository di prima. È possibile 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, aggiornare il repository e installare Graylog server con il seguente comando:

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

Dopo l'installazione di Graylog, sarà necessario impostare un segreto per proteggere le password utente e anche impostare una password hash (sha256) per l'utente root.

Prima, generare password_secret con il seguente comando:

pwgen -N 1 -s 96

Si dovrebbe vedere il seguente output:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Prossimo, generare l'hash della password per l'utente root con il comando seguente:

echo - n youradminpassword | sha256sum

Si dovrebbe vedere il seguente output:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Nota: Ricordare chiave sia password, perché sarà necessario chiave sia configurato nella conf.

Prossimo, sarà necessario modificare il file di configurazione principale del server Graylog trovano in/etc/graylog/server/directory:

nano /etc/graylog/server/server.conf

Apportare le seguenti modifiche:

is_master = true node_id_file = /etc/graylog/server/node-id ###past-tuo-password-segreto-# # # password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC root_username = admin ###past-your-root-hash-password-here### root_password_sha2 = e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee root_timezone = UTC plugin_dir = /usr/share/graylog-server/plugin rest_listen_uri = http://0.0.0.0:9000/api/rest_enable_cors = true web_listen_uri = http://0.0.0.0:9000 / rotation_strategy = conteggio elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 7
retention_strategy = Elimina elasticsearch_shards = 4
elasticsearch_replicas = 1
elasticsearch_index_prefix = graylog allow_leading_wildcard_searches = true allow_highlighting = false elasticsearch_cluster_name = graylog elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.0.187: elasticsearch_http_enabled 9300 = false elasticsearch_network_host = 0.0.00
elasticsearch_discovery_initial_state_timeout = 3s elasticsearch_analyzer = standard output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
processbuffer_processors = 5
outputbuffer_processors = 3
processor_wait_strategy = blocco ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocco message_journal_enabled = true message_journal_dir = /var/lib/graylog-server/journal async_eventbus_processors = 2
lb_recognition_period_seconds = 3
alert_check_interval = 60
mongodb_uri = mongodb://localhost/graylog mongodb_max_connections = 1000
mongodb_threads_allowed_to_block_multiplier = 5
content_packs_dir = /usr/share/graylog-server/contentpacks content_packs_auto_load = grok-patterns.json proxied_requests_thread_pool_size = 32

Salvare e chiudere il file dopo aver terminato, quindi avviare il servizio di Graylog e consentirgli di avviare al boot:

graylog-server di systemctl start
systemctl enable graylog-server

Una volta terminato, è possibile procedere al passaggio successivo

5 Configurare il Firewall

Per impostazione predefinita, Graylog interfaccia web è in ascolto sulla porta 9000, quindi sarà necessario consentire porta 9000 attraverso firewall UFW. UFW firewall non è installato in Debian 9. Quindi sarà necessario installare prima. È possibile installarlo eseguendo il seguente comando:

apt-get install ufw -y

Una volta installato UFW, abilitarlo eseguendo il seguente comando;

ufw enable

Prossimo, consentire la porta 9000 attraverso firewall UFW eseguendo il seguente comando:

ufw consentono 9000

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

ufw status

Una volta che il firewall è configurato, è possibile procedere al passaggio successivo.

6 Interfaccia di Graylog Web Access

Graylog interfaccia web è in ascolto sulla porta 9000. Ora, Aprire il browser web e digitare l'URL http://192.168.0.187:9000, si dovrebbe vedere la seguente schermata:

Interfaccia Graylog

Login con nome utente “admin” e la password che è configurata a root_password_sha2 su server. conf. Si dovrebbe vedere la seguente schermata:

Graylog Guida introduttiva

Prossimo, sarà necessario aggiungere l'input per ricevere il messaggio di syslog utilizzando il protocollo UDP. Per aggiungere l'input, Fare clic su sistema-> Selezionare gli ingressi-> Syslog UDP-> fare clic sul pulsante di input nuovo lancio, si dovrebbe vedere la seguente schermata:

Aggiungere la sorgente di ingresso in Graylog

Riempire tutti i dettagli come il titolo, Porta, Associare l'indirizzo e infine fare clic sul pulsante Salva, si dovrebbe vedere la seguente schermata:

Dettaglio di origine di registro

Ora il server Graylog riceveranno i registri di sistema utilizzando la porta 8514 dal client o dal server.

Sul sistema Client, sarà necessario configurare rsyslog, in modo che invierà i messaggi di log di sistema al server Graylog. È possibile farlo modificando il file rsyslog.conf:

nano /etc/rsyslog.conf

Aggiungere le seguenti righe:

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

Salvare il file e riavviare il servizio di rsyslog per applicare queste modifiche:

systemctl riavvio rsyslog

Prossimo, il server Graylog clic sulla “Fonti Graylog” si può vedere il ssh login con tentativi di login nella seguente schermata.

Tentativi di accesso monitor con Graylog

Conclusione

Congratulazioni! aver correttamente installato e configurato Graylog server su Debian 9. Ora si può facilmente vedere i registri e l'analisi dei registri di sistema dalla posizione centrale. È anche possibile personalizzare Graylog e inviare un altro tipo di registri secondo il vostro bisogno. È possibile ottenere ulteriori informazioni dalla pagina di documentazione Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Sentitevi liberi di commentare me se avete domande.

Fonte

una risposta

  1. Nathaniel Simch de Morais

Lasciare una risposta