Experimental self-hosted NetFlow/IPFIX visibility and anomaly-detection

FlowGuard Lite Documentation

GitHub

FlowGuard Lite Documentation

🛡️ Welcome to the FlowGuard Lite documentation site.

FlowGuard Lite is experimental alpha software, primarily tested on one UniFi home network.

[!WARNING]

  • FlowGuard Lite is an early-stage project and may contain bugs.
  • All security detections are experimental heuristics, not guaranteed indicators of compromise.
  • It does not replace an IDS, SIEM, or SOC, and should not be considered a guarantee of attack detection.
  • Additional integrations have varying and limited levels of validation.

It acts as a lightweight flow collector and correlates router/firewall telemetry (NetFlow, IPFIX, sFlow, or passive capture) with optional Suricata IDS events to build device-centric behavioral baselines and explain anomalies. UniFi gateways may expose IPFIX, SIEM/syslog, SNMP, or only internal Traffic Flows depending on model and firmware; those paths are documented separately.

Feature Validation Status

The features in this repository are divided into three validation tiers:

Category Features Included
Tested in real use by the author * NetFlow/IPFIX Ingestion (from UniFi Gateway)
* Docker Compose Deployment
* SQLite daily shards (storage & retention)
* Home network environment
Implemented with limited validation * sFlow Ingestion (collector listener & decoder)
* Passive Network Capture (via SPAN/Mirror port)
* Suricata IDS Integration (correlating eve.json records)
* DuckDB Storage Engine (for query acceleration)
* DDoS/Volumetric Heuristics (BPS, PPS, FPS thresholds)
* Slack & Telegram Webhook notifications
Experimental or unverified * UniFi Syslog/SIEM Ingest (highly experimental and secondary; note that NetFlow/IPFIX is the primary and best tested source)
* SNMP Auxiliary Metrics (future/optional tracking only)

📖 Table of Contents

Getting Started

Exporter Setup Guides

Configure your routers and firewalls to export supported telemetry:

Core Features

Reference & Development

Benchmark and Quality Gates

The benchmark suite is part of the validation gate. Use these commands to reproduce the preliminary performance estimates:

make benchmark-smoke
make benchmark-run
make docker-benchmark-run
make benchmark-matrix
make pre-release-gate

What they cover:

Command Purpose
make benchmark-smoke Fast regression check for processing rate and parser performance.
make benchmark-run Native benchmark report generation under benchmark-results/.
make docker-benchmark-run Containerized 2 GB benchmark profile.
make benchmark-matrix Docker benchmark profiles for 2 GB, 4 GB, and 8 GB memory limits.
make pre-release-gate Backend Go tests, frontend build/lint, Cypress smoke, benchmark smoke, and whitespace checks.

Preliminary capacity numbers are documented in the Capacity & Performance Guide.