So sicher ist die Kopplung
Das Dashboard ist freiwillig. Ohne Kopplung spricht das Plugin mit niemandem. Hier steht, was das Dashboard darf, was nie, und was schlimmstenfalls passiert.
Die Regeln
- 1
Nur wenn du es willst
Das Plugin baut keine Verbindung zum Dashboard auf, bis jemand in der Server-Konsole bsb link eingibt. Kein Code, keine Verbindung.
- 2
Dein Server ruft an, nie umgekehrt
Das Plugin öffnet keinen Port. Es verbindet sich selbst über HTTPS und prüft dabei immer das Zertifikat des Dashboards. Diese Prüfung lässt sich nicht abschalten.
- 3
Koppeln mit Einmal-Code
Der Code aus dem Dashboard gilt zehn Minuten und nur einmal. Eingeben kann ihn nur, wer auf dem Server OP ist oder an der Konsole sitzt. Gekoppelt ist erst nach deinem Ja im Dashboard. bsb unlink beendet die Kopplung sofort.
- 4
Das Dashboard darf, was du im Spiel darfst
Wer koppelt, bindet das Konto an sich: an seinen Spieler oder an die Konsole. Verliert dieser Spieler OP und das Recht bsb.dashboard, lehnt der Server jeden Auftrag ab; bekommt er sie zurück, geht es wieder. Aktionen laufen mit seinen Rechten.
- 5
Drei Stufen, dein Server schaltet sie ab
Einrichten (Texte und Einstellungen), Live-Ansicht (Spieler, Leistung, Welten, Chat) und Aktionen (eine feste Liste von BSB-Befehlen wie Kicken oder Wartung). Die Config des Servers kann jede Stufe abschalten; das Dashboard kann keine einschalten. Keine Stufe berührt Dateien, Code, OP, Rechte oder Geld.
- 6
Dein Server prüft alles selbst
Bei jedem Auftrag fragt das Plugin: Ist der gebundene Admin noch Admin? Ist die Stufe an? Darf er diesen Befehl? Ist die Einstellung von außen änderbar? Stimmen Typ und Länge? Was nicht passt, lehnt es ab, egal wer es schickt.
- 7
Alles lässt sich zurückholen
Bevor das Plugin etwas ändert, schreibt es die alten Werte in dashboard-history.json auf deinem Server. bsb undo nimmt die letzte Änderung zurück, das Dashboard auch ältere (die letzten 50). Neben jeder Config-Datei liegt die vorige Fassung als .bak, und jede Änderung steht mit Zeit und Konto in dashboard.log.
- 8
Nichts Heikles verlässt den Server
Keine Passwörter, keine Tokens, keine IP-Adressen deiner Spieler, keine Kontostände zum Ändern.
- 9
Konten sind geschützt
Passwörter liegen nur als langsamer Hash vor, Anmeldeversuche werden gebremst. Mit Zwei-Faktor-Anmeldung reicht ein gestohlenes Passwort nicht. Meldet sich ein unbekannter Browser an, bekommst du eine Mail mit einem Link, der alle Geräte abmeldet. Im Konto unter „Sicherheit“ siehst du, wo du angemeldet bist.
- 10
Sicher beim Streamen
Nichts, was im Spiel, im Chat, in der Konsole oder im Dashboard zu sehen ist, reicht allein, um etwas zu koppeln oder zu steuern. Ein mitgelesener Code bewirkt nichts ohne dein Ja. Links enthalten nie ein Geheimnis, und der Schlüssel deines Servers wird nirgends angezeigt.
Freie Konsole
Stufe 4 ist aus, bis jemand in der Server-Konsole bsb dashboard on console read (nur mitlesen) oder bsb dashboard on console full (auch Befehle) eingibt und bestätigt. Im Dashboard und im Spiel lässt sie sich nicht einschalten. Mit full hat dein Dashboard-Konto fast die Macht der Server-Konsole. Deshalb gilt:
- Vor jeder Sitzung fragt das Dashboard dein Passwort noch einmal, mit Zwei-Faktor-Anmeldung auch den Code.
- Jeder Befehl ist von deinem Browser signiert; der Server nimmt nur Befehle aus Browsern an, die du bestätigt hast. Log-Zeilen und Antworten sind für deine Browser verschlüsselt, der Dienst kann sie nicht lesen.
- IP-Adressen im Log werden geschwärzt, bevor eine Zeile den Server verlässt.
- Befehle laufen als eigener Absender „Dashboard (Konto)“, nie als Server-Konsole. op, deop, bsb dashboard on und bsb link sind immer gesperrt, stop und restart solange die Serververwaltung aus ist – auch über Aliase, minecraft:op, Groß- und Kleinschreibung, execute … run und die Zeile, die sudo, powertool, schedule oder ein eigener Befehl ausführt. sudo und powertool anderer Plugins und Rechte-Plugins (LuckPerms und andere) sind ganz gesperrt. Eigene Sperren stehen in dashboard.console.blocked.
- Höchstens 10 Befehle pro Sekunde und 600 pro Minute.
- Jeder Befehl steht in dashboard.log, und OPs im Spiel sehen ihn sofort. bsb dashboard off console beendet jede Sitzung.
- Was ein Befehl getan hat, kann das Plugin nicht zurücknehmen, und ein Befehl eines anderen Plugins kann mehr, als die Sperrliste kennt. Schalte full nur ein, wenn du dem Konto traust wie jemandem an deiner Server-Konsole.
- RCON zählt als Server-Konsole: Wer das RCON-Passwort hat, kann koppeln und Stufe 4 einschalten. Das Dashboard zeigt rcon.password nie offen. Halte es geheim oder schalte RCON in server.properties ab (enable-rcon=false).
Woran du eine echte Meldung erkennst
Was das Plugin selbst über die Kopplung sagt, beginnt im Chat mit „BSB »“. Texte aus dem Dashboard dürfen nicht so aussehen; das Plugin lehnt sie ab. Echt ist trotzdem nur, was du selbst unter bsb siehst: mit welchem Konto der Server gekoppelt ist und an wen es gebunden ist. Weder Plugin noch Dashboard bitten dich im Chat, einen Befehl zu tippen.
Was schlimmstenfalls passiert
- Fall
- Jemand stiehlt dein Dashboard-Konto
- Schlimmstenfalls
- Er ändert Texte und Einstellungen, sieht zu und löst die Aktionen aus, deren Befehl du im Spiel hast – auf jedem Server, den du gekoppelt hast.
- Was es begrenzt
- Nie mehr, als du im Spiel darfst; jede Stufe lässt sich in der Config abschalten; keine Aktion berührt Dateien, Code, Rechte oder Geld; bsb undo und bsb unlink; Zwei-Faktor-Anmeldung.
- Fall
- Der Dashboard-Dienst wird gehackt
- Schlimmstenfalls
- Der Angreifer kann jedem gekoppelten Server schicken, was dessen eingeschaltete Stufen erlauben, nicht mehr.
- Was es begrenzt
- Das Plugin prüft jede Nachricht selbst gegen Stufe, Liste und Schema. Beim Dienst liegen keine Server-Schlüssel im Klartext und keine Spielerdaten.
- Fall
- Jemand liest deinen Code im Stream mit und gibt ihn auf seinem Server ein
- Schlimmstenfalls
- Ist er schneller als du, erscheint seine Anfrage in deinem Dashboard.
- Was es begrenzt
- Ohne dein Ja wird nichts gekoppelt. Die Anfrage zeigt eine Zahl; bestätige nur, wenn dein Server genau diese Zahl zeigt.
- Fall
- Jemand liest im Netz mit
- Schlimmstenfalls
- Nichts.
- Was es begrenzt
- Nur HTTPS, das Zertifikat wird immer geprüft. Ist es ungültig, verbindet sich das Plugin nicht.
- Fall
- Jemand stiehlt den Schlüssel deines Servers (Datei im Plugin-Ordner)
- Schlimmstenfalls
- Er kann sich als dein Server ausgeben, falsche Live-Daten zeigen und Änderungen abfangen. Deinem echten Server kann er nichts befehlen.
- Was es begrenzt
- Melden sich zwei Stellen mit demselben Schlüssel, sperrt der Dienst ihn und verlangt neues Koppeln. Der Schlüssel steht nie im Log.
- Fall
- Ein Mit-Admin mit OP will Unfug treiben
- Schlimmstenfalls
- Er kann sein eigenes Konto koppeln und hat dann im Dashboard, was er als OP ohnehin hat. Koppelt er neu, ist dein Konto nicht mehr gebunden.
- Was es begrenzt
- Unter bsb steht, an wen das Konto gebunden ist.
- Fall
- Einem Admin wird OP entzogen, während er zusieht
- Schlimmstenfalls
- Er sieht die Live-Daten bis zur nächsten Prüfung.
- Was es begrenzt
- Das Plugin prüft vor jedem Auftrag; jeder weitere wird abgelehnt.
- Fall
- Einem Admin werden Rechte entzogen, während er offline ist, und es gibt kein Vault
- Schlimmstenfalls
- Bis er wieder auf den Server kommt, gilt der Stand vom letzten Verlassen.
- Was es begrenzt
- OP wird auch offline geprüft, mit Vault auch das Recht. Wer sicher gehen will, entzieht OP oder entkoppelt mit bsb unlink.
- Fall
- Eine alte Nachricht wird noch einmal geschickt
- Schlimmstenfalls
- Nichts.
- Was es begrenzt
- Jeder Auftrag hat eine fortlaufende Nummer und ein Verfallsdatum; das Plugin führt keine Nummer zweimal und nichts Abgelaufenes aus.
- Fall
- Jemand probiert beim Registrieren fremde Mail-Adressen durch
- Schlimmstenfalls
- Er erfährt, ob eine Adresse schon ein Konto hat.
- Was es begrenzt
- Höchstens fünf Registrierungen je Stunde und Aufrufer. Anmelden und „Passwort vergessen“ antworten bei bekannter und unbekannter Adresse gleich.
- Fall
- Der Dienst ist nicht erreichbar
- Schlimmstenfalls
- Das Dashboard zeigt den Server als offline.
- Was es begrenzt
- Der Server läuft unverändert weiter; das Plugin versucht es in wachsenden Abständen erneut.
- Fall
- Jemand stiehlt dein Konto, und die Konsole steht auf full
- Schlimmstenfalls
- Er führt Befehle aus wie an der Server-Konsole, außer den gesperrten.
- Was es begrenzt
- Er braucht dein Passwort, den Zwei-Faktor-Code und einen Browser, den du bestätigt hast. Sperrliste und Bremse im Plugin; OPs sehen jeden Befehl; dashboard.log; bsb dashboard off console oder bsb unlink in der Server-Konsole beendet es sofort.