Pipeline firewallových logů s Cursorem
Udělal jsi všechno podle dokumentace. Zapnul jsi vzdálené logování na pfSense, nasměroval ho na svůj počítač s Windows a otevřel UDP port 514. Nic nedorazilo. Na fóru Netgate se už déle než deset let hromadí vlákna o přesně tomhle tichu — logy se vytvořily, ale nikdy se neodeslaly, syslogd po restartu potichu přestal běžet. Někde mezi firewallem a tvým diskem událost zmizela — a nic v celém řetězci ti neřekne kde.
Běžným řešením je SIEM, jenže tím vyměníš jeden problém za větší: teď se musíš starat o Elasticsearch. Tento návod volí jinou cestu. Otevřeš Cursor, odpovíš na pět otázek a schvaluješ příkazy, zatímco agent umělé inteligence staví pipeline firewallových logů. Na konci budeš mít jednu ověřenou událost firewallu na disku, prohledávatelnou historii v místní databázi a analytika s umělou inteligencí, který umí číst tvé logy — ale na firewall sáhnout nemůže.
Celkem potřebuješ jednu službu Windows, jednu složku a jeden soubor SQLite.
Pipeline firewallových logů, kterou postavíš
┌──────────┐ syslog ┌────────┐ ┌────────────┐ ┌───────────┐
│ Firewall │──UDP 514─>│ NXLog │──JSON─>│ C:\logdata │──5min─>│ fwlogs.db │
│ (any) │ │ service│ spool │ \spool\ │ ingest │ (SQLite) │
└──────────┘ └────────┘ └────────────┘ └─────┬─────┘
│ SELECT only
┌─────v─────┐
│ Cursor │
│ agent │
└───────────┘
V celém návodu používám jako příklad pfSense, ale poslouží jakýkoli firewall schopný odesílat syslog — OPNsense, UniFi, SonicWall nebo spravovaný switch. NXLog Community Edition přijímá data na portu 514 a zapisuje je do spoolovacích souborů JSON. Naplánovaná úloha je načítá do SQLite. Agent se databáze dotazuje pouze pro čtení a hlásí, co zjistil.
Počkat — není Cursor nástroj na programování?
Tak zní marketing. Pod povrchem je Cursor agent, který čte soubory, zapisuje soubory a s tvým souhlasem spouští terminálové příkazy. Svět správce systémů tvoří soubory: konfigurace, logy, skripty a databáze. Nenapíšeš ani řádek kódu — použiješ jen dva ovládací prvky, chatovací pole a tlačítko pro schválení. Agent napíše konfiguraci NXLogu, schéma SQL a ingestovací skript; ty si je přečteš a klikneš na ano.
Předpoklady
| Požadavek | Poznámky |
|---|---|
| Windows 10/11 nebo Server 2019+, x64 | NXLog CE nemá sestavení pro Windows ARM64 |
| Statická IP adresa sběrného počítače | Funguje i rezervace DHCP |
| Počítač zůstává zapnutý | Ve Win11 vypni uspávání, jinak UDP logy beze stopy mizí |
| Práva správce | Instalace služby vyžaduje zvýšená oprávnění |
| Jakýkoli firewall, který umí odesílat syslog | Do jeho administračního rozhraní sáhneš jednou |
| Nainstalovaný Cursor | Bezplatná úroveň stačí |
Krok 1: Pět odpovědí, než se cokoli spustí
Vytvoř složku — C:\fw-pipeline — a otevři ji v Cursoru. Vytvoř v ní jeden soubor, answers.yaml:
firewall: "pfSense CE 2.7.2" # vendor + version (or your model, e.g. Netgate 2100) firewall_ip: "192.168.1.1" # address it sends syslog from collector_ip: "192.168.1.20" # this machine's static IP transport: "udp" # udp | tcp — pfSense native syslog is UDP-only data_stays_local: true # log data never leaves this machine
Všechno, co agent vytvoří, vychází z těchto pěti řádků. Výrobce a verze určují přesné kroky, které ti popíše. IP adresa firewallu se stane klíčem zařízení v databázi. Hodnota data_stays_local: true znamená, že analýza probíhá nad místní databází — celé nezpracované logy se nikdy nevkládají do promptu.
Podrobnosti, které tento článek vynechává, najdeš ve dvou doprovodných souborech — v referenční příručce k nasazení a v nejčastějších otázkách k řešení problémů. Agent je stáhne v dalším kroku; pokud se chceš nejdřív podívat, odkazy máš přímo tady.
Krok 2: Mantinely dřív než agent
Padesát tři procent správců systémů by nenechalo umělou inteligenci pracovat v produkci bez dozoru. Správný instinkt. Pravidla nedávej do promptu — dej je tam, kde je agent nemůže ignorovat. Vytvoř .cursor/rules/pipeline.md:
- Show every terminal command and wait for approval. No auto-run. - Query fwlogs.db with the read-only "analyst" account only. - Never connect to the firewall. Its config is the human's job. - If any value in answers.yaml is blank, stop and ask. Never guess. - Append every database query you run to agent-audit.log, with timestamp.
Cursor načte tato pravidla do každé relace v této složce. Agent navrhuje, ty schvaluješ. Je to stejný model důvěry, jaký bys použil u nového juniorního správce — až na to, že tenhle se nikdy nenudí a přečte každý řádek logu.
Krok 3: Nech agenta postavit sběrač
Teď přijde první skutečný prompt — vlož ho do chatu:
Download both companion files from https://gist.github.com/matbanik/18dadee60389913b982493c8cbbe99ad into this folder and read
them, then read answers.yaml. Install NXLog Community Edition as a service,
configure it to receive syslog on the chosen transport and write JSON spool
files to C:\logdata\spool with filenames like fw-{timestamp}.json, and open
the Windows Firewall port — bound to the Private and Domain profiles, not
Public. Show me each command before running it.
Schválíš instalaci MSI, vygenerovaný soubor nxlog.conf a jedno pravidlo New-NetFirewallRule. Ve vygenerované konfiguraci zkontroluj dva detaily: parse_syslog() na vstupu, aby se správně uložily formáty RFC 3164 i RFC 5424, a zvýšenou hodnotu SockBufSize, protože výchozí vyrovnávací paměť UDP ve Windows je malá a při nárazech zahazuje data.
Ověř:
Get-Service nxlog # Status: Running
Krok 4: Nasměruj na něj firewall
Jediný ruční krok. Agent si přečte answers.yaml a předá ti přesné pokyny pro tvou platformu, ale zadáš je ty — firewall zůstane mimo jeho dosah. V pfSense přejdi na Status → System Logs → Settings → Remote Logging, funkci zapni, zadej IP adresu sběrače a port 514 a zaškrtni požadované kategorie. U ostatních firewallů platí stejný postup: cíl = IP adresa sběrače, port 514, a pokud je to možné, zvol RFC 5424.
Na jedno pravidlo každý zapomíná: pokud je sběrač v jiném segmentu, firewall potřebuje odchozí pravidlo, které mu dovolí spojit se s portem 514. Firewall si nezaloguje vlastní zahozený syslog.
Krok 5: První událost — nebo místo, kde zmizela
Sleduj spoolovací složku. Pokud se objeví a roste soubor fw-*.json, to nejtěžší máš za sebou. Pokud se nic neobjeví — právě tady všechny ostatní návody pokrčí rameny. Požádej agenta, aby postupoval po diagnostickém žebříku:
event created on the firewall? - no -> log category or severity filter │ yes packet left the firewall? - no -> syslogd died after reboot, egress rule │ yes packet reached Windows? - no -> routing or ACL on the path │ yes NXLog listening on 514? - no -> service stopped, port taken │ yes Windows Firewall let it through? - no -> rule bound to the wrong profile │ yes line in the spool file? - no -> EDR blocked NXLog, parse error
Většinu příček agent otestuje sám — odešle syntetický paket syslogu, zkontroluje naslouchající službu a přečte vlastní log NXLogu — a řekne ti, ve kterém bodě se událost ztratila. Ve Windows 11 bývá obvyklým viníkem Wi-Fi připojená s profilem Public, zatímco pravidlo platí pro profil Private.
Krok 6: Zajisti trvalý provoz
Ještě jeden prompt:
Create fwlogs.db with an events table keyed by device IP and receive time, an ingest path and a read-only analyst access pattern, and a scheduled task that loads closed spool files every five minutes, checks the sqlite3 exit code before archiving each file, and prunes anything older than 90 days.
Mezikrok se spoolovacími soubory není kompromis — NXLog Community Edition stejně neumí ve Windows zapisovat přímo do databáze a spoolovací soubory navíc slouží jako znovu použitelný nezpracovaný důkaz. Kontrola návratového kódu je důležitá: soubor archivuj až poté, co SQLite potvrdí načtení, jinak kvůli přechodnému zámku potichu přijdeš o hodinu logů.
Krok 7: Ptej se svých logů
Odměna přichází záměrně až nakonec — analýza je jen tak dobrá jako pipeline pod ní. Zkus:
Using the analyst account, summarize the last 24 hours: repeated auth failures, deny spikes, source IPs never seen before, config changes outside business hours. For each finding, list the supporting event IDs and one plausible benign explanation.
Poslední věta odvádí skutečnou práci. Agent, který musí své vlastní závěry zpochybnit, tě upozorní na pokus o hrubou sílu proti VPN, ne na televizi kontrolující firmware ve tři ráno. Každé zjištění dostaneš s důkazem, který můžeš ověřit — protože účet agenta neumí nic jiného než číst.
Nástrahy, které tě připraví o čas
Pravidlo firewallu je navázané na profil Public. Wi-Fi ve Windows 11 ve výchozím nastavení používá profil Public a příchozí provoz na portu 514 potichu zahazuje. Nastav síť jako Private nebo pravidlo navaž na všechny profily, které používáš.
Sběrač usnul. UDP nic neopakuje — spící počítač s Win11 ztratí každou událost, dokud se neprobudí. powercfg /change standby-timeout-ac 0.
Logy přicházejí, ale ne ty, které potřebuješ. „Syslog funguje“ a „bezpečnostní události se předávají“ jsou na většině firewallů dva různé přepínače. Chybějící kategorie má vlastní filtr.
EDR umístilo NXLog do karantény. Nový binární soubor, který otevírá naslouchající port, vypadá jako malware. Přidej výjimku pro cestu před instalací, ne až po ní.
Agent chce firewall opravit za tebe. Nerozšiřuj jeho dosah jen proto, že krok 5 dopadl dobře. Bezpečným trvalým stavem je přístup pouze pro čtení s návrhy.
Kam ses dostal
Tvůj firewall mluvil celou dobu. Teď máš důkaz na disku, historii, ve které můžeš vyhledávat, a analytika ve službě, který všechno přečte a na nic nesáhne. Až bude příště v síti něco vypadat špatně, nebudeš pročítat diskusní fóra — zeptáš se vlastních logů.
Zdroje
- Vzdálené logování pomocí syslogu — dokumentace pfSense
- Syslog vytváří soubory s logy, ale neodesílá je na vzdálený server — fórum Netgate
- syslogd se může ukončit, když server logů odmítne spojení — chyba pfSense č. 16362
- Referenční příručka NXLog Community Edition
- Dokumentace Cursoru
- Protokol Syslog (RFC 5424)
- Protokol BSD syslog (RFC 3164)
- Přehled Windows Firewallu
- V čem lidé shromažďují syslog? — r/networking
- 53 % správců systémů nesvěří servery samotné umělé inteligenci — Kiteworks
- Stažení SQLite
The Focalia Letter
Jeden nápad, který využiješ. Asi sedm minut. Dvakrát měsíčně.
Číst dál
Mantinely pro AI programovací agenty překonají chytřejší modely
Tvůj agent nezapomíná proto, že je hloupý. Zapomíná proto, že jsi mu nedal místo, kam věci odkládat. Pět mantinelů pro AI programovací agenty, které to napravily.
Číst více →Reset Windows Update: Definitivní MSP průvodce nástrojem RWU
Nejstahovanější nástroj na reset Windows Update byl archivován. RWU pokračuje tam, kde skončili — s AI-ready diagnostikou, RMM-kompatibilními exit kódy a bezpečnými výchozími nastaveními, která nezničí tvoje Intune politiky.
Číst více →Hodnocení AI jako nástroje produktivity
Čtyři otázky, které si vývojáři nekladou o AI nástrojích na kódování — a proč odpovědi znamenají víc než hype.
Číst více →