Graylog Syslog Server installeren onder Ubuntu

Een klant vroeg mij om een Syslog Server te installeren, het liefst een gratis versie met mogelijkheden zoals filteren, grafieken, dashboards maken etc.
Er zijn genoeg betaalde versies die dit kunnen maar na even zoeken ben ik een prachtige gratis versie hiervan tegengekomen! Graylog Syslog Server!
In dit artikel zal ik de basisinstallatie beschrijven waarmee je aan de slag kunt om te gaan Sysloggen!

Installatie procedure

Dit artikel beschrijft de installatie onder Ubuntu Linux Server 20.04 LTS en links en pakketten zijn aanwezig op het moment van het schrijven van dit artikel per 2-9-2022 maar mogelijk kan dit aangepast worden.
Wat we niet behandelen is het beveiligen van de Linux Server!

Voorbereidingen

Natuurlijk hebben we een basis installatie nodig van Ubuntu Server 20.04 LTS.
Richt hiervoor een VM of fysieke machine in.
De ISO is hier te vinden

Voer een minimale server installatie uit en als je remote via Putty bij de machine wilt kunnen komen, installeer dan ook de OpenSSH server mee.

Na installatie dien je Linux te updaten en een aantal pakketten te installeren.
Voer hiervoor deze commando’s uit:

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt install apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen dirmngr gnupg wget

MongoDB Installatie

De officiele MongoDB repository beschikt over de meest up-to-date versie en is de aanbevolen manier om MongoDB te installeren :

$ sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 9DA31620334BD75D9DCB49F368818C72E52529D4

$ echo “deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

$ sudo apt-get update
$ sudo apt-get install -y mongodb-org

De laatste stap is het opstarten van MongoDB wanneer het systeem opgestart wordt en te controleren of MongoDB draait:

$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod.service
$ sudo systemctl restart mongod.service
$ sudo systemctl –type=service –state=active | grep mongod

Elasticsearch installatie :

Graylog kan gebruikt worden met Elasticsearch 7.x.
Gebruik onderstaande commando’s om de opensource versie hiervan te installeren

$ wget -q https://artifacts.elastic.co/GPG-KEY-elasticsearch -O myKey
$ sudo apt-key add myKey
$ echo “deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

$ sudo apt-get update && sudo apt-get install elasticsearch-oss

Pas de Elasticsearch configuratie aan (/etc/elasticsearch/elasticsearch.yml) door Clusternaam “Graylog” in te stellen en uncomment action.auto_create_index: false mbv de volgende commando’s

$ sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT

Nadat je de configuratie hebt aangepast kun je Elasticsearch starten en controleren of deze draait :

$ sudo systemctl daemon-reload
$ sudo systemctl enable elasticsearch.service
$ sudo systemctl restart elasticsearch.service
$ sudo systemctl –type=service –state=active | grep elasticsearch

Graylog installeren :

Nu gaan we Graylog installeren!

$ wget https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.deb
$ sudo dpkg -i graylog-4.3-repository_latest.deb
$sudo apt-get update && sudo apt-get install graylog-server graylog-enterprise-plugins graylog-integrations-plugins graylog-enterprise-integrations-plugins

Tip!

Als je de standaard versie van Graylog wilt draaien kun je het commando sudo apt-get install graylog-server.

Configuratie Bestand aanpassen :

Een paar zaken dienen aangepast te worden in het configuratie bestand /etc/graylog/server/server.conf

Voer een wachtwoord in bij password_secret en root_password_sha2.
Deze zijn verplicht en zonder wachtwoord zal Graylog niet starten.

om een wachtwoord te maken voer je het volgende commando uit:

echo -n “Enter Password: ” && head -1 </dev/stdin | tr -d ‘\n’ | sha256sum | cut -d” ” -f1

Voer het gewenste wachtwoord in en hieruit komt een password hash, deze kopieer en plak je in de server.conf file.

Om verbinding te kunnen maken met Graylog met je webbrowser moet je nog de http_bind_address variabele in server.conf aanpassen.
Bijvoorbeeld http_bind_address = 0.0.0.0:9000

De laatste stap is Graylog instellen om automatisch te starten bij het opstarten van het systeem en te controleren of deze draait:

$ sudo systemctl daemon-reload
$ sudo systemctl enable graylog-server.service
$ sudo systemctl start graylog-server.service
$ sudo systemctl –type=service –state=active | grep graylog

Klaar met installeren, door met inrichten!

Wanneer Graylog draait ben je klaar met de installatie en kun je door met het inrichten van Graylog!
Hiervoor ga je met je webbrowser naar http://graylogserver-ip-of-naam:9000

Meld je aan met admin en het wachtwoord wat je hierboven hebt ingesteld.

Eenmaal aangemeld kun je beginnen!
Eerste stap is het maken van een Syslog Input welke je vindt onder System –> Inputs
Hint: Het is niet mogelijk om een input op de standaard Syslog poort 514 te laten draaien!
Pas de poort aan naar bijvoorbeeld UDP 5140 waarna de Input probleemloos zal starten.

Vervolgens kun je apparaten gaan instellen om te gaan sysloggen naar het IP adres en poort van de Graylog Syslog Server.

Wanneer je berichten binnen krijgt kun je deze bekijken, filteren, extractors toevoegen, dashboards creëren met grafieken etc. Duik hiervoor in de documentatie van Graylog want dit kent wel een bepaalde leercurve!

Handige zaken die nuttig kunnen zijn voor het analyseren van de logs

Extractors aanmaken:

Extractors kun je gebruiken om uit de vele berichten bepaalde zaken te filteren en daar een “Field” voor te genereren welke je kunt gebruiken om een Dashboard te maken voor specifiek die berichten. Je krijgt dan een widget die de informatie bevat van het filter dat je wilt gebruiken.

Hieronder de parameters voor diverse apparatuur:

Voor Sonicwall Appliances:

Filter

GROK Extractor parameter

Source IP:

src=%{IP:srcip}

TCP Protocollen

tcp/%{WORD:protocol-tcp}

UDP Protocollen

udp/%{WORD:protocol-udp}

Website Categorieën

Category=%{QUOTEDSTRING:WebsiteCategory}

Gebruikersnaam

usr=%{QUOTEDSTRING:UserName}

Bericht

msg=%{QUOTEDSTRING:Bericht}

Destination Hostname

dstname=%{HOSTNAME:DestinationName}

VPN Policy

vpnpolicy=%{QUOTEDSTRING:VPNPolicy}

Responder IP/Land

Responder IP:%{IPV4:RespIP} Country Name:%{WORD:CountryName}

Duplicate IP’s

Duplicate address %{GREEDYDATA:DupIP}

Voor HPE/Aruba Switches:

Filter

GROK Extractor parameter

User login

User %{QUOTEDSTRING:SwitchLogin}

Offline Ports

00077 ports:%{GREEDYDATA:PortOffline}

Online Ports

00076 ports:%{GREEDYDATA:PortOnline}

Spanning Tree TCN

STP_NOTIFIED_TC:%{GREEDYDATA:SpanTCN}

NTP

00414 SNTP:%{GREEDYDATA:SwSNTP}

Port Duplex meldingen

00633 FFI:%{GREEDYDATA:SwPortDuplex}

Certificaat meldingen

03425 crypto:%{GREEDYDATA:SwCertificate}

CRC Errors

00329 FFI:%{GREEDYDATA:SwCRC}

Spanning Tree Blocked

00435 ports:%{GREEDYDATA:SwSTPBlocked}

Aruba Activate Server

05220 activate:%{GREEDYDATA:SwActivateServer}

Ik hoop dat je iets aan dit artikel hebt gehad en wens je veel plezier en gemak met dit prachtige pakket!

Deel dit:
Scroll naar boven