Hur att övervaka loggfiler med Graylog2 på Debian 9

Hur att övervaka loggfiler med Graylog2 på Debian 9

Det är lagarbete, men enklare, trevligare och mer produktiva.

Graylog är en fri och öppen källkod logghantering verktyg baserat på Java, Elasticsearch och MongoDB som kan användas för att samla in, index och analysera alla servrar log från en central plats. Du kan enkelt övervaka SSH inloggningar och ovanlig aktivitet för felsökning program och loggar använder Graylog. Graylog ger en kraftfull frågespråk, varna förmågor, en bearbetnings pipeline för dataomvandling och mycket mer. Du kan utöka funktionerna i Graylog genom REST API och Add-ons.

Graylog består av tre komponenter:

  1. Elasticsearch: Den lagrar alla inkommande meddelanden och ger en sökning anläggning.
  2. MongoDB: Det används för databas, lagrar konfigurationer och metainformation.
  3. Graylog server: Den tar emot och behandlar meddelanden från olika ingångar och ger ett webbgränssnitt för analys och övervakning.

I denna tutorial, Vi kommer att förklara hur man installerar Graylog2 på Debian 9 Server.

Förutsättning

  • En server som kör Debian 9.
  • Minsta 4 GB RAM.
  • En statisk IP-adress 192.168.0.187 installation på din server.

1 Installera nödvändiga paket

Innan du börjar, du kommer att behöva installera Java 8 och andra krävs paket till ditt system. Inte alla nödvändiga paket finns tillgängliga i Debian 9 standardförvaret, så du kommer att behöva lägga Debian updates till listan över paketkälla. Första, logga in med root och skapa en backport.list fil:

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

Lägg till följande rad:

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

Spara filen när du är klar, sedan uppdatera ditt system med följande kommando:

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

När ditt system är uppdaterat, installera alla paket med följande kommando:

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

När alla nödvändiga paketen är installerade, du kan fortsätta att installera MongoDB.

2 Installera MongoDB

MongoDB krävs för att lagra konfiguration och metainformation. MongoDB finns i Debian 9 standard förvaret, så att du kan installera MongoDB genom att bara köra följande kommando:

apt-get install mongodb-server -y

När MongoDB är installerat, du kan fortsätta att installera Elasticsearch.

3 Installera Elasticsearch

Elasticsearch är fungerar som en sökning server som lagrar alla stockar som skickas av Graylog servern och visar meddelanden när du begär. Elasticsearch är inte tillgänglig i Debian 9 standard förvaret. Du kommer att behöva lägga till Elasticsearch förvaret till Debian källkodspaket.

Första, ladda ner och lägga till Elasticsearch GPG nyckel med följande kommando:

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

Nästa, skapa en Elasticsearch repo-fil med följande kommando:

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

Lägg till följande rad:

deb https://packages.elastic.co/elasticsearch/2.x/debian stabil huvud

Spara filen när du är klar, sedan uppdatera förvaret genom att köra följande kommando:

apt-get update -y

Nästa, installera Elasticsearch genom att köra följande kommando:

apt-get install elasticsearch y

När Elasticsearch är installerat, du kommer att behöva ändra Elasticsearch huvudkonfigurationsfilen:

nano /etc/elasticsearch/elasticsearch.yml

Gör följande ändringar:

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"]

Spara och Stäng filen när du är klar, sedan starta Elasticsearch service och gör det möjligt att starta vid uppstart:

systemctl börja elasticsearch
systemctl möjliggöra elasticsearch

Efter några sekunder, Kör följande för att testa att Elasticsearch körs på rätt sätt:

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

Kontrollera att utgång visar klustret status som “grön”:

{
  "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
}

När Elasticsearch är installerad och fungerar bra, du kan gå vidare till nästa steg.

4 Installera Graylog

Graylog är inte tillgänglig i Debian 9 standard förvaret, så du kommer att behöva hämta och installera Graylog 2 förvaret första. Du kan göra detta genom att köra följande kommando:

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

När förvaret är installerat, uppdatera förvaret och installera Graylog server med följande kommando:

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

Efter att ha installerat Graylog, du kommer att behöva ställa in en hemlighet att säkra användarlösenord och även ställa in en hash (sha256) lösenord för root-användare.

Första, generera password_secret med följande kommando:

pwgen -N 1 -s 96

Du bör se följande utdata:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Nästa, generera hash lösenord för root-användare med följande kommando:

echo -n youradminpassword | sha256sum

Du bör se följande utdata:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Obs! Kom ihåg både lösenord nyckel, eftersom både nyckeln kommer att behöva konfigureras i server.conf.

Nästa, du kommer att behöva ändra Graylog server huvud konfigurationsfil i / etc / graylog / server / katalog:

nano /etc/graylog/server/server.conf

Gör följande ändringar:

is_master = true
node_id_file = /etc/graylog/server/node-id
########past-your-password-secret-here#########
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 = count
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 7
retention_strategy = delete
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:9300
elasticsearch_http_enabled = 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 = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
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

Spara och Stäng filen när du är klar, sedan starta Graylog service och gör det möjligt att starta vid uppstart:

systemctl börja graylog-server
systemctl möjliggöra graylog-server

När du är färdig, du kan gå vidare till nästa steg

5 Konfigurera brandvägg

Som standard, Graylog webbgränssnitt lyssnar på port 9000, så du måste tillåta port 9000 genom UFW brandvägg. UFW brandvägg är inte installerad i Debian 9. Så du kommer att behöva installera det första. Du kan installera det genom att köra följande kommando:

apt-get install ufw y

När UFW är installerat, aktivera den genom att köra följande kommando;

ufw möjliggöra

Nästa, tillåta port 9000 genom UFW brandväggen genom att köra följande kommando:

ufw tillåta 9000

Du kan kontrollera status för UFW brandvägg som helst genom att köra följande kommando.

ufw status

När brandväggen är konfigurerad, du kan gå vidare till nästa steg.

6 Tillgång Graylog Web Interface

Graylog webbgränssnitt lyssnar på port 9000. Nu, Öppna webbläsaren och skriv webbadressen http://192.168.0.187:9000, bör du se följande skärm:

Graylog Interface

Logga in med användarnamn “admin” och det lösenord du konfigurerat på root_password_sha2 på server.conf. Du bör se följande skärm:

Graylog komma igång

Nästa, du kommer att behöva lägga till ingången för att ta emot syslog budskap med hjälp av UDP. För att lägga till ingången, Klicka på System -> välj Ingångar -> Syslog UDP -> klicka på Starta ny input knappen, bör du se följande skärm:

Lägg källa i Graylog

Fyll upp alla detaljer såsom titel, Hamn, Bind adress och slutligen klicka på Spara, bör du se följande skärm:

Log källa detalj

Nu Graylog servern får systemloggarna använder hamnen 8514 från klient eller server.

På klientsystemet, du kommer att behöva konfigurera rsyslog så att det kommer att sända systemloggarna meddelanden till Graylog servern. Du kan göra detta genom att redigera rsyslog.conf fil:

nano /etc/rsyslog.conf

Lägg till följande rader:

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

Spara filen och starta rsyslog tjänsten att tillämpa dessa ändringar:

systemctl omstart rsyslog

Nästa, på servern klickar Graylog på “Graylog Källor” du kan se ssh log med misslyckade inloggningsförsök i följande skärm.

Övervaka inloggningsförsök med Graylog

Slutsats

Grattis! du framgångsrikt har installerat och konfigurerat Graylog server på Debian 9. Du kan nu enkelt se loggar och analys av systemloggar från det centrala läget. Du kan också anpassa Graylog och skicka en annan typ av stockar enligt dina behov. Du kan få mer information från dokumentationssidan Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Tveka inte att kommentera mig om du har några frågor.

Källa