TP5 E5: MAIN->IOT aufgemacht, Drucker und Shellys wieder erreichbar
Der Deny-by-default arbeitete korrekt — es gab nie eine vlan10->vlan30-Zeile. Offen waren nur MAIN->MEDIA, MAIN->INFRA, MAIN->MGMT; IOT fehlte als einziges Paar. Neue Regel voll einbahnig ohne Portfilter (User-Entscheid): MAIN steht zu INFRA/MEDIA/MGMT ohnehin ungefiltert offen, und dort liegen NAS/Proxmox/Nautobot. IOT->MAIN bleibt bewusst zu — dort sitzt der Wert der Segmentierung. Merkregel aus dem Drop-Log: der Drucker faellt mit udp/161 auf, nicht mit 631. macOS fragt zuerst den SNMP-Status ab und bricht ab, bevor es zu IPP kommt — eine Whitelist auf 631 haette nichts repariert. Abnahme von 10.40.10.82 (der Quelle aus dem Log): .30.5 ICMP 0% Loss, snmpget sysName.0 -> P750W, tcp/631+9100+80 offen; Shellys .30.202/.203/.221 HTTP 200. Compliance 92/92, 0 Drifts. Seit dem Deploy keine neue vlan10->vlan30-Zeile im Kollektor. Nebenbei: gc-manual-plan.py --assert URL-encodet die Query jetzt. Ein Kommentar mit Leerzeichen warf InvalidURL erst NACH dem erfolgreichen Deploy — man steht mit einem Traceback da und weiss nicht, ob der Change gewirkt hat. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -253,6 +253,32 @@ FT kaschierte das bisher als „Roaming" statt „schwache Abdeckung".
|
||||
|
||||
### TP5 — Firewall & Inter-VLAN-Policy ▸ ✅ **DURCH (2026-08-18): deny-by-default in BEIDEN Ketten scharf** — 📋 `docs/tp5-deny-by-default-runbook.md`
|
||||
|
||||
- ✅ **ETAPPE 5 (2026-08-19): `MAIN → IOT` aufgemacht — `routeros/tp5-e5-main-iot.rsc`, Backup `core-pre-tp5-e5-main-iot-20260819.backup`, Compliance danach 92/92, 0 Drifts.**
|
||||
- **Auslöser (User):** Brother P750W und die Shellys aus VLAN10 nicht erreichbar. Der Drop arbeitete
|
||||
korrekt — es gab schlicht **nie** eine `vlan10→vlan30`-Zeile. Offen waren nur `MAIN→MEDIA`,
|
||||
`MAIN→INFRA`, `MAIN→MGMT`; IOT fehlte als einziges Paar in der Liste.
|
||||
- 🔴 **Merkregel: der Drucker fällt mit `udp/161` auf, NICHT mit `631`.** Im Drop-Log stehen
|
||||
40 Zeilen SNMP nach `10.40.30.5` und kein einziges IPP — macOS fragt zuerst den SNMP-Status ab
|
||||
und bricht ab, bevor es überhaupt zu IPP kommt. **Wer nur 631 whitelistet, repariert nichts.**
|
||||
- **Log-Matrix `in:vlan10 out:vlan30`:** 497 ICMP · 489 `udp/5353` · 489 `udp/137` ·
|
||||
237 `udp/3722` (Apple-Continuity → `.30.201`) · 40 `udp/161`. Quellen: `.10.183` (1596 Zeilen,
|
||||
Sweep über alle 254 Adressen), `.10.180` (118), `.10.82` (38).
|
||||
- **Entscheid (User): voll einbahnig, kein Portfilter.** MAIN steht zu INFRA/MEDIA/MGMT ohnehin
|
||||
ungefiltert offen — und INFRA hält NAS, Proxmox und Nautobot, also deutlich mehr Wert als die
|
||||
Shellys. MAIN→IOT eng zu filtern wäre Symbolik, kostet aber bei jedem neuen IoT-Gerät eine Runde
|
||||
Fehlersuche. **Der Sicherheitswert sitzt in der Gegenrichtung:** `IOT→MAIN` bekommt bewusst
|
||||
**kein** `accept` und bleibt gedroppt; Antworten laufen über `defconf: accept est,rel,untracked`.
|
||||
- **Abnahme am Gerät** (von `10.40.10.82`, also der Quelle aus dem Log): `.30.5` ICMP 0 % Loss,
|
||||
`snmpget sysName.0` → `P750W`, tcp/631+9100+80 offen; `.30.202/.203/.221` HTTP **200**.
|
||||
`.30.201` bleibt still — kein Firewall-Thema mehr (die Regel ist ungefiltert), Gerät aus.
|
||||
- ⚠️ **Bewusste Nebenwirkung:** der Subnetz-Sweep von `.10.183` läuft ab jetzt durch statt im
|
||||
Drop-Log aufzulaufen. Betriebsneutral, aber der Log wird an dieser Stelle leiser — **nicht mit
|
||||
„Problem gelöst" verwechseln**, wenn später jemand die Log-Rate als Metrik liest.
|
||||
- 🔧 **Werkzeug-Fix nebenbei: `gc-manual-plan.py --assert` URL-encodet die Query jetzt.** Ein
|
||||
Kommentar mit Leerzeichen (`TP5-E5: MAIN->IOT`) warf `http.client InvalidURL` — **nach** dem
|
||||
erfolgreichen Deploy, d.h. der Change war durch und nur die Gegenprüfung crashte. Das ist die
|
||||
schlechtere Reihenfolge: man steht mit einem Traceback da und weiß nicht, ob es gewirkt hat.
|
||||
|
||||
- ✅ **ETAPPE 3 + 4 DURCH (2026-08-18, nachts).** `forward` und `input` enden jetzt mit `drop`, die
|
||||
Log-Regel steht in beiden Ketten **davor** und protokolliert weiter, was der Drop frisst.
|
||||
Artefakte: `routeros/tp5-etappe2-nachtrag.rsc`, `-etappe3-drop.rsc`, `-etappe4-input-mgmt.rsc`,
|
||||
|
||||
Reference in New Issue
Block a user