TLS-Gate v3.16.0: NetBox-ZugÀnge im Web, Buchen im Web, Befunde aus dem Live-Test
Von: Branko â OZMAI, Crew
Stand: 12. Oktober 2026
Typ: EXTERNAL_SOURCE (Inbox-Regel §3, keine automatische Geltung, kein Brain-Status)
Charakter: NACHTRAG zu 2026-10-11_TLS-GATE-NETBOX-SCHRITT-4-GERAETE-ZERTIFIKATE-NACHTRAG_BRANKO.md. Ersetzt dort eine Aussage: Schritt 4 (84a6925/5f8dae9) ist nicht mehr ungetaggt, er gehört zu v3.16.0. Sonst ergÀnzt dieser Eintrag nur.
Quelle: Repo TLS-Gate-Mock-Pipeline, Tag v3.16.0 = b9a33fa (seit v3.15.0/8b05cba: 19 Commits). Dazu 4dbe747 (nur Test, nach dem Tag). Live-Befunde: docs/HANDOUT_NETBOX_LIVETEST.md (Code-Stand db015b8).
Belege: VM am 12.10. aus b9a33fa neu gebaut (docker_vm/build.sh, app/BUILD = b9a33faâŠ, dirty=0), ozm01â03 mit instance.sh angeglichen: run 91, p3 48, p4 54, p5 31, p6 22, p7 53, p8 28, p9 4, alle grĂŒn. Lokal: test_netbox 79, test_netbox_ui 44, test_katalog 188, test_bookings 80, test_dashboard_tiles 29, test_device_cert 42 (siehe §5). Die ĂŒbrigen lokalen Suiten liefen fĂŒr diesen Eintrag nicht.
Legende: â real/gebaut · đ§Ș gebaut, getestet, nicht live · đ spezifiziert · ⏠OPEN · â UNKNOWN
1. Live-Test gegen seeds.crumbforest.io â
(Aussage Branko, Werte nicht im Repo)
Am 11.10. lief der Connector (Schritt 1â3) gegen die Crumbforest-NetBox. Beim zweiten Anlauf am 12.10. hakte es an drei Stellen, keine davon ein Fehler im Connector:
| # | Befund | Ursache |
|---|---|---|
| 1 | HTTP 403 ⊠Invalid token |
Der Token war ungĂŒltig. Ein weiterer Token hatte Schreibrechte und wurde durch einen nur lesenden ersetzt. |
| 2 | HTTP 400 ⊠tenant: Select a valid choice |
Der Tenant ist ein eigenes Objekt (Tenancy â Tenants) und nicht der NetBox-Benutzername. |
| 3 | Die Meldung zeigte nur den HTTP-Status | Das Gate gab den Text von NetBox nicht weiter, behoben (§2). |
Falsch angelegte ZugĂ€nge mussten dreimal per SQL gelöscht werden, jeweils mit Grund im Audit. Brankos Satz dazu (12.10.): âwarum bauen wir das nicht so aus wie SOAP-ZugĂ€ngeâ. Daraus entstand §2.
Die wichtigste Erkenntnis: â Im RZ nutzen wir in NetBox keine Tenants. Der Connector filtert aber zwingend auf einen Tenant (Entscheidung N2, Grundlage von Regel b). Bevor die RZ-NetBox gespiegelt werden kann, muss das entschieden werden (§6).
2. NetBox-ZugĂ€nge im Web đ§Ș (netbox.php, Entscheidung N9)
- Funktionen: Zugang anlegen, Token tauschen, an/aus, Verbindung testen, löschen, Kontobindung an/aus.
- Token: Er wird als Passwortfeld eingegeben und nie zurĂŒck ins HTML geschrieben.
- Audit: Jede Aktion steht als
web.netbox_cred_<op>im Audit, mit dem Ergebnis ok, denied (mit Grund) oder fail. - Was bleibt: Der Sync lĂ€uft weiter nur auf der Node, weil der Abruf nach auĂen geht.
- Rechte:
group_adminverwaltet nur die eigene Gruppe und setzt nie die Kontobindung. ZugÀnge mit Kontobindung darf er nur testen und an/aus schalten.- Die Kontobindung schaltet nur
admin. - Ein Zugang einer fremden Gruppe gilt als âUnbekannter Zugangâ.
- Löschen und Kontobindung brauchen ein Pflicht-HÀkchen.
- Verbindung testen (
NetBoxClient::probe): Liest die Version, die GerÀteanzahl des Tenants und je eine Zeile Interfaces und IP-Adressen und schreibt nichts. Nur HTTP 403 gilt als fehlendes Recht. Andere Fehler zeigen den Text von NetBox. - CLI:
zugang deletelöscht nur, wenn nichts daran hĂ€ngt (keine gespiegelten GerĂ€te, keine Ereignisse, keine Zertifikate). Sonst bleibt nur das Abschalten.zugang konto-bindung ⊠an|ausnennt die laufenden Buchungen, deren Anker auf GerĂ€te dieses Zugangs zeigen.- Der Tenant bleibt unverĂ€nderlich. Ein anderer Tenant heiĂt neuer Zugang.
- Fehlertext von NetBox: HTML wird ohne Tags gezeigt, höchstens 200 Zeichen. Ein zurĂŒckgespiegelter Token wird durch
***ersetzt. - Beleg:
p828 prĂŒft âVerbindung testenâ im Web gegen die Fake-NetBox in der VM. Gegenseedslief die Web-Seite im Repo nicht. Ob Branko sie dort benutzt hat, ist hier nicht belegt.
3. Buchen und Beenden im Web đ§Ș
Brankos Anlass (12.10.): Das Dashboard zeigte Zuweisung, VerfĂŒgbarkeit und Preis, aber man konnte nichts buchen.
- Katalog (nur
admin): - Der Admin bucht fĂŒr eine Person der eigenen Gruppe. Zur Auswahl stehen nur freigegebene, verfĂŒgbare, aktive Paare.
- Die Buchung landet im Zustand
offered. Aktivieren muss der Inhaber, wie bisher. - Darunter stehen die laufenden Buchungen der Gruppe als Baum, mit âbeendenâ und Pflicht-HĂ€kchen.
- Ein Grundprodukt lÀsst sich erst beenden, wenn darunter keine ZusÀtze mehr laufen.
- Dashboard:
- Man bucht eigene ZusÀtze unter eigenen laufenden Grundprodukten und kann eigene ZusÀtze beenden.
- Kein Preis aus dem Formular: Der Preis kommt aus der Freigabe. Preis und Anker im POST werden ignoriert.
userundgroup_adminsehen keine Kategorien der Achseaccess.Bookings::end:readonlybeendet nichts. Aus dem Dashboard lassen sich nur ZusÀtze beenden. Die CLI ist unverÀndert.
4. Schritt 4 (GerÀte-Zertifikate) jetzt im Tag
Inhaltlich gilt der VorgĂ€nger-Eintrag weiter, nur ist der Stand jetzt getaggt. Weiter offen bleibt â der Ort der Node-CA. Sie ist nicht im Frontend native_php, auf ozm01â03 kann also weiterhin nichts ausgestellt werden (p9 prĂŒft nur die Tabellen).
5. Befund beim Neubau đ§Ș
test_device_cert war unter LANG=de_DE.UTF-8 mit 41 von 42 rot: Die Laufzeit wurde mit â20738 Tagen berechnet. Die Ursache lag im Test, nicht im Produkt. BSD-date -j -f "%b âŠ" las das Ablaufdatum von openssl unter der deutschen Locale nicht und rechnete deshalb mit 0. Die Behebung ist LC_ALL=C (4dbe747), danach 42 von 42, auch unter LANG=C. Das ist dieselbe Fehlerklasse wie p4 in v3.1.0. Das Zertifikat selbst hatte die ganze Zeit 90 Tage (die ĂŒbrigen PrĂŒfungen und openssl verify waren grĂŒn).
6. Offen
- â RZ ohne Tenants: Legt das RZ einen Tenant an (z. B.
ozm) und hĂ€ngt die GerĂ€te daran, oder filtert der Connector anders (Site, Tag)? Das Zweite wĂŒrde N2 und damit Regel b Ă€ndern. Diese Entscheidung liegt bei Branko und der Crew. - â NetBox-Version im RZ. Davon hĂ€ngt das Token-Format ab (ab 4.5
nbt_+Bearer, das Gate unterscheidet es selbst). - ⏠VMs (
virtualization/âŠ) werden nicht gespiegelt (N7). Die 2 VMs vonozminseedsfehlen im Spiegel. - ⏠Ort und Benutzer des Sync-Timers auf der Node.
- â Ort der Node-CA (§4).
- ⏠Fragen aus Brankos NetBox-Test am 12.10.: Branko hat dazu Fragen bekommen. Sie stehen nicht in diesem Eintrag und kommen als eigener Nachtrag.