argus panoptes
Το Argus είναι αυτό που προστατεύει το δίκτυό μας. Real-time NetFlow / IPFIX engine που παρακολουθεί κάθε flow στο AS μας, το εμπλουτίζει με ASN / GeoIP / BGP paths / SNMP, εντοπίζει κατάχρηση με κανόνες και ML, και μπλοκάρει σε επίπεδο δικτύου τους επιτιθέμενους μέσω eBGP — συνήθως πριν φτάσουν σε μεμονωμένους servers. Εμείς το γράψαμε, εμείς το τρέχουμε, το ανοίξαμε όλο σε open source.
# 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 Κάθε flow, εμπλουτισμένο.
Τα NetFlow records φτάνουν ως αριθμητική σούπα — IPs, ports, byte counts. Το Argus τα μετατρέπει σε actionable telemetry, προσαρτώντας context από τέσσερις πηγές πριν τα δει οποιοσδήποτε άλλος.
ASN + GeoIP
Κάθε flow tagged με ASN, AS name, χώρα, και πόλη μέσω MaxMind. Auto-downloaded, auto-updated, με fallback σε open IPLocate data αν δεν υπάρχει MaxMind key.
BGP path
eBGP session με τον router τραβάει το πλήρες RIB στο startup. Κάθε flow παίρνει το AS path που πραγματικά πήρε η κίνηση — όχι μαντεψιά, όχι lookup από stale βάση.
SNMP interface names
Τα INPUT_SNMP / OUTPUT_SNMP indices μετατρέπονται σε αναγνώσιμα ονόματα (sfp1-UpstreamX, sfp2-GR-IX). Βλέπουμε "GR-IX" στα graphs, όχι "interface 3".
Detection που όντως κάνει mitigation.
Πυροδοτείται κανόνας → η action φτάνει στον router σε milliseconds. Χωρίς webhook σε SOAR platform, χωρίς ουρά έγκρισης operator, χωρίς "θα το δούμε τη Δευτέρα".
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.
ML anomaly engine
Isolation Forest + HBOS + eHBOS ensemble πάνω σε rolling baselines. EWMA memory layer συσσωρεύει risk ανά IP. Πιάνει unknown patterns που οι κανόνες δεν πιάνουν.
BGP blackhole
Τα detected sources παίρνουν /32 blackhole announcements με community tags. Κλιμακούμενα TTLs — πρώτη παράβαση 4h, πέμπτη παράβαση μόνιμη. Το SQLite διατηρεί το state ανάμεσα στα restarts.
Ένας πραγματικός κανόνας μοιάζει κάπως έτσι.
YAML, hot-reloaded, με κλιμακούμενα blackhole TTLs και per-rule exclusion lists. Το detection.yml είναι το manual — αναγνώσιμο, diff-able, version-controllable.
# 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] Dashboard built-in.
Embedded HTML που σερβίρεται από το binary. Χωρίς Grafana stack για συντήρηση. Refresh live, drill καθαρά, αντέχει στον χρόνο — ίδιο dashboard σε τρία flows/sec και τριάντα χιλιάδες flows/sec.
Live flows
Real-time flow table με direction analysis, IP/ASN filter, mismatch highlighting. Freeze-on-hover για forensics. Embedded HTML, χωρίς Grafana.
Traffic by AS
Ranked tables με inbound/outbound ASNs, "via" interface column, και Sankey charts. Top 10 με μια ματιά, drill σε όποιο θέλετε.
Historical snapshots
Daily / weekly / monthly / yearly snapshots σε SQLite. Συγκρίνετε το σημερινό top-10 με το περσινό τρίμηνο. Manual snapshots με operator notes.
Για τι το κάνει 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, όχι στη μαντεψιά σας.
Τρία πράγματα που κρατήσαμε ειλικρινή.
Ένα Go binary. SQLite για storage. Χωρίς Redis, χωρίς ClickHouse, χωρίς Grafana, χωρίς message bus. Βάλτε το σε ένα box, στρέψτε τον router σας, τέλος.
Embedded GoBGP speaker. Δέχεται το πλήρες RIB (για enrichment) και ανακοινώνει blackhole /32s με communities (για mitigation). Όλα σε μία διεργασία.
Detection rules, allowlists, ML thresholds, exclusion lists — όλα fsnotify-watched. Edit, save, ενεργοποιείται. Χωρίς restart, χωρίς χαμένη κίνηση.
Αυτά που ρωτάνε για το Argus.
Το Argus τρέχει σε κάθε flow που δρομολογούμε.
Αν η κίνησή σας περνάει από το AS μας, το Argus την παρακολουθεί. Το κάναμε open source επειδή security tooling που δεν μπορείτε να διαβάσετε δεν είναι security tooling — κάντε audit τον κώδικα, τρέξτε το στο δικό σας δίκτυο, ή απλώς εμπιστευτείτε ότι το δικό μας κάνει αυτό που λέμε.