Journal-IndexDockup / Feldnotiz
Note / self-host-cyberchef

CyberChef 2026 selbst hosten: Sicherer Zugriff, zustandsloser Betrieb und Updates

Ein praxisnaher Leitfaden zum Self-Hosting von CyberChef mit Docker, Ports, persistenten Daten, TLS, Sicherheit, Backups und den Problemen, die den Produktiveinsatz verhindern. Für 2026.

Die kürzeste CyberChef-Demo belegt, dass ein Prozess auf Port 80 lauscht. Für den Produktiveinsatz sind belastbarere Nachweise erforderlich. Dieses Szenario muss auch nach dem Austausch des Containers funktionieren: ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt.

CyberChef wird für einen klaren Zweck eingesetzt: als browserbasierte Workbench für Encoding, Decoding, Parsing und Kryptografie. Die häufigste Falle beim Deployment besteht darin, dass umfangreiche Operationen den Browserspeicher erschöpfen, obwohl der Server gesund ist. Deshalb verdienen der Umgang mit öffentlichen URLs und ein dauerhaft verfügbarer Zustand ebenso viel Aufmerksamkeit wie der Start des Images.

Die kleinstmögliche praktikable CyberChef-Topologie wählen

Ein hilfreiches CyberChef-Diagramm zeigt die öffentliche Route, den privaten Port 80, die Zustandsgrenze und alle unterstützenden Anforderungen. Kennzeichne, welche Pfeile Zugangsdaten transportieren und welche normalen Benutzerverkehr darstellen. Der standardmäßige CyberChef-Build benötigt weder eine Datenbank noch einen separaten persistenten Runtime-Service. Halte den Webcontainer austauschbar und platziere künftige Komponenten für Authentifizierung, Zusammenarbeit oder Storage hinter einer separat dokumentierten Grenze.

Belege das Diagramm mit einer echten Aktion: ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt. Die wahrscheinliche Belastung entsteht bei umfangreichen Rezepten eher durch Browserspeicher und CPU als durch Berechnungen auf der Container-Seite im standardmäßigen statischen Deployment. Überwache daher diesen Pfad, anstatt alle HTTP-Requests gleich zu behandeln.

Die erste produktionsnahe Instanz betreiben

Verwende den Container als austauschbare Runtime, nicht als Ort der Wahrheit.

docker run -d \
  --name cyberchef \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  ghcr.io/gchq/cyberchef:latest

Bestätige die lokale Voraussetzung vor der Veröffentlichung: Für den standardmäßigen clientseitigen Build ist keine Datenbank erforderlich. Prüfe den Container-Benutzer, beschreibbare Pfade und den gebundenen Listener, bevor du den Container nach außen öffnest. Führe die vollständige Aktion aus – ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt – und speichere die exakte Image-Referenz, mit der das Ergebnis erzeugt wurde.

CyberChef von außerhalb des Servers testen

Veröffentliche die statische Oberfläche über eine vertrauenswürdige HTTPS-Origin. Leite den ausgewählten Hostnamen an Container-Port 80 weiter, übertrage den ursprünglichen Host und das HTTPS-Schema und veröffentliche keine zweite direkte Origin.

Teste CyberChef von einem sauberen externen Client aus. Trenne Ingress-Fehler von der bekannten Anwendungsgrenze – umfangreiche Operationen erschöpfen den Browserspeicher, obwohl der Server gesund ist. Ein Zertifikats-, DNS- oder 502-Fehler gehört zum Routing. Eine Anfrage, die CyberChef erreicht und erst später fehlschlägt, gehört zum Anwendungszustand, zur Kapazität oder zu einer unterstützenden Anforderung. Der Leitfaden für TLS mit eigener Domain behandelt die erste Gruppe.

Jedes dauerhaft gespeicherte Byte in CyberChef finden

Der standardmäßige CyberChef-Container benötigt kein Mount für Anwendungsdaten. Die Wiederherstellungsgrundlage ist dennoch eindeutig: keine Anwendungsdaten; Deployment-Konfiguration und Image-Pin bewahren. Erstelle kein leeres Volume, nur damit das Deployment zustandsbehaftet aussieht. Bewahre stattdessen die exakte Image-Referenz und die geprüfte Konfiguration auf.

Baue CyberChef auf einem leeren Host neu auf und führe die Abnahmetransaktion aus. Die Wiederherstellung ist erfolgreich, wenn der gepinnte statische Build erneut erstellt werden kann und ein exportiertes Rezept denselben bekannten Output erzeugt. Jede verbundene Datenbank oder jeder Collaboration-Service folgt einem eigenen anwendungskonsistenten Backup-Plan, während der austauschbare Webcontainer aus dem Code neu erstellt wird. Der Leitfaden für Deployments von Git bis in die Produktion beschreibt diese reproduzierbare Grenze.

Bewahre eine Prüfsumme oder einen Digest für das bekannte fehlerfreie Image auf und teste nach Updates erneut. Bei einem zustandslosen Service ist ein erfolgreicher Rebuild der Restore-Test. Für externen Zustand muss das CyberChef-Runbook auf den separaten Verantwortlichen und die zugehörige Wiederherstellungsprozedur verweisen.

Den wertvollen Teil von CyberChef schützen

Füge kein künstliches Secret in der Umgebung hinzu, nur damit CyberChef besser abgesichert aussieht. Die relevante Sorge besteht in der Verarbeitung sensibler Inhalte mit einem veränderten oder nicht vertrauenswürdigen Image. Veröffentliche daher nur ein offizielles oder reproduzierbar gebautes Image, wenn Betreiber Zugangsdaten, Captures oder codierte Beweisdaten einfügen werden.

Schränke die öffentliche Route bei Bedarf ein, überprüfe den Image-Digest und betreibe den Container ohne Host-Mounts oder Privilegien, die er nicht benötigt. Setze Limits anhand des Browser-Speichers und der CPU für umfangreiche Rezepte, nicht anhand von Berechnungen auf der Container-Seite im standardmäßigen statischen Deployment. Logs sollten Fehler und Zeitmessungen erfassen, ohne die von CyberChef verarbeiteten sensiblen Eingaben zu speichern.

Ein gesund aussehendes CyberChef diagnostizieren

Messe beim Ausführen dieser Regressionstransaktion den Browser-Speicher und die CPU für umfangreiche Rezepte, nicht Berechnungen auf der Container-Seite im standardmäßigen statischen Deployment: ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt. Halte den Liveness-Probe günstig. Konvertierungen oder browserseitige Verarbeitung gehören in einen separaten Release-Check, damit ein schweres Beispieldataset keine Restart-Schleife auslöst.

Das Upgrade-Risiko besteht darin, dass sich CyberChef-Rezeptoperationen und gebündelte Libraries ändern und dadurch Output oder Kompatibilität beeinflusst werden können. Deshalb benötigt der gepinnte Build einen Regressionstest. Führe den Digest des Kandidaten neben dem aktuellen Image aus, übergib beiden dieselben bekannten Eingaben und vergleiche Outputs, Header und Zeitverhalten. Wenn umfangreiche Operationen den Browserspeicher erschöpfen, obwohl der Server gesund ist, bewahre den fehlgeschlagenen Request und die Image-Referenz auf, bevor du die Route änderst.

Den CyberChef-Smoke-Test in einen Release-Check umwandeln

Der Release-Eintrag für CyberChef braucht Fakten, kein „sieht gut aus“. Speichere den ausgewählten Image-Digest, die Konfigurationsprüfsumme, den öffentlichen Hostnamen und ein Ergebnis mit Zeitstempel für folgende Aktion: ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt. Verwende nichtproduktive Beispieldaten, damit der Check nach jedem Deployment ausgeführt werden kann.

Belege zwei Lifecycle-Ereignisse getrennt voneinander. Ein Container-Austausch muss den normalen Betrieb erhalten. Eine saubere Wiederherstellung muss zeigen, dass der gepinnte statische Build erneut erstellt werden kann und ein exportiertes Rezept denselben bekannten Output erzeugt. Messe während der Checks den Browser-Speicher und die CPU für umfangreiche Rezepte, nicht Berechnungen auf der Container-Seite im standardmäßigen statischen Deployment, und bewahre das Ergebnis als erwarteten Rahmen für diese Version auf.

Teste außerdem eine abgewiesene oder ungültige Bedingung: Übermittle harmlose Eingaben nahe am Ressourcen- oder Formatlimit, das mit dieser Grenze verbunden ist – umfangreiche Operationen erschöpfen den Browserspeicher, obwohl der Server gesund ist. CyberChef sollte auf nachvollziehbare Weise fehlschlagen und keinen intakten Zustand überschreiben. Stelle die gültige Bedingung wieder her, führe das Beispiel erneut aus und füge die relevanten redigierten Logs an. Diese Artefakte liefern für eine spätere Rollback-Entscheidung konkrete Belege.

Wiederholbare Infrastrukturarbeiten mit Dockup ausführen

Bei einem zustandslosen CyberChef ist die Aufgabe von Dockup klar und begrenzt: das gepinnte Image starten, Port 80 privat halten, die HTTPS-Route anbinden und den Container ersetzen, ohne Storage zu erfinden. Das Deployment kann auf eine Dockup-Infrastruktur oder einen vom Kunden angebundenen Server zielen.

Schließe die Anwendungskonfiguration ab: Veröffentliche die statische Oberfläche über eine vertrauenswürdige HTTPS-Origin. Dockup sollte die CyberChef-Runtime-Einstellungen beibehalten, während der Betreiber diese lokale Voraussetzung bestätigt: Für den standardmäßigen clientseitigen Build ist keine Datenbank erforderlich. Führe diese Abnahmeaktion aus: ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen, dass der Output-Hash mit einem bekannten Wert übereinstimmt. Optionale Authentifizierung oder externe Services sollten als separate Konfiguration und Abhängigkeiten dargestellt werden, damit das Deployment korrekt bleibt.

Häufig gestellte Fragen

Was benötigt CyberChef für ein produktives Deployment?

Leite den CyberChef-Container über eine HTTPS-Origin auf Port 80 weiter. Der standardmäßige CyberChef-Build benötigt weder eine Datenbank noch einen separaten persistenten Runtime-Service. Erkläre CyberChef erst dann für bereit, wenn du ein mehrstufiges Rezept erstellen, exportieren, eine repräsentative Datei verarbeiten und bestätigen kannst, dass der Output-Hash mit einem bekannten Wert übereinstimmt.

Welche CyberChef-Daten gehören in ein Backup?

Das standardmäßige CyberChef-Image benötigt kein Mount für Anwendungsdaten. Bewahre die Deployment-Konfiguration auf und sichere jeden verbundenen Zustand separat. Die Wiederherstellung ist erfolgreich, wenn der gepinnte statische Build erneut erstellt werden kann und ein exportiertes Rezept denselben bekannten Output erzeugt.

Benötigt CyberChef HTTPS hinter einem Reverse Proxy?

Verwende HTTPS für die öffentliche CyberChef-Origin und halte Port 80 in der internen Route. Wende die CyberChef-Einstellung korrekt an: Veröffentliche die statische Oberfläche über eine vertrauenswürdige HTTPS-Origin. Bei CyberChef schützt HTTPS Zugangsdaten oder Benutzerinhalte bei der Übertragung und sorgt für ein konsistentes clientseitiges Verhalten, das von der Origin abhängt.

Wie sollte ein CyberChef-Upgrade getestet werden?

Stelle das neue CyberChef-Image neben dem aktuellen bereit und wiederhole die Abnahmetransaktion mit bekannten Eingaben. Achte besonders darauf, dass sich CyberChef-Rezeptoperationen und gebündelte Libraries ändern und dadurch Output oder Kompatibilität beeinflusst werden können. Deshalb benötigt der gepinnte Build einen Regressionstest. Der standardmäßige Container enthält keine Datenmigration. Bewahre daher den vorherigen Digest auf, bis Output- und Kompatibilitätsprüfungen erfolgreich abgeschlossen sind.