From 9e485efe87231dbb23b592ed41c1391b598fab9d Mon Sep 17 00:00:00 2001 From: nexxo Date: Thu, 30 Jul 2026 20:06:48 +0200 Subject: [PATCH] Write the firewall's running order into the plan, not just the commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit moved the nftables lockdown out of Task 5 and explained why in its message. A commit message is not where the next person looks. Task 5 now carries it: the bridge is normally already there because the ISO installer writes it, the lockdown belongs in Task 9 because SecureHostFirewall ran last for a reason, and "check from outside" cannot mean what it says before the tunnel exists — so the script checks inside-out and says so. Co-Authored-By: Claude Opus 5 --- ...-07-30-host-uebernahme-bootstrap-skript.md | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/superpowers/plans/2026-07-30-host-uebernahme-bootstrap-skript.md b/docs/superpowers/plans/2026-07-30-host-uebernahme-bootstrap-skript.md index c1d7f98..3b52649 100644 --- a/docs/superpowers/plans/2026-07-30-host-uebernahme-bootstrap-skript.md +++ b/docs/superpowers/plans/2026-07-30-host-uebernahme-bootstrap-skript.md @@ -292,11 +292,35 @@ werden: ### Task 5: `network_bridged` — der gefährlichste Abschnitt -- [ ] **Step 1: Schreiben** +- [x] **Step 1: Schreiben** **Lies zuerst `ConfigureProxmox.php`.** Dort steht, warum Proxmox auf Debian keine `vmbr0` anlegt und was eine falsche Brücke anrichtet. +> **Zwei Korrekturen aus der Umsetzung.** +> +> **Die Brücke ist im Regelfall schon da.** Genau die Stelle, die man hier liest, +> sagt es: Proxmox *auf Debian* legt keine `vmbr0` an — „only the ISO installer +> writes that bridge into `/etc/network/interfaces`". Dieser Entwurf installiert +> über die ISO. Der Abschnitt **prüft** deshalb (existiert sie, hat sie eine +> Adresse, trägt sie die Vorgaberoute) und baut nur im Ausnahmefall — dann unter +> der Selbstrücknahme. Dieselbe Datei begründet ausführlich, warum sie eine +> Brücke über die primäre Netzkarte NICHT aus der Ferne baut. +> +> **Die nftables-Sperre gehört nicht hierher.** `SecureHostFirewall.php` lief im +> alten Ablauf ZULETZT, ausdrücklich damit der Tunnel schon trägt, „before +> SSH-to-the-world is ever closed". An dieser Stelle stünde sie **vor** +> `wireguard_joined` und schlösse Port 22, bevor ein Handshake bewiesen ist — +> die Reihenfolge, die einen Host dauerhaft unerreichbar macht. Sie steht +> deshalb in **Task 9**. Die Selbstrücknahme bleibt hier und gilt der +> Netzumstellung; die Firewall behält ihre manuelle Notöffnung, denn „a firewall +> that reopens itself under failure is not a firewall". +> +> **Zu Punkt 4 unten, „von außen prüfen":** das geht vor dem Tunnelbeitritt +> nicht, es gibt keinen Gegenüber. Geprüft wird von innen nach außen (Gateway +> und ein Ziel dahinter), und das ist im Skript auch so benannt. Was es nicht +> abdeckt, deckt der Zeitgeber ab — deshalb steht er da. + Das Muster aus Block B des Handoffs, unverändert, nur im Skript: 1. Aktuelle Netzkonfiguration sichern. @@ -317,7 +341,7 @@ der Kunden-VMs wirkungslos, und `ConfigureProxmox` hielt das als eigenen Fund fe auslösen.** Eine Brücke bauen, die die Maschine vom Netz nimmt, und zusehen, wie sie von selbst zurückkommt. **Ohne diesen Versuch ist der Zeitgeber eine Behauptung.** -- [ ] **Step 3: Committen.** `Bridge the network, and take it back if the host goes quiet` +- [x] **Step 3: Committen.** `Bridge the network, and take it back if the host goes quiet` ---