Domain-Check: fuehrt die Domain wirklich hierher?
Eine Domain zu registrieren ist der kleinste Teil der Arbeit — DNS, Reverse Proxy und Zertifikat liegen ausserhalb dieser Anwendung. Fehlt dort etwas, merkt man es am gedruckten Code, der nicht aufgeht. Der Knopf "Pruefen" geht den Weg der Scanner nach: Namen aufloesen, Zertifikat ansehen, Adresse aufrufen — und sich beweisen lassen, dass am anderen Ende diese Installation steht. Der Beweis ist ein HMAC ueber eine frische Zufallszahl; das Geheimnis dafuer entsteht beim ersten Check und verlaesst den Server nie. Geprueft wird nur ein Hostname aus der Datenbank, nie einer aus der Anfrage — sonst waere die Route ein Werkzeug zum Abklopfen fremder Adressen. Scheitert schon DNS, fallen die drei Folgeschritte aus, statt dreimal dasselbe zu melden. Die Grenze der Aussage steht im Bericht selbst: Der Aufruf startet dort, wo der Container laeuft. Refs #7
This commit is contained in:
@@ -191,6 +191,29 @@ Konto nur bei **bestätigter** E-Mail-Adresse.
|
||||
|
||||
---
|
||||
|
||||
## Der Domain-Check und seine Grenzen
|
||||
|
||||
Auf der Domain-Seite ruft der Knopf **Prüfen** die eingetragene Domain vom
|
||||
Server aus auf. Drei Dinge grenzen das ein:
|
||||
|
||||
- Geprüft wird ausschließlich ein Hostname **aus der Datenbank**, nie einer
|
||||
aus der Anfrage. Sonst wäre die Route ein Werkzeug, mit dem sich vom Server
|
||||
aus beliebige Adressen abklopfen ließen.
|
||||
- Auslösen darf sie nur, wer `instance:manage` hat — dieselbe Berechtigung,
|
||||
die auch Domains anlegt.
|
||||
- Die Route, die den Beweis liefert (`/api/domain-check`), ist **ohne
|
||||
Anmeldung** erreichbar; der Aufruf kommt ja von außen. Sie gibt nichts
|
||||
preis: Die Antwort ist ein HMAC über die mitgeschickte Zufallszahl. Ohne
|
||||
das Geheimnis lässt er sich nicht bilden, und aus ihm folgt nichts über das
|
||||
Geheimnis. Es entsteht beim ersten Check und verlässt den Server nie.
|
||||
|
||||
Beim Zertifikat läuft die Verbindung bewusst mit `rejectUnauthorized: false`.
|
||||
Nur so lässt sich ein schlechtes Zertifikat **beschreiben** — abgelaufen,
|
||||
selbst ausgestellt, falscher Name — statt bloß daran zu scheitern.
|
||||
Übertragen wird über diese Verbindung nichts.
|
||||
|
||||
---
|
||||
|
||||
## Offen
|
||||
|
||||
Bewusst nicht umgesetzt, mit Begründung.
|
||||
|
||||
Reference in New Issue
Block a user