TP25: dirtyvader-infra offline, Firewall-Filter-Compliance vermessen

-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 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 15:14:40 +02:00
parent 77553c94af
commit 23c63d435d
2 changed files with 40 additions and 0 deletions

View File

@@ -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**:

View File

@@ -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]])