Das Konzept "Security Orchestration Automation and Responses" – SOAR – wird in der IT-Sicherheit immer wichtiger. Um den weiter wachsenden Bedrohungen zu begegnen, reicht es nicht mehr, diese Ereignisse in Logdaten und SIEMs zu leiten und dort für Analysten aufzubereiten. Mit Shuffle stellen wir in diesem Monat ein Werkzeug vor, das es Ihnen ermöglicht, automatisierte Abläufe zu definieren und damit die Sicherheit Ihrer Infrastruktur zu erhöhen.
Als Administrator kennen Sie das Bedürfnis nach Automation – Sie automatisieren Updates, Backups, das Anlegen neuer Benutzer, die Verteilung von Software oder die Skalierung Ihrer Infrastruktur. Das Tool Shuffle [1] bietet Ihnen eine Automatisierungs-Plattform und eignet sich hervorragend für die Verknüpfung der REST-APIs beliebter Security-Tools zur Automatisierung im Sinne von SOAR.
Mit Shuffle erhalten Sie Input von Ihren Monitoringtools, etwa einem Intrusion Detection System, und können diesen an beliebig viele andere Tools zur weiteren Veranlassung weiterreichen, etwa an Ihr Netzwerkmanagement, um einen betroffenen Host zu isolieren. Je schneller Ihre Reaktion dabei am Ende ist, desto schwieriger machen Sie es Angreifern, sich erfolgreich in Ihrer Infrastruktur zu bewegen.
Shuffle installieren
Schon bei der Installation können Sie von den Vorteilen der Automatisierung profitieren. Die Entwickler liefern Ihnen nämlich bereits eine fertige Konfiguration für Docker Compose mit. Um Shuffle einfach selbst auszuprobieren, führen Sie die folgenden Kommandos aus, um das Projekt-Git zu laden und den Start des Tools vorzubereiten:
Als Administrator kennen Sie das Bedürfnis nach Automation – Sie automatisieren Updates, Backups, das Anlegen neuer Benutzer, die Verteilung von Software oder die Skalierung Ihrer Infrastruktur. Das Tool Shuffle [1] bietet Ihnen eine Automatisierungs-Plattform und eignet sich hervorragend für die Verknüpfung der REST-APIs beliebter Security-Tools zur Automatisierung im Sinne von SOAR.
Mit Shuffle erhalten Sie Input von Ihren Monitoringtools, etwa einem Intrusion Detection System, und können diesen an beliebig viele andere Tools zur weiteren Veranlassung weiterreichen, etwa an Ihr Netzwerkmanagement, um einen betroffenen Host zu isolieren. Je schneller Ihre Reaktion dabei am Ende ist, desto schwieriger machen Sie es Angreifern, sich erfolgreich in Ihrer Infrastruktur zu bewegen.
Shuffle installieren
Schon bei der Installation können Sie von den Vorteilen der Automatisierung profitieren. Die Entwickler liefern Ihnen nämlich bereits eine fertige Konfiguration für Docker Compose mit. Um Shuffle einfach selbst auszuprobieren, führen Sie die folgenden Kommandos aus, um das Projekt-Git zu laden und den Start des Tools vorzubereiten:
Bevor Sie Shuffle nun starten können, müssen Sie in der Datei ".env" noch Einstellungen für Ihre Instanz vornehmen. Was Sie auf jeden Fall anpassen müssen, sind die Angaben für "SHUFFLE_ DEFAULT_USERNAME" und"SHUFFLE_ DEFAULT_PASSWORD". Hinterlegen Sie hier den Benutzernamen und das Passwort für Ihren initialen Admin-Benutzer. Gern können Sie in der Zeile darunter auch direkt einen API-Key vergeben, um Shuffle über die verfügbare REST-API anzusprechen. Wenn Sie das Tool hinter einem Proxy betreiben möchten, vergessen Sie nicht, diesen ebenfalls entsprechend anzugeben. Sehen Sie sich die anderen Einstellungen einmal kurz an und passen diese bei Bedarf weiter an Ihre Umgebung an. Nun rufen Sie Shuffle mit dem Kommando
docker compose up -d
auf. Docker lädt dann die benötigten Images aus den Registries und erstellt die Container. Bereits nach kurzer Zeit können Sie unter "https://localhost:3443" auf das Webinterface zugreifen – die Zertifikatwarnung müssen Sie leider erst einmal hinnehmen – und sich mit den zuvor vergebenen Logindaten einloggen. Sie sollten zunächst unter dem Menüpunkt "Apps" die verfügbaren Anwendungen aktualisieren. Im Hintergrund beginnt die Software bereits, die verfügbaren Apps bereitzustellen, was die Auslastung Ihres Rechners und den benötigten Speicherplatz merkbar erhöht.
Abläufe automatisieren
Shuffle erlaubt Ihnen unter dem Menüpunkt "Workflows", Prozesse zu definieren, um Ihre gewünschte Automatisierung abzubilden. Dabei können Sie unterschiedliche Usecases starten, die Shuffle direkt zur Verfügung stellt. Diese sind unterschiedlichen Kategorien zugeordnet: Collect, Enrich, Detect, Respond und Verify. Viele dieser Anwendungsfälle setzen weitere Dienste im Netzwerk voraus.
Für die unterstützten Services finden Sie entsprechende Apps in der Liste zur Auswahl. So können Sie etwa E-Mails in Ihrer Inbox analysieren, Anhänge herunterladen, diese mit Yara-Regeln prüfen und anschließend Informationen in The Hive für die weitere Analyse hinterlegen. Es gibt somit bereits viele gute Beispiele, wie Sie Shuffle in Ihre Infrastruktur integrieren können.
Um Ihnen einen ersten Einblick in die grundlegende Funktionsweise von Shuffle zu geben, erstellen wir aber einen eigenen Workflow. Dabei wollen wir den RSS-Feed von IT-Administrator analysieren und, sobald das Stichwort "Security" darin auftaucht, entsprechende Informationen speichern. Dafür klicken Sie oben links auf "Workflows" und dann auf das "+"-Symbol unter den Usecases. Vergeben Sie einen Namen und eine Beschreibung und klicken Sie anschließend auf "Submit". Sie gelangen nun in die Bearbeitungsansicht. Entfernen Sie zunächst alle Elemente, indem Sie mit der Maus darüber fahren und dann auf den Papierkorb klicken.
Suchen Sie nun in der Apps-Übersicht auf der linken Seite nach "RSS" und ziehen Sie das Symbol in den Bearbeitungsbereich. Vergeben Sie als Namen etwa "IT-Administrator_RSS" und fügen Sie die folgende URL unter "Parameters" ein: "https://www.it-administrator.de/rss.xml". Nun können Sie den Workflow am unteren Rand des Fensters speichern und schon einmal starten. Es öffnet sich am rechten Rand das Ergebnisfeld, wo Sie die in JSON vorliegenden Informationen erkennen können.
Daten filtern
Um diese Daten nun zu filtern, suchen Sie unter den Apps den Eintrag "Shuffle Tools" (ein Wrapper für verschiedene Funktionen der Textbearbeitung), ziehen diesen in den Bearbeitungsbereich. Es sollte automatisch eine Verbindung von der RSS-App zu diesem Element erstellt werden. Sollte dies nicht der Fall sein, ziehen Sie den blauen Punkt am oberen Rand des RSS-Readers zu den Shuffle Tools und erstellen diese. Ändern Sie nun den Namen des Shuffle Tools beispielsweise auf "Filter_Security".
Nun können Sie die ausgeführte Funktion der Tools ändern, wählen Sie hierfür "Filter list". In der nun erscheinenden Maske zur Eingabe der Parameter verwenden Sie nun für die "Input List" die Ausgabe aus der RSS-App. Dafür klicken Sie auf das "+"-Symbol, hovern über den Eintrag "IT-Administrator_RSS" und können nun im sich öffnenden Bereich Beispieldaten aus dem letzten Abruf sehen, wie im Bild dargestellt. Da Sie die Liste auswählen müssen, klicken Sie auf den List-Eintrag unter "entries".
Den Parameter "Field" füllen Sie mit dem Wert "summary", der Zusammenfassung eines Artikels in RSS. Für "Check" wählen Sie "contains" und in das Feld "Value" geben Sie "Security" ein. Wenn Sie erneut speichern und den Workflow ausführen, sehen Sie zwei Ergebnisbereiche. Im unteren finden Sie nun ein JSON, das die Einträge des RSS-Readers in "valid" und "invalid" unterscheidet. Ist kein Eintrag in der "valid"-Liste vorhanden, gibt es gerade keinen Eintrag mit dem Begriff "Security" in der Zusammenfassung. Probieren Sie hier gern noch andere Begriffe aus.
Natürlich möchten wir nun die gefilterten Einträge weiterverarbeiten. Grundsätzlich ließen sich nun etwa Einträge in einem Ticketsystem wie Zammad erstellen, E-Mails versenden, Nachrichten in Slack senden oder Ähnliches. In den jeweiligen Apps würden Sie in den Parametern die URL angeben, die entsprechende Funktion festlegen und Logindaten oder einen API-Key mit entsprechenden Rechten hinterlegen. Um das Beispiel hier möglichst übersichtlich zu halten, wollen wir die Treffer lediglich in eine Datei schreiben.
Dafür wählen Sie links erneut die "Shuffle Tools" aus und ziehen eine Verbindung von "Filter_Security" zu diesem Element. Ändern Sie den Namen etwa in "Write_to_file" und wählen Sie als "Find Action" den Eintrag "Create file". In den nun erscheinenden Parametern geben Sie einen Dateinamen an und suchen unter "Data" über das "+"-Symbol und den Eintrag "Filter_Security" die Liste unter dem Eintrag "valid". Nach dem Speichern können Sie den Workflow noch einmal ausführen und in der Ausgabe den Dateinamen der Datei auslesen. Da diese nun im Backend-Container angelegt wurde, suchen Sie die Datei darin. Sie gelangen im Ordner mit dem File "docker-compose.yml" und folgendem Kommando in den Namensraum des Containers:
docker compose exec shuffle-backend /bin/sh
Navigieren Sie nun durch die Ordnerstruktur unter "/shuffle-files/" und finden Sie auf der untersten Ebene die entsprechende Datei. Mit cat lassen sich die Inhalte der Datei ausgeben und sicherstellen, dass nur die gefilterten Einträge vorhanden sind.
Die Auswahl der Variablen für die Filterung.
Natürlich ist der Sinn von Shuffle nicht, solche Abläufe einmalig manuell anzustoßen, sondern regelmäßig oder von außen getriggert zu starten. Dafür können Sie in Ihrem Workflow einen Scheduler definieren oder eine URL der REST-API erzeugen, mit der Sie die Ausführung von außen triggern können. Das Beispiel zeigt auf einfache Weise, welche komplexen Konfigurationen mit Shuffle grundsätzlich möglich sind. Schauen Sie durch die angebotenen Apps und überlegen Sie sich, wo Sie in Ihrem Arbeitsalltag von weiterer Automatisierung profitieren
Fazit
Der Security-Tipp hat Sie mit einem kleinen Beispiel in die Benutzung von Shuffle eingeführt. Sie werden vermutlich viele der Tools, die über Shuffle anzubinden sind, bereits in Ihrem Netzwerk betreiben. Mit kleinen Automatismen angefangen, lassen sich immer komplexere Workflows erstellen, die Ihnen manuelle Arbeit abnehmen und den Reaktionszeitraum deutlich verkürzen.