OPEN SOURCE · GO github.com/chrismfz/argus NETFLOW · IPFIX eBGP MITIGATION

argus panoptes

Το Argus είναι αυτό που προστατεύει το δίκτυό μας. Real-time NetFlow / IPFIX engine που παρακολουθεί κάθε flow στο AS μας, το εμπλουτίζει με ASN / GeoIP / BGP paths / SNMP, εντοπίζει κατάχρηση με κανόνες και ML, και μπλοκάρει σε επίπεδο δικτύου τους επιτιθέμενους μέσω eBGP — συνήθως πριν φτάσουν σε μεμονωμένους servers. Εμείς το γράψαμε, εμείς το τρέχουμε, το ανοίξαμε όλο σε open source.

LANGUAGE Go · CGO_ENABLED=0
STORAGE SQLite · embedded
DEPS None external
LICENSE Open source
QUICKSTART
# Build + run on any Linux box
git clone https://github.com/chrismfz/argus
cd argus
make build
./bin/argus
 
# Dashboard on :9600
curl http://localhost:9600/status
PIPELINE · 01

Κάθε flow, εμπλουτισμένο.

Τα NetFlow records φτάνουν ως αριθμητική σούπα — IPs, ports, byte counts. Το Argus τα μετατρέπει σε actionable telemetry, προσαρτώντας context από τέσσερις πηγές πριν τα δει οποιοσδήποτε άλλος.

ENRICHMENT

ASN + GeoIP

Κάθε flow tagged με ASN, AS name, χώρα, και πόλη μέσω MaxMind. Auto-downloaded, auto-updated, με fallback σε open IPLocate data αν δεν υπάρχει MaxMind key.

ENRICHMENT

BGP path

eBGP session με τον router τραβάει το πλήρες RIB στο startup. Κάθε flow παίρνει το AS path που πραγματικά πήρε η κίνηση — όχι μαντεψιά, όχι lookup από stale βάση.

ENRICHMENT

SNMP interface names

Τα INPUT_SNMP / OUTPUT_SNMP indices μετατρέπονται σε αναγνώσιμα ονόματα (sfp1-UpstreamX, sfp2-GR-IX). Βλέπουμε "GR-IX" στα graphs, όχι "interface 3".

PIPELINE · 02

Detection που όντως κάνει mitigation.

Πυροδοτείται κανόνας → η action φτάνει στον router σε milliseconds. Χωρίς webhook σε SOAR platform, χωρίς ουρά έγκρισης operator, χωρίς "θα το δούμε τη Δευτέρα".

DETECTION

Rule engine

YAML κανόνες με proto, flags, ports, direction, same_dst_ip, unique_dst_ips, min_pps, min_flows, NAT detection, TTL ranges, prefix scoping. Hot-reload στο save.

DETECTION

ML anomaly engine

Isolation Forest + HBOS + eHBOS ensemble πάνω σε rolling baselines. EWMA memory layer συσσωρεύει risk ανά IP. Πιάνει unknown patterns που οι κανόνες δεν πιάνουν.

DETECTION

BGP blackhole

Τα detected sources παίρνουν /32 blackhole announcements με community tags. Κλιμακούμενα TTLs — πρώτη παράβαση 4h, πέμπτη παράβαση μόνιμη. Το SQLite διατηρεί το state ανάμεσα στα restarts.

CONFIGURATION

Ένας πραγματικός κανόνας μοιάζει κάπως έτσι.

YAML, hot-reloaded, με κλιμακούμενα blackhole TTLs και per-rule exclusion lists. Το detection.yml είναι το manual — αναγνώσιμο, diff-able, version-controllable.

etc/detection.yml
# etc/detection.yml
rules:
- name: syn_flood
proto: tcp
tcp_flags: SYN
direction: ingress
same_dst_ip: true
min_flows: 5000
min_avg_pps: 1000
time_window: 20s
action: alert,blackhole
# escalate: 4h → 8h → 16h → 24h → permanent
blackhole_time: [14400, 28800, 57600, 86400, 0]
PIPELINE · 03

Dashboard built-in.

Embedded HTML που σερβίρεται από το binary. Χωρίς Grafana stack για συντήρηση. Refresh live, drill καθαρά, αντέχει στον χρόνο — ίδιο dashboard σε τρία flows/sec και τριάντα χιλιάδες flows/sec.

DASHBOARD

Live flows

Real-time flow table με direction analysis, IP/ASN filter, mismatch highlighting. Freeze-on-hover για forensics. Embedded HTML, χωρίς Grafana.

DASHBOARD

Traffic by AS

Ranked tables με inbound/outbound ASNs, "via" interface column, και Sankey charts. Top 10 με μια ματιά, drill σε όποιο θέλετε.

DASHBOARD

Historical snapshots

Daily / weekly / monthly / yearly snapshots σε SQLite. Συγκρίνετε το σημερινό top-10 με το περσινό τρίμηνο. Manual snapshots με operator notes.

USE CASES

Για τι το κάνει deploy ο κόσμος.

Αν κάποιο από τα τέσσερα σας ταιριάζει, το argus μάλλον ανήκει στο δίκτυό σας.

DDoS mitigation

Sub-second detection για SYN floods, UDP amplification, και horizontal scans. Το blackhole announcement φτάνει στον router σε milliseconds μέσω της eBGP session.

Compliance reporting

Τα snapshots και τα rule-hit logs μας δίνουν το "τι κίνηση είδαμε και τι κάναμε γι' αυτή" audit trail που απαιτούν ISO-27001, PCI, και παρόμοια standards.

Routing forensics

Κάθε flow έχει επισυναπτόμενο το πλήρες AS path. Όταν ένας πελάτης ρωτάει "γιατί ήταν αργή η κίνηση την περασμένη Τρίτη;", η απάντηση είναι στο argus, όχι στη μαντεψιά σας.

DESIGN PRINCIPLES

Τρία πράγματα που κρατήσαμε ειλικρινή.

Single binary
DEPLOYMENT

Ένα Go binary. SQLite για storage. Χωρίς Redis, χωρίς ClickHouse, χωρίς Grafana, χωρίς message bus. Βάλτε το σε ένα box, στρέψτε τον router σας, τέλος.

eBGP
CONTROL PLANE

Embedded GoBGP speaker. Δέχεται το πλήρες RIB (για enrichment) και ανακοινώνει blackhole /32s με communities (για mitigation). Όλα σε μία διεργασία.

Hot-reload
CONFIG

Detection rules, allowlists, ML thresholds, exclusion lists — όλα fsnotify-watched. Edit, save, ενεργοποιείται. Χωρίς restart, χωρίς χαμένη κίνηση.

QUESTIONS

Αυτά που ρωτάνε για το Argus.

Το MikroTik είναι ο πρωταρχικός στόχος (εμείς οι ίδιοι τρέχουμε CCR2004). Όποιο router εξάγει NetFlow v9 / IPFIX και σηκώνει eBGP session, δουλεύει — Juniper, Cisco, FRR / VyOS / OpenBGPD σε Linux/BSD. Το config MikroTik στο README είναι δουλεμένο παράδειγμα· οι αρχές μεταφέρονται απευθείας.
Διαφορετικές σχεδιαστικές επιλογές. Το FastNetMon ανιχνεύει αλλά δεν εμπλουτίζει· το pmacct εμπλουτίζει αλλά δεν ανιχνεύει ή μετριάζει· το Akvorado θέλει ClickHouse + Kafka. Το Argus είναι ένα Go binary με SQLite που κάνει enrich + detect + mitigate, χωρίς εξωτερικές εξαρτήσεις. Trade-off: χαμηλότερο ταβάνι κλίμακας, πολύ πιο απλό ops.
Ναι. Πλήρως open source. Το README είναι το manual. Issues + PRs στο GitHub. Καμία τηλεμετρία, κανένας έλεγχος licence, κανένα nag screen.
Ναι — το managed Argus είναι υπηρεσία που πουλάμε. Το στήνουμε στο edge box σας, ρυθμίζουμε τους κανόνες detection σύμφωνα με τα δικά σας traffic baselines, παρακολουθούμε 24/7, και αναλαμβάνουμε το on-call. Κοστολόγηση κατά περίπτωση.
Το Argus τρέχει άνετα σε μικρό ARM ή x86 server με δεκάδες χιλιάδες flows το δευτερόλεπτο. Υψηλότεροι ρυθμοί δουλεύουν, αλλά σας οδηγούν σε sampled NetFlow (το 1:100 πιάνει αξιόπιστα DDoS patterns). Πάνω από ~100 Gbps σταθερά, είστε πιθανότατα σε ζώνη που θέλει άλλο εργαλείο — μιλήστε μας.
Το Argus λειτουργεί στο network layer (NetFlow + BGP). Το CFM λειτουργεί στον server (nftables, WAF, BPF LSM). Το Argus προστατεύει τη routing υποδομή σας από εξωτερική κατάχρηση· το CFM προστατεύει έναν μεμονωμένο server από την ίδια του την κίνηση. Συνδυάζονται καλά — το Argus πιάνει πράγματα στο edge προτού φτάσουν στο CFM.

Το Argus τρέχει σε κάθε flow που δρομολογούμε.

Αν η κίνησή σας περνάει από το AS μας, το Argus την παρακολουθεί. Το κάναμε open source επειδή security tooling που δεν μπορείτε να διαβάσετε δεν είναι security tooling — κάντε audit τον κώδικα, τρέξτε το στο δικό σας δίκτυο, ή απλώς εμπιστευτείτε ότι το δικό μας κάνει αυτό που λέμε.