← Spiel startenMissionsbibliothek GitHub
Mission 9 · Setze die Grenzen

Eine Werkstatt fern von zu Hause

Trenne die Befehlsausführung vom eigenen Zustand des Bots.

Sina braucht den Bot tatsächlich, um ein kleines Programm auszuführen. Dieses Programm könnte bösartig sein. Du wählst, wo es ausgeführt wird.

Sina
“Kann es einen Arbeitsplatz haben, ohne dass man ihm die Schlüssel zum Haus des Bots gibt?”

Die Entscheidung

Wähle alle drei Eigenschaften, die die Ausführungswerkstatt haben soll.

  1. Getrennt von der Hermes-Instanz
    Ein Programm sollte nicht neben dem Speicher, der Konfiguration oder den Zugangsdaten des Bots laufen.
  2. Kein Netzwerkzugriff
    Gib einem Programm, dem du nicht vertraust, keinen Weg zu Internet oder zum Proxy.
  3. Temporäre Schreibvorgänge, die bei Sitzungsende verworfen werden
    Bewahre die Änderungen des Programms nicht als dauerhaften, vertrauenswürdigen Zustand auf.
  4. Ein gemeinsam genutzter Ordner mit der Konfiguration und den Geheimnissen des Bots
    Mach alle Dateien verfügbar, damit das Programm nie feststeckt.
Erklärung zeigen

Eine getrennte, abgekoppelte und temporäre Werkstatt. In der Anleitung werden Befehle über eingeschränktes SSH zu einer anderen Instanz geschickt und in gVisor ausgeführt.

Eine Sandbox ist eine eingeschränkte Arbeitsumgebung. Sie sollte nicht die Schätze enthalten, die du schützen willst.
  • gVisor fügt zwischen einem Befehl und dem darunterliegenden System eine Kernel-Grenze im Benutzerbereich ein.
  • Die Anleitung kombiniert es mit einer getrennten Instanz und Netzwerkeinschränkungen; keine einzelne Schicht wird als perfekt betrachtet.
  • Nimm nicht an, dass jedes Werkzeug über denselben Backend wie die Terminalbefehle läuft. Dateiwerkzeuge und die Codeausführung müssen deaktiviert bleiben, bis bewiesen ist, wo sie tatsächlich ausgeführt werden.
Sandbox

Ein eingeschränkter Ort, um potenziell nicht vertrauenswürdigen Code mit begrenztem Zugriff und wegwerfbaren Änderungen auszuführen.

Quelle: Abschnitt des mitgelieferten PDF 12. Das ursprüngliche PDF lesen. Diese Lektion testet keinen echten Server.