TLS-Gate: RĂŒckmeldung ânoch unrundâ und eine Grenze nach v3.0.0
Von: Branko / CrumbBot (Claude Opus 5.5, Repo OZM_Nullfeld_v1)
Stand: 30. September 2026
Typ: EXTERNAL_SOURCE (Inbox-Regel §3, keine automatische Geltung, kein Brain-Status)
Charakter: RĂŒckmeldung nach einem Lesedurchgang, dazu eine Richtungsaussage von Branko. Ein Thema.
Quelle: TLS-Gate-Mock-Pipeline main = 093ff43 (Tag v3.0.0 = 10c2db9), Repo tlsgate-monitor-demo main = 3249586.
VorgÀnger: 2026-09-29_TLS-GATE-DEMO-GEMOCKT-UND-AUSSENSICHT_BRANKO.md, 2026-09-29_TLS-GATE-WURZELSCHLUESSEL-UND-BRUECKE-ZUR-OZM-CA_BRANKO.md.
Legende: â real/geprĂŒft · đ§Ș Test belegt es · đ Vorschlag/Entwurf · ⏠OPEN · â UNKNOWN
Keine Secrets. Die Demo-Domain ist eine eigene Domain des Autors, sie steht hier wie zuvor als <domain>.
1. Worum es geht
Branko (O-Ton sinngemĂ€Ă): Die ansiblekatze hat in kurzer Zeit sehr viel auf einmal verschraubt. UngefĂ€hr zwei Stunden hat es heute
gebraucht, um zu verstehen, was geht und was noch nicht. Dass die Doku dicht ist, hat das erst möglich gemacht.
Diese RĂŒckmeldung sammelt, was beim Lesen nicht zusammenpasst, und schlĂ€gt eine Grenze vor.
2. Befunde aus dem Lesedurchgang (â = im Repo nachgesehen, nichts geĂ€ndert)
| # | Befund | Status | Beleg |
|---|---|---|---|
| 1 | Das Vokabular fĂŒr source driftet: Der Vertrag nennt mock | fixture | live, der Export schreibt aber node_ca, der Monitor kennt zusĂ€tzlich node_ca und mixed |
â | docs/DESIGN_TENANTS.md Schritt 6 · tlsgate-monitor-demo/echt.json · sample.html Z. 557/574 |
| 2 | Vertrag tlsgate.monitor steht weiter auf version: 1, obwohl sich das Vokabular erweitert hat |
â | beide Export-JSONs |
| 3 | clock: "lokale Uhr der Node" steht neben generated_on: "Mac". Die Aussage stimmt fĂŒr diesen Lauf nicht |
â | echt.json, kopie-fixture.json |
| 4 | sans im Export ohne die Hauptdomain (nur www.<domain>); im Mock (sample.json) steht die Domain mit in sans, das Zertifikat trÀgt laut Runbook beide |
â | Export-JSONs vs. sample.json · docs/LAUF_NODE_CA.md |
| 5 | evidence listet self_reported doppelt, ohne Bezug zum Ereignis. FĂŒr den Leser des Monitors wenig aussagekrĂ€ftig |
â | Export-JSONs |
| 6 | Zwei Kopien des Monitors laufen schon auseinander: Die Demo-Kopie kennt weder revocation noch issuer_kind |
â | diff resources/mock/sample.html tlsgate-monitor-demo/sample.html (Z. 671â675) |
| 7 | README der Demo nennt sample.html âgerenderte Ansicht zu sample.jsonâ. TatsĂ€chlich ist sie der Leser (?data=) mit eingebetteten Beispielen |
â | tlsgate-monitor-demo/README.md |
| 8 | sample.json trÀgt soap_username/api_endpoint: als Mock in Ordnung, im Export verboten. Kein Hinweis, dass es keine Vorlage ist |
â | sample.json, DESIGN_TENANTS Schritt 6 |
| 9 | Deploy widerspricht sich beim CLI-User: Das vhost-Beispiel sagt sudo -u <WEBUSER> ⊠migrate, die README sagt, genau das lehnt der CLI-Guard ab (verlangt euid 0) |
â | deploy/apache-vhost.conf.example Z. 8 · deploy/README.md Z. 27 |
Was gut ist und bleiben soll: AuĂensicht (outside) und Selbstmeldung stehen in getrennten Spalten. Die Fixture zeigt issued
und gleichzeitig no_tls. Ausgestellt â ausgeliefert wird damit sichtbar statt behauptet.
3. CLI im RZ ist eine andere Kiste
- â
Lokal lĂ€uft TLS-Gate ĂŒber
bin/serve.sh(php -S 127.0.0.1:8080) als User auf dem eigenen Rechner. Das Runbook zur Node-CA ist
auf einem Mac gelaufen, nicht auf einer Node und nicht im RZ. - â (laut Branko) Der FPM-Weg (Apache + PHP-FPM) scheint im RZ soweit zu laufen.
- ⏠Der CLI-Weg im RZ ist bisher nur vermutet, nicht gelaufen. Dort kommen zusammen:
php-cliund FPM mit je eigenerphp.ini
und eigenem User; Cron-Tick (order_tick.php) und Export schreiben, der Web-User muss lesen;TLSGATE_GUARDverlangt root, root legt
Dateien an, die danach dem Web-User ĂŒbergeben werden mĂŒssen (Befund #9 zeigt, dass schon die Doku das uneinheitlich sagt). - Aus âlĂ€uft lokal mit
serve.shâ folgt nicht âlĂ€uft im RZâ. Aus âFPM lĂ€uftâ folgt nicht âCron-CLI lĂ€uftâ.
4. Richtung (Branko): Grenze nach v3.0.0
đ Vorschlag, nicht entschieden:
v3.0.0ist die PHP-Referenz. Was danach kommt, wird nicht mehr in PHP verschraubt, sondern als Befund oder Vertrag festgehalten.
Die Befunde aus §2 werden dort nachgezogen, wo sie den Vertrag betreffen (#1â#4), der Rest wird notiert.- Die alten v1-
.sh-Skripte (im Tagv1.0.0u. a.dashboard.sh,test_smoke.sh) funktionieren laut Branko sehr gut. EinschrÀnkung: Eine neue Order
lĂ€sst sich nur ĂŒber die UI starten. - Rust-Ableitung aus dem Bash-Teil, nicht aus dem PHP-Teil: auf User-Ebene (kein root-Guard, kein Web-User-Wechsel), mit
interner, eigener DB. Damit fĂ€llt die CLI/FPM-Rechte-Frage aus §3 fĂŒr den Rust-Teil weg, statt gelöst werden zu mĂŒssen.
Muster wie bei missions-core: Bash-Baum bleibt Quelle, Rust wĂ€chst als Ableitung. - Warum jetzt der scheinbare âOverheadâ: TLS-Gate soll spĂ€ter in dieser Form in Rust gegossen werden. Die Doku heute ist die Vorlage dafĂŒr.
5. Warum das fĂŒr Nullfeld zĂ€hlt
- đ Wenn der questions-server entsteht, sollen sich
questions-coreundmissions-coredort anmelden. Das ist der Punkt, an dem
TLS (bzw. eine eigene CA mit mTLS) im Rust-Kern ankommt. - â
Heute gilt das Gegenteil, bewusst:
questions-core/Cargo.tomlZ. 14â16 hĂ€lt fest, dass der Kern kein TLS hat
(âthe door is the tunnel, not TLSâ, Zugang nur ĂŒber wg0). Eine Anmeldung per Zertifikat wĂ€re also eine Ănderung dieser Entscheidung,
keine ErgĂ€nzung. ⏠- â
In TLS-Gate gibt es mit
cert_whois(CertIdentity) schon die Frage âwohin gehört dieses Zertifikatâ. Das ist die whoami-Kante aus
dem Glossar, nur von der TLS-Seite her.
6. Was ausdrĂŒcklich nicht folgt
- Aus âeigene CA geplantâ folgt nicht âNode-CA ist die OZM CAâ. Die Node-CA ist eine Test-CA ohne OCSP und ohne SchlĂŒsseltrennung.
- Aus âFPM lĂ€uft im RZâ folgt nicht âTLS-Gate lĂ€uft im RZâ.
- Aus âRust-Ableitung geplantâ folgt nicht, dass es dafĂŒr Code gibt. Es gibt keinen.
7. Fragen an OZMAI (âŹ)
- TrĂ€gt die Grenze âv3.0.0 = PHP-Referenz, danach Befunde statt Codeâ, oder braucht es vorher noch ein v3.0.1 fĂŒr die Vertragsdrift (#1â#4)?
- Soll
sourcefĂŒr eine gemischte Kette (mixed) ein eigener Wert sein, oder wird nur die schwĂ€chste Quelle angezeigt (Frage aus dem VorgĂ€nger, §5)? - Anmeldung von questions-core/missions-core am questions-server: Tunnel und Zertifikat (zwei getrennte PrĂŒfungen,
Admission â Verification),
oder ersetzt eines das andere?