Ports doppelt nach Scan — IPv4/IPv6-Binds nicht dedupliziert (Backend-Dedup vor Persist) #35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Nach einem Port-Scan tauchen Ports doppelt in der VM auf.
Root Cause
Dienste, die auf IPv4 und IPv6 lauschen (
0.0.0.0:22+[::]:22), liefern inss -tulpnHzwei Zeilen → zwei Einträge mit identischem(protocol, port), nur unterschiedlicheraddress.VM-Guest-Agent/src/collect/linux.rscollect_portspusht jede Zeile und sortiert nur nach(protocol, port)— kein Dedup.server/routers/security_router.py_run_port_scan_persist(Z. ~173) speichertfound_portsungefiltert (scan_data=found_ports); auch_hash_ports/_diff_portslaufen auf der Roh-Liste → zusätzlich instabilerscan_hash/falsche „changed"-Diffs.Fix (Backend — agent-agnostisch, kein Agent-Rebuild)
Dedup-Helper in
security_router.pyund vordiff/hash/Store anwenden:In
_run_port_scan_persist:→ deckt Linux/FreeBSD/Windows gleichermaßen ab, ohne Agent-Build.
scan_data/scan_hash/diffwerden dadurch sauber/stabil.Optional (Quelle)
Zusätzlich in
collect_ports(Linux/FreeBSD/Windows) gleich am Agent dedupen (gleicher(protocol, port)-Schlüssel, höchste Exposure gewinnt) — sauberer an der Quelle, aber Backend-Fix genügt für das Symptom.Bezug
Komplementär zu #32: #32 merged unterschiedliche Protokolle (tcp und udp) zu einer Anzeige-Zeile; #35 entfernt echte Duplikate desselben
(protocol, port)aus IPv4/IPv6-Binds in den Daten.Akzeptanz
(protocol, port).scan_hash/Diff stabil (kein „changed" nur wegen v4/v6).Branch
fix/port-scan-dedupPort tauchen nach Scan doppel in der VM aufto Ports doppelt nach Scan — IPv4/IPv6-Binds nicht dedupliziert (Backend-Dedup vor Persist)