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.
- Getrennt von der Hermes-Instanz
Ein Programm sollte nicht neben dem Speicher, der Konfiguration oder den Zugangsdaten des Bots laufen. - Kein Netzwerkzugriff
Gib einem Programm, dem du nicht vertraust, keinen Weg zu Internet oder zum Proxy. - Temporäre Schreibvorgänge, die bei Sitzungsende verworfen werden
Bewahre die Änderungen des Programms nicht als dauerhaften, vertrauenswürdigen Zustand auf. - 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.