From 23c63d435d597023bb32d8395de2d1c394daeb0c Mon Sep 17 00:00:00 2001 From: Christoph Emsenhuber Date: Mon, 17 Aug 2026 15:14:40 +0200 Subject: [PATCH] TP25: dirtyvader-infra offline, Firewall-Filter-Compliance vermessen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -infra auf beiden APs und beiden Baendern disabled (User-Entscheid). Am Geraet gegengeprueft: aktive-vaps 11 -> 9, w2infra/w5infra disabled=true auf ap1+ap2. sec-/dp-/cfg-infra bleiben stehen, die Zone ist ohne Neuaufbau reaktivierbar. Zur Rueckfrage "hidden statt disabled?": Verstecken spart KEINE Airtime. Eine versteckte SSID sendet ihr Beacon weiter, sie laesst nur das SSID-Feld leer. Airtime spart ausschliesslich das Abschalten der VAP. Reconnaissance fuer die /ip firewall filter Compliance-Rule: core 25 Regeln, branch 0, ap1+ap2 je 12 defconf-Reste (inert, inkl. "accept to local loopback (for CAPsMAN)"). Zwei Entscheidungen vor dem Template-Bau festgehalten — AP-Defconf abraeumen vs. als Soll schreiben, und branch als leer rendern. Ohne die meldet die Rule sofort flaechendeckend Drift. Co-Authored-By: Claude Opus 5 --- docs/teilprojekte.md | 9 ++++++++ routeros/tp25-infra-vaps-offline.rsc | 31 ++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 routeros/tp25-infra-vaps-offline.rsc diff --git a/docs/teilprojekte.md b/docs/teilprojekte.md index e18e937..1547354 100644 --- a/docs/teilprojekte.md +++ b/docs/teilprojekte.md @@ -1116,6 +1116,15 @@ FT kaschierte das bisher als „Roaming" statt „schwache Abdeckung". sie ist jetzt belegt, nicht vermutet. Erschwerend: die VAP-MAC-Adressen sind gerätespezifisch (Template Zeile ~220 nimmt sie bewusst raus), eine Rule auf diese Sektion braucht also erst `local_config_context_data` je AP. + - 📋 **Vorarbeit `/ip firewall filter` (2026-08-17, Reconnaissance — vor dem Template-Bau nötig):** + `crs326-core` **25** Regeln (defconf + TP10 + 6 TP5-Holes + 11 TP5-E2 + Log-Regel) · `crs326-branch` **0** · + `ap1`/`ap2` je **12 defconf-Regeln** (Werksreste: input-seal, fasttrack, ipsec-Zeilen, sogar + „accept to local loopback (for CAPsMAN)" — inert, weil die APs nicht routen, aber vorhanden). + ➡️ **Zwei Entscheidungen, bevor die Rule scharf gemacht wird**, sonst meldet sie sofort flächendeckend Drift: + (a) **APs:** die 12 defconf-Regeln als Sollzustand ins Template schreiben **oder** sie abräumen + (sie tun nichts — ein reiner AP hat keine `forward`-Kette zu schützen). Empfehlung: **abräumen**, sonst + schreibt man Werksmüll als Absicht in die SoT — dasselbe Argument wie bei `telnet` in TP16.1. + (b) **branch:** 0 Regeln ist der korrekte Sollzustand und muss im Template auch als *leer* gerendert werden. - 🔴 **Folge 2 (und die ist gewichtiger): `/ip firewall filter` ist NICHT abgedeckt.** Die TP5-Zeile „läuft über Nautobot GC (`ip-firewall-*`-Features aus TP22)" ist damit **irreführend — es existiert nur NAT.** Die 11 Etappe-2-Regeln und der kommende Deny-by-default sind **nicht drift-überwacht**: diff --git a/routeros/tp25-infra-vaps-offline.rsc b/routeros/tp25-infra-vaps-offline.rsc new file mode 100644 index 0000000..b529846 --- /dev/null +++ b/routeros/tp25-infra-vaps-offline.rsc @@ -0,0 +1,31 @@ +# TP25 — dirtyvader-infra offline nehmen (User-Entscheid 2026-08-17). +# +# Begruendung: INFRA-Geraete haengen am Kabel (schon in TP3 als "vertagt, Mgmt +# verkabelt" angelegt). Die SSID hatte auf BEIDEN APs und BEIDEN Baendern +# 0 Clients. Zwei VAPs weniger je AP = weniger Beacon-Airtime. +# +# 🔑 WARUM disable UND NICHT "hidden" (Christophs Rueckfrage): +# Eine versteckte SSID sendet ihr Beacon WEITER — sie laesst nur das +# SSID-Feld darin leer. Verstecken spart also KEINE Airtime, es macht die +# SSID nur unbequemer zu finden (und ist kein Sicherheitsgewinn). +# Airtime spart ausschliesslich das Abschalten der VAP. +# +# Reversibel: disabled=no setzt sie zurueck. sec-infra/dp-infra/cfg-infra +# bleiben bestehen — die Zone ist damit jederzeit ohne Neuaufbau reaktivierbar. +# +# ⚠️ NICHT compliance-ueberwacht: die Sektion /interface wifi hat (Stand +# 2026-08-17) keine Compliance-Rule. Diese Aenderung ist deshalb weder +# Drift noch drift-gesichert — sie faellt unter die offene Luecke aus +# TP25 Schritt 6. +# +# Push (BEIDE APs): +# python3 nautobot/gc-manual-plan.py --device ap2 \ +# --commands-file routeros/tp25-infra-vaps-offline.rsc \ +# --change-id TP25-infra-offline-ap2 --deploy +# ... dasselbe mit --device ap1 + +:do { /interface/wifi/set [find name=w2-infra] disabled=yes } on-error={ :log info "tp25i: w2-infra warf" } +:do { /interface/wifi/set [find name=w5-infra] disabled=yes } on-error={ :log info "tp25i: w5-infra warf" } + +# Gegenprobe im Log: erwartet aktive-vaps=9 (vorher 11), infra-disabled=true/true +:log info ("tp25i: aktive-vaps=" . [:tostr [:len [/interface/wifi/find where !disabled]]] . " w2infra=" . [:tostr [/interface/wifi/get [find name=w2-infra] disabled]] . " w5infra=" . [:tostr [/interface/wifi/get [find name=w5-infra] disabled]])