První kroky v Graylogu
První kroky v Graylogu
Tento článek je určený pro techniky, kteří už mají Graylog v organizaci nasazený a potřebují se rychle zorientovat v běžné práci s logy. Neřešíme zde instalaci, ale hlavně to, kde hledat, jak psát dotazy a jak z výsledků vytěžit užitečné informace.
Pokud Graylog teprve nasazujete, navazuje tento článek na Instalaci Graylog Open na Debianu 12 a na nastavení Winlogbeatu pro odesílání logů do Graylogu.
📌 V příkladech níže předpokládáme, že v Graylogu používáme výchozí prefixování polí v Beats inputu. Proto pracujeme s poli jako winlogbeat_winlog_computer_name, winlogbeat_winlog_channel nebo winlogbeat_event_code.
1. K čemu Graylog slouží
Graylog funguje jako centrální místo pro:
- vyhledávání Windows Event Logů
- analýzu Sysmon událostí
- dohled nad PowerShell aktivitou
- hledání LDAP událostí z doménových řadičů
- rychlé dohledání problémů podle času, počítače nebo typu události
V praxi to znamená, že když řešíme incident, problém s přihlášením, podezřelou aktivitu nebo chybu na konkrétním serveru, první místo, kam se díváme, bývá často právě Graylog Search.
2. Kde začít ve webovém rozhraní
Po přihlášení do Graylogu nás obvykle nejvíc zajímají tyto části:
- Search - hlavní místo pro hledání a analýzu logů
- Streams - logické rozdělení dat do skupin
- Dashboards - uložené přehledy a widgety
- Alerts / Events - navazující automatizace a upozornění
Pro běžného technika je nejdůležitější záložka Search. Právě tam probíhá většina každodenní práce.
3. Základní pracovní postup v Graylogu
Při hledání v Graylogu je dobré držet jednoduchý postup:
- Nejprve nastavíme správné časové okno.
- Potom případně omezíme hledání na vhodný stream.
- Teprve potom píšeme vlastní query.
- Z výsledků si otevřeme konkrétní zprávu a pokračujeme podle jejích polí.
📌 Pokud hledání nevrací očekávaná data, první dvě věci ke kontrole jsou téměř vždy:
- špatně zvolený časový rozsah
- zapomenutý nebo nevhodný filtr na stream
4. První pravidlo: časové okno
Graylog vždy hledá jen v časovém rozsahu, který je aktuálně nastavený. To je nejčastější důvod, proč technik „nic nevidí“, i když se událost skutečně stala.
Doporučení pro praxi:
- při právě probíhajícím problému začneme například na Last 15 minutes nebo Last 1 hour
- při dohledávání starší události použijeme Absolute time range
- pokud si nejsme jistí, raději časové okno dočasně rozšíříme
📌 Když hledáme například neúspěšná přihlášení nebo PowerShell aktivitu, je časové omezení často důležitější než samotná query syntaxe.
5. Druhé pravidlo: stream
Graylog standardně hledá ve všech datech, ke kterým má uživatel přístup. To ale nemusí být vždy výhodné.
Proto je dobré hledání podle potřeby omezit na konkrétní stream:
- například jen na Windows logy
- jen na bezpečnostní logy
- nebo jen na konkrétní skupinu zařízení
Pokud si nejsme jistí, začneme ve výchozím streamu All messages a teprve potom hledání zužujeme.
📌 Stream není totéž co query. Stream pomáhá zmenšit objem dat ještě předtím, než začneme pracovat s konkrétními poli a hodnotami.
6. Základní syntaxe dotazů
Graylog používá vyhledávací syntaxi podobnou Lucene query syntax.
Nejčastější základy:
- hledání textu:
error
- hledání podle pole:
winlogbeat_winlog_computer_name:SERVER01
- přesná fráze v uvozovkách:
winlogbeat_winlog_channel:"Directory Service"
- kombinace podmínek:
winlogbeat_winlog_computer_name:SERVER01 AND winlogbeat_event_code:4625
- více možností:
winlogbeat_event_code:(4624 OR 4625)
- vyloučení:
winlogbeat_winlog_channel:"Security" NOT winlogbeat_winlog_computer_name:TESTPC01
📌 Operátory AND, OR a NOT je vhodné psát velkými písmeny.
📌 Pokud hodnota obsahuje mezeru nebo lomítko, používáme uvozovky.
7. Praktické dotazy
Níže jsou příklady dotazů, které dávají smysl v prostředí, kde do Graylogu posíláme Windows logy přes Winlogbeat.
7.1 Logy z konkrétního počítače
winlogbeat_winlog_computer_name:SERVER01
Použijeme, když řešíme konkrétní server nebo stanici.
7.2 Neúspěšná přihlášení ve Security logu
winlogbeat_winlog_channel:"Security" AND winlogbeat_event_code:4625
Vhodné pro rychlou kontrolu neúspěšných přihlášení.
7.3 Úspěšná a neúspěšná přihlášení dohromady
winlogbeat_winlog_channel:"Security" AND winlogbeat_event_code:(4624 OR 4625)
Dobré pro základní přehled přihlašovací aktivity.
7.4 PowerShell script block logging
winlogbeat_winlog_channel:"Microsoft-Windows-PowerShell/Operational" AND winlogbeat_event_code:4104
Použijeme při kontrole spuštěných PowerShell skriptů.
7.5 Sysmon Process Create
winlogbeat_winlog_channel:"Microsoft-Windows-Sysmon/Operational" AND winlogbeat_event_code:1
Praktické při hledání spuštěných procesů.
7.6 LDAP události z doménového řadiče
winlogbeat_winlog_channel:"Directory Service" AND winlogbeat_event_code:2889
Tento dotaz je vhodný například pro dohledání nešifrovaných LDAP dotazů. Navazuje na článek o detekci nešifrovaného LDAPu.
7.7 Kombinace počítače a event ID
winlogbeat_winlog_computer_name:DC01 AND winlogbeat_winlog_channel:"Directory Service" AND winlogbeat_event_code:2889
Tohle je typický příklad dotazu, který už řeší velmi konkrétní situaci.
8. Jak číst detail jedné zprávy
Když najdeme zajímavý záznam, otevřeme si jeho detail. Tam bývá nejvíc užitečných informací.
Sledujeme hlavně:
- čas události
- zdrojový počítač
- název logu / channel
- event code
- text zprávy
- další pole, která Winlogbeat nebo Graylog z události vytáhl
Praktický postup:
- najdeme jednu relevantní zprávu
- z jejího detailu zkopírujeme zajímavou hodnotu
- z této hodnoty postavíme další dotaz
Například:
- z
winlogbeat_winlog_computer_namedohledáme další události z téhož serveru - z
winlogbeat_event_coderozšíříme hledání na stejný typ událostí - z textu zprávy nebo z uživatele dohledáme související aktivitu
📌 Často je rychlejší začít jednou konkrétní zprávou než se snažit hned napsat „dokonalý“ dotaz.
9. Uložení hledání a dashboardy
Pokud se k nějakému hledání vracíme opakovaně, má smysl si ho uložit.
Saved search je vhodný, když:
- používáme stejný dotaz opakovaně
- chceme mít připravenou šablonu hledání
- potřebujeme rychle navázat na předchozí analýzu
Dashboard je vhodný, když:
- chceme data sledovat průběžně
- potřebujeme přehled pro tým nebo vedoucího
- potřebujeme mít na jedné obrazovce více widgetů najednou
Graylog umožňuje převést hledání do dashboardu přímo ze Search stránky. To se hodí zejména u dotazů, které se opakují každý den.
10. Nejčastější chyby při práci s Graylogem
Pokud hledání nefunguje podle očekávání, nejčastější příčiny bývají:
- časové okno je příliš úzké nebo úplně špatně
- hledáme ve špatném streamu
- je překlep v názvu fieldu
- pole obsahuje mezery nebo speciální znaky a chybí uvozovky
- hledaná data se do Graylogu vůbec neposílají
Příklady typických problémů:
winlogbeat_event_code:2889nic nevrací, protože logDirectory Servicenebyl ve Winlogbeatu povolen4104nic nevrací, protože není zapnuté PowerShell logging policy- Sysmon dotazy nic nevrací, protože Sysmon na stanici není nainstalovaný
📌 Když dotaz nic nevrací, není to vždy chyba v Graylogu. Velmi často je problém už na straně zdrojového systému nebo ingestu.
Shrnutí
✅ Pro běžného technika je nejdůležitější část Graylogu záložka Search
✅ Nejdřív vždy kontrolujeme časové okno, potom stream a teprve pak samotný dotaz
✅ Při práci s Windows logy se vyplatí znát hlavně pole winlogbeat_winlog_computer_name, winlogbeat_winlog_channel a winlogbeat_event_code
✅ Praktická práce v Graylogu stojí hlavně na jednoduchých opakovatelných dotazech
✅ Detail jedné zprávy bývá nejlepší výchozí bod pro další analýzu