Appliance · Rollout

Pakete bereitstellen & je Team einbringen (web-only)

Installierbare Pakete (Download)

Lade …
Diese Artefakte lädst du herunter und bringst sie web-only in die Team-Umgebung ein (kein SSH). Alerts kommen separat per HEC-Push vom Game-Server.

Instruktoren (read-only Helfer)

👁
Instruktor-Accounts
Im Admin-Panel anlegen; Login mit E-Mail + Passwort. Sehen Teams, Scoreboard, Aufgaben+Lösungen & Team-Server-Überwachung — reichen nichts ein.

Manuelle SOAR-Installation je Team (SOAR 8.5)

Du bekommst pro Team eine fertige Splunk-ES- und SOAR-8.5-Umgebung (kein Golden Image) und bringst die CTA-Inhalte web-only ein (kein SSH). Schritt 0–3 sind Pflicht; Schritt 4 (Auto-Provisioning) ist optional und schreibt nur auf ausdrückliches Kommando. Klapp jeden Schritt für die Details auf.

Plattform-Matrix · Splunk Cloud vs. on-prem zuerst lesen
Splunk Cloud und Splunk on-prem unterscheiden sich in jedem der drei Endpunkte — Hostname, Port und die Frage, wer den Index anlegt. Klär zuerst, welche Plattform das Team bekommt, und übernimm die Werte dann aus der passenden Spalte.
Splunk CloudSplunk on-prem
ES-HEC-URL https://http-inputs-<stack>.splunkcloud.com — eigener Hostname, Port 443, nicht :8088.
Das Präfix hängt am Cloud-Provider: auf AWS http-inputs-<stack> (Bindestrich), auf GCP/Azure http-inputs.<stack> (Punkt). Free Trials nutzen 8088.
https://<host>:8088
ES-Search-URL https://<stack>.splunkcloud.com:8089Port gehört in die URL.
Port 8089 ist bei Splunk Cloud nicht ab Werk offen: Splunk Support schaltet ihn frei, und die Egress-IP des Game-Servers muss auf die search-api-IP-Allowlist. Free Trials haben keinen REST-Zugriff.
https://<host>:8089
SOAR-URL https://<instance>.soar.splunkcloud.comohne :8443 https://<host> bzw. der eigene Port (häufig :8443)
Index cta vorher von Hand anlegen — siehe Schritt 0 bringt die cta-ops.spl mit
Beim Rollout am 2026-09-09 gemessen — genau diese drei Punkte waren die Ursache für die roten Felder:
  • <stack>.splunkcloud.com:8088 läuft in einen Timeout. Der HEC liegt bei Splunk Cloud nicht auf dem Splunk-Hostname, sondern auf einem eigenen http-inputs-…-Hostname auf 443.
  • <instance>.soar.splunkcloud.com:8443 antwortet nicht; auf 443 antwortet /rest/version. Der Port aus der on-prem-Welt ist in der Cloud falsch.
  • Ohne :8089 landet die Search-URL auf Splunk Web, das eine HTML-Seite zurückgibt. Der Check meldet dann „Erreichbar, aber Pfad falsch.“ — das ist ein fehlender Port, kein Token-Problem.
  • On-prem hinter einem Load Balancer waren 8088 und 8089 offen, der HEC antwortete in rund einer halben Sekunde.
Alle drei URLs trägst du später im Admin-Panel unter Appliance · Rollout → Server erfassen ein; „Alle Endpunkte testen“ prüft sie, bevor ein Team daran hängt.
0 · Splunk-Index cta anlegen Pflicht
Der Game-Server pusht alle Events per HEC in den Index cta; der Name steht im Server fest und ist nicht konfigurierbar. Der Index muss vor dem HEC-Token existieren — beim Anlegen des Tokens wählst du die erlaubten Indizes aus, und was es noch nicht gibt, kannst du nicht auswählen. In der falschen Reihenfolge antwortet der HEC später mit HTTP 400 Incorrect index, und das Token muss neu angelegt werden.
  • Splunk Cloud — von Hand anlegen, verlass dich hier nicht auf die App: Splunk Web → Settings → IndexesNew Index → im Dialog Add new index unter Name exakt cta eintragen → Save. Alternativ über die Admin-Config-Service-API: POST https://admin.splunk.com/<stack>/adminconfig/v2/indexes mit dem Body {"name": "cta"}.
  • Splunk on-prem — die cta-ops.spl bringt den Index mit (indexes.conf mit $SPLUNK_DB-Pfaden). Nach der Installation der App unter Settings → Indexes kurz prüfen, dass cta da ist.
Der Name muss exakt cta lauten, klein geschrieben — ein abweichender Name funktioniert nicht.
1 · Apps hochladen (3 Pakete) Pflicht
Lade oben die drei Pakete herunter und installiere sie in SOAR unter Apps → Install App nacheinander: cta-referee.tgz (meldet gelöste Aufgaben an den Game-Server zurück), cta-enrichment.tgz (Reputation / AV / Sandbox / WHOIS / GeoIP) und cta-response.tgz (Firewall / Identity / EDR / ITSM). Nach dem Upload erscheint jede App unter Apps und lässt sich per Configure New Asset einrichten (Schritt 2). Die Apps rechnen rein deterministisch (kein Outbound) — dieselbe Eingabe ergibt immer dieselbe Bewertung.
2 · Assets je Team konfigurieren Pflicht
Je Team unter Apps → <App> → Configure New Asset anlegen:
  • CTA Referee → 1 Asset cta_referee: nur team_id (Team-ID) und team_token (Team-Bearer-Token) setzen, verify_ssl je nach Umgebung. Die game_server_url musst du nicht eintragen — der Game-Server trägt seine eigene Adresse selbst vor (überschreibbar über die Umgebungsvariable CTA_GAME_SERVER_URL, z. B. hinter Proxy oder airgapped). (dieses Asset ist pro Team unterschiedlich)
  • CTA Enrichment → 7 Assets, Asset-Name = source_id: cta-reputation, cta-av1, cta-av2, cta-av3, cta-sandbox, cta-whois, cta-geoip. Der source_id ist der Determinismus-Schlüssel, den die Aufgaben referenzieren — genau so benennen.
  • CTA Response → 1 Asset cta-identity mit source_id=cta-identity.
3 · Custom-List cta_threat_ips importieren Pflicht
Jede Team-Liste ist deterministisch je Event + Team (40 IPs, Spalte ip). Lade unten in der Rollout-Tabelle die CSV des jeweiligen Teams herunter und importiere sie in SOAR unter Administration → Custom Lists als Liste cta_threat_ips (neu anlegen bzw. Inhalt ersetzen). Aufgaben wie die IP-Reputation lesen diese Liste im Playbook per list get.
4 · Optional — Auto-Provisioning Dry-Run default
Statt die Assets und die Liste von Hand anzulegen, kann der Game-Server sie planen und schreiben: POST /admin/teams/{team_id}/provision liefert im Dry-Run (Default) den geplanten REST-Plan (Assets + cta_threat_ips) — ohne etwas zu schreiben, sodass du ihn prüfen kannst. Erst mit dry_run=false + execute_soar=true wird gegen das Team-eigene SOAR (aus team_env) geschrieben. unverifiziert auf 8.5 — die Asset-/Decided-List-/App-Install-REST-Aufrufe sind gegen die Live-8.5 noch nicht bestätigt; die Apps installierst du daher manuell (Schritt 1).
5 · Ablauf im Spiel
Der Game-Server pusht Events per HEC nach Splunk → daraus wird ein ES-Finding → die ES-Automation triggert das SOAR-Playbook → das Referee-Asset meldet das Ergebnis an den Game-Server zurück, der es wertet und aufs Scoreboard schreibt.
So kommst du an die Tokens (ES-HEC / ES-Search / SOAR) HEC = Pflicht
Das Setup fragt nach drei Tokens. So besorgst du jeden:
  • 1) ES-HEC Token (Splunk — zum Event-Push):
    • Splunk Web → Einstellungen (Settings) → Dateneingaben (Data inputs) → HTTP Event Collector.
    • Oben rechts „Global Settings“ → sicherstellen: All Tokens = Enabled, Port notieren (Standard 8088), SSL nach Umgebung. Nur on-prem — auf Splunk Cloud ist der HEC ab Werk aktiv, dort gibt es diesen Dialog nicht.
    • „New Token“ → Name z. B. cta-hec → weiter → bei Input Settings als erlaubten Index cta wählen (der Index cta muss dafür schon existieren — siehe Schritt 0: on-prem bringt ihn die cta-ops.spl mit, auf Splunk Cloud legst du ihn vorher von Hand unter Settings → Indexes → New Index an) → Review → Submit.
    • Der angezeigte Token Value ist das ES-HEC Token. Format: GUID — 36 Zeichen mit Bindestrichen. Die Protokoll-Detailansicht muss dazu GUID-Format melden; steht dort kein GUID-Format, liegt das falsche Token im Feld.
    • HEC-URL: on-prem https://<host>:8088, Splunk Cloud https://http-inputs-<stack>.splunkcloud.com auf Port 443 — siehe Plattform-Matrix. Den Pfad /services/collector hängt der Game-Server selbst an; eingetragen wird nur die Basis-URL.
    • Die erlaubten Indizes stehen im Steuerelement Select Allowed Indexes (Auswahlliste Available Indexes) — dort muss cta hinüber.
    • Fehlt cta in der Freigabe des Tokens, antwortet Splunk mit HTTP 400 und dem Text Incorrect index (HEC-Statuscode 7). Im Protokoll erscheint davon nur HTTP 400 — den Splunk-Text zeigt die Detailansicht nicht an. Abhilfe: Index anlegen (Schritt 0), danach das Token neu erstellen.
  • 2) ES-Search Token (Splunk — optionaler REST-Such-Zugriff):
    • Splunk Web → Einstellungen → Tokens (Authentication Tokens). Ist „Token Authentication“ aus, zuerst aktivieren.
    • „New Token“User wählen, Audience/Expiration setzen → erstellen. Der Token wird nur einmal angezeigt → kopieren.
    • Format: JWT — mehrere hundert Zeichen in drei durch Punkte getrennten Segmenten, kein GUID. Die Detailansicht muss dazu kein GUID-Format melden; steht dort GUID-Format, ist das HEC-Token ins Search-Feld geraten.
    • Das ist das ES-Search Token (für REST-Suchen auf Management-Port 8089). Optional — nur nötig, wenn Such-Zugriff genutzt wird. Der Port gehört in die URL, bei Cloud wie on-prem — siehe Plattform-Matrix.
  • 3) SOAR Token (Splunk SOAR 8.5 — Automation-Token):
    • SOAR → Administration (Zahnrad) → User Management → Users.
    • „+ User“User Type: Automation → eine Rolle mit REST-Rechten zuweisen → Create. (Oder einen bestehenden Automation-User nehmen.)
    • Soll der Game-Server die Apps auch installieren statt du sie von Hand hochzuladen, braucht die Rolle zusätzlich die Berechtigung Apps = Edit (Edit erlaubt Hinzufügen, Löschen und Ändern von Apps; View reicht dafür nicht).
    • Allowed IPs im Anlegen-Dialog ausfüllen: Automation-Tokens sind an diese IP gebunden. Trag die Egress-IP des Game-Servers ein (einzelne IP, CIDR-Bereich oder any für unbeschränkt). Passt die Herkunft nicht, scheitert der Aufruf trotz gültigem Token — im Protokoll sieht das aus wie ein Rechteproblem.
    • Den Automation-User öffnen → im Feld Authentication Configuration for REST API steht der Automation-/REST-Token (ph-auth-token) → kopieren.
    • Format: rund 44 Zeichen, kein GUID. Die Detailansicht meldet dazu kein GUID-Format.
    • Das ist das SOAR Token (für das cta_referee-Asset bzw. das Provisioning). Nie im Klartext teilen. Die passende SOAR-URL steht in der Plattform-Matrix — in der Cloud ohne :8443.
HEC-Token ist Pflicht (sonst kommen keine Alerts an); ES-Search- und SOAR-Token je nach genutztem Feature.
Fehler zu Ursache · was das Protokoll sagt und was zu tun ist Troubleshooting
„Alle Endpunkte testen“ im Admin-Panel schreibt je Endpunkt eine Protokollzeile (Protokoll ▾). Die linke Spalte ist genau der Text, der dort steht.
Im ProtokollUrsacheWas zu tun ist
Auth fehlgeschlagen
„URL und Port stimmen, Token falsch oder Rechte fehlen.“
Beim ES-Search fast immer das Token: abgelaufen, noch nicht gültig oder ungültig. Splunk meldet alle drei identisch als call not properly authenticated. Neues Token mit ausdrücklich gesetzter Expiration anlegen, Not Before leer lassen. Das mittlere JWT-Segment lässt sich lokal dekodieren (exp/nbf).
nicht erreichbar
„Erreichbar, aber Pfad falsch.“
HTTP 404 — der Port fehlt in der URL. Ohne :8089 landet die Search-URL auf Splunk Web und bekommt eine HTML-Seite. Port ergänzen. Kein Token-Problem — das Token gar nicht erst tauschen.
ES-HEC, Detail HTTP 400 Der Index cta ist für das HEC-Token nicht freigegeben. Splunk antwortet mit Incorrect index — diesen Text zeigt das Protokoll nicht, nur den Status. Index cta anlegen (Schritt 0), dann das HEC-Token neu erstellen und cta unter Input Settings auswählen.
ES-HEC, „HEC hat das Event abgelehnt“
Detail: HEC-Antwort mit code != 0
Der HEC hat geantwortet, aber das Event verworfen — Token deaktiviert oder Index nicht erlaubt. Global Settings → All Tokens = Enabled prüfen, dann die Index-Freigabe des Tokens.
Timeout
„Pakete werden verworfen — Security Group / Firewall, nicht der Port.“
Meist der falsche Port für die Plattform: Cloud-HEC auf :8088 oder SOAR-Cloud auf :8443. Sonst verwirft eine Firewall die Pakete. Werte gegen die Plattform-Matrix prüfen. Erst wenn die URL stimmt, ist es wirklich die Firewall.
nicht erreichbar
„Host erreichbar, Port zu / Dienst läuft nicht (HEC aktiviert?).“
Der Host antwortet, der Port ist zu — Dienst läuft nicht oder der HEC ist gar nicht eingeschaltet. Beim HEC All Tokens = Enabled setzen. Sonst Dienst und Portfreigabe auf dem Zielsystem prüfen.
nicht erreichbar
„Hostname falsch oder nicht auflösbar.“
DNS löst den Namen nicht auf — Tippfehler, oder in der Cloud das Präfix http-inputs- vergessen. Hostname gegen die Plattform-Matrix prüfen.
TLS-Fehler
„http statt https, oder Zertifikat.“
http:// statt https:// eingetragen, oder das Zertifikat passt nicht zum Hostname. Auf https:// korrigieren. Alle sechs Endpunkte laufen über TLS.
nicht konfiguriert
„URL und/oder Token fehlen — nichts zu testen.“
Feld leer. Es wurde gar kein Netzwerkaufruf gemacht. URL und Token nachtragen. Beim Bearbeiten gilt: leeres Token-Feld = vorhandenes Token behalten.
Detailzeile Token: n Zeichen · GUID-Format Beim ES-Search oder SOAR ein Hinweis auf vertauschte Tokens — nur der HEC-Token ist ein GUID. HEC-Token (GUID) und Search-Token (JWT) in die richtigen Felder setzen. Das Protokoll zeigt nie einen Tokenwert, nur Länge und Formatklasse.
Bleibt eine Zeile rot, obwohl URL, Port und Token stimmen: beim SOAR-Token die im Automation-User hinterlegte IP-Bindung prüfen — sie ist von außen nicht von einem Rechteproblem zu unterscheiden.

Team-Rollout-Status

TeamScoreProvisioning-Zugangcta_threat_ipsBereit?
Lade …
„Provisioning-Zugang" = ES/SOAR-Creds im Admin-Panel hinterlegt. Pro-Team-Provisioning-Status folgt, sobald der Live-Provision je Team läuft.
Sprache: