Erfahren Sie, wie Sie GRR (Google Rapid Response) Server und Client unter Ubuntu installieren, um Einweihungen durchzuführen.

Einführung

GRR (Google Rapid Response) ist ein auf Python basierendes Incident-Response-Framework, das für Live-Forensik und Untersuchungen verwendet werden kann. Es ermöglicht Ihnen, Angriffe zu untersuchen und Analysen aus der Ferne durchzuführen.

GRR kann in einer Server-Client-Architektur eingesetzt werden. Es verfügt über eine webbasierte Benutzeroberfläche, mit der Sie die von den Clients gesammelten Daten analysieren können. Es bietet Unterstützung für Linux, Mac OS X und Windows OS.

Anforderungen

  • Ein Server, auf dem Ubuntu 18.xx läuft
  • Ein Root-Passwort ist auf Ihrem Server eingerichtet

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihr System auf die neueste Version aktualisieren. Dazu können Sie den folgenden Befehl ausführen:

apt-get update -y

Sobald Ihr System aktualisiert ist, starten Sie es neu, um alle Änderungen zu übernehmen.

Datenbank installieren und konfigurieren

Zunächst müssen Sie den MariaDB-Datenbankserver auf Ihrem System installieren. Sie können ihn mit dem folgenden Befehl installieren:

apt-get install mariadb-server -y

Sobald die Installation abgeschlossen ist, sichern Sie die MariaDB-Installation, indem Sie den folgenden Befehl ausführen:

mysql_sichere_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Geben Sie das aktuelle Passwort für root ein (geben Sie keines ein):
Root-Passwort festlegen? [J/n]: N
Anonyme Benutzer entfernen? [J/N]: Y
Root-Login aus der Ferne nicht zulassen? [J/N]: Y
Testdatenbank und Zugriff auf sie entfernen? [Ja/Nein]: Y
Privilegierte Tabellen jetzt neu laden? [J/N]: Y

Sobald MariaDB gesichert ist, melden Sie sich mit dem folgenden Befehl in der MariaDB-Shell an:

mysql -u root -p

Geben Sie Ihr root-Passwort ein. Erstellen Sie dann eine Datenbank und einen Benutzer für GRR mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE grr;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON grr.* TO 'grr'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Als nächstes löschen Sie die Privilegien und verlassen die MariaDB-Shell mit dem folgenden Befehl:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;

Starten Sie anschließend den MariaDB-Dienst mit dem folgenden Befehl neu:

systemctl restart mariadb

Sie können den Status des MariaDB-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status mariadb

Sie sollten die folgende Ausgabe sehen:

mariadb.service - MariaDB 10.1.38 Datenbankserver
Geladen: geladen (/lib/systemd/system/mariadb.service; aktiviert; Hersteller-Voreinstellung: aktiviert)
Aktiv: aktiv (läuft) seit Fri 2019-04-12 15:11:14 UTC; vor 54min
Dokumentation: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Haupt-PID: 1050 (mysqld)
Status: "Nimmt jetzt Ihre SQL-Anfragen entgegen..."
Aufgaben: 46 (Grenze: 1113)
CGruppe: /system.slice/mariadb.service
└─1050 /usr/sbin/mysqld
Apr 12 15:10:53 ubuntu1804 systemd<x><x><x><x>[1]</x></x></x></x>: Starten des MariaDB 10.1.38 Datenbank-Servers...
Apr 12 15:11:07 ubuntu1804 mysqld[1050]: 2019-04-12 15:11:07 140152311749760 [Hinweis] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1)
Apr 12 15:11:14 ubuntu1804 systemd<x><x><x><x>[1]</x></x></x></x>: MariaDB 10.1.38-Datenbank-Server gestartet.
Apr 12 15:11:14 ubuntu1804 /etc/mysql/debian-start[1251]: Aktualisieren der MySQL-Tabellen, falls erforderlich.
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start<x><x><x>[1265]</x></x></x>: /usr/bin/mysql_upgrade: Die Option '--basedir' wird immer ignoriert
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start<x><x><x>[1265</x></x></x>]: Suche nach 'mysql' als: /usr/bin/mysql
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start<x><x><x>[1265]</x></x></x>: Suche nach 'mysqlcheck' als: /usr/bin/mysqlcheck
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start<x><x><x>[1265]</x></x></x>: Diese Installation von MySQL ist bereits auf 10.1.38-MariaDB aktualisiert, verwenden Sie --force wenn Sie
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1306]: Überprüfung auf unsichere Root-Konten.
Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1311]: Triggern von myisam-recover für alle MyISAM-Tabellen und aria-recover für alle Aria-Tabellen
zeilen 1-21/21 (ENDE)

Wenn Sie das getan haben, können Sie mit dem nächsten Schritt fortfahren.

GRR Server installieren

Zunächst müssen Sie ein GRR-Paket aus dem offiziellen GitHub-Repository herunterladen.

Sie können es mit dem folgenden Befehl herunterladen, um die Version GRR 3.2.4.6 herunterzuladen.

wget https://storage.googleapis.com/releases.grr-response.com/grr-server_3.2.4-6_amd64.deb

Sobald der Download abgeschlossen ist, können Sie die heruntergeladene Datei mit dem folgenden Befehl installieren:

dpkg -i grr-server_3.2.4-6_amd64.deb

Als nächstes installieren Sie die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

apt-get install -f

Während der Installation müssen Sie einige Details angeben, wie z.B. Datenbank-Host, Benutzername, Passwort, GRR URLS und Admin-Passwort (siehe unten):

Ausführen von grr_config_updater initialize
Um diese Eingabeaufforderung zu vermeiden, setzen Sie DEBIAN_FRONTEND=noninteractive
#################################################################
Überprüfen des Schreibzugriffs auf die Konfiguration /etc/grr//server.local.yaml
Schritt 0: Importieren der Konfiguration von der vorherigen Installation.
Keine alte Konfigurationsdatei gefunden.
Schritt 1: Einstellen der grundlegenden Konfigurationsparameter
Wir werden nun den Server anhand einer Reihe von Fragen konfigurieren.-=GRR Datastore=-Damit GRR funktioniert, muss jeder GRR-Server in der Lage sein, mit dem Datastore zu kommunizieren. Zu diesem Zweck müssen wir einen Datenspeicher konfigurieren. GRR wird MySQL als Datenbank-Backend verwenden. Geben Sie die Verbindungsdetails ein:MySQL Host <x>[localhost]</x>:MySQL Port (0 für lokalen Socket) [0]:MySQL Datenbank [grr]:MySQL Benutzername [root]: grrBitte geben Sie das Passwort für den Datenbankbenutzer ein grr:Erfolgreiche Verbindung zu MySQL mit den angegebenen Details.-=GRR URLs=-Für GRR muss jeder Client mit dem Server kommunizieren können. Dazu benötigen wir normalerweise einen öffentlichen DNS-Namen oder eine IP-Adresse, mit der wir kommunizieren können. In der Standardkonfiguration wird diese Adresse verwendet, um sowohl den Client-Server als auch die Administrator-Benutzeroberfläche zu hosten. Bitte geben Sie Ihren Hostnamen ein, z.B. grr.example.com [ubuntu1804]: 192.168.0.104-=Server-URL=-Die Server-URL gibt die URL an, über die die Clients mit dem Server kommunizieren. Für optimale Ergebnisse sollte diese URL öffentlich zugänglich sein. Standardmäßig ist dies Port 8080 mit der URL-Endung /control.Frontend-URL [http://192.168.0.104:8080/]:-=AdminUI URL=-:Die UI-URL gibt an, wo die administrative Weboberfläche zu finden ist.AdminUI URL [http://192.168.0.104:8000]:-=GRR Emails=-GRR muss in der Lage sein, E-Mails für verschiedene Protokollierungs- und Benachrichtigungsfunktionen zu versenden. Die E-Mail-Domäne wird an den GRR-Benutzernamen angehängt, wenn E-Mails an Benutzer gesendet werden=Überwachung/E-Mail-Domäne=-E-Mails, die Warnungen oder Aktualisierungen betreffen, müssen an diese Domäne gesendet werden. E-Mail-Domäne z.B. example.com <x>[localhost]</x>:-=Alarm-E-Mail-Adresse=-Adresse, an die Überwachungsereignisse gesendet werden, z.B. abgestürzte Clients, ausgefallener Server, usw.Alert Email Address [grr-monitoring@localhost]:-=Emergency Email Address=-Adresse, an die Ereignisse mit hoher Priorität gesendet werden, wie z.B. eine ACL-Umgehung im Notfall.Emergency Access Email Address [grr-emergency@localhost]:Rekall wird nicht mehr aktiv unterstützt. Trotzdem einschalten? [yN]: [N]:Schritt 2: SchlüsselgenerierungAlle Schlüssel haben eine Bitlänge von 2048.Generierung von Signierschlüsseln für ausführbare DateienGenerierung von CA-SchlüsselnGenerierung von Server-SchlüsselnGenerierung von geheimen Schlüsseln für den csrf-Schutz.Neu gepackt in /usr/share/grr-server/executables/installers/grr_3.2.4.6_amd64.debGRR Initialisierung abgeschlossen! Sie können die neue Konfiguration in /etc/grr//server.local.yaml bearbeiten.Bitte starten Sie den Dienst neu, damit die neue Konfiguration wirksam wird.#################################################################Installation abgeschlossen.

Starten Sie nun den GRR-Dienst neu, um alle Änderungen zu übernehmen:

systemctl restart grr-server

Sie können nun den Status von GRR mit dem folgenden Befehl überprüfen:

systemctl status grr-server

Sie sollten die folgende Ausgabe sehen:

grr-server.service - GRR-Dienst
Geladen: geladen (/lib/systemd/system/grr-server.service; aktiviert; Hersteller-Voreinstellung: aktiviert)
Aktiv: aktiv (beendet) seit Fri 2019-04-12 15:57:09 UTC; vor 6s
Dokumente: https://github.com/google/grr
Prozess: 7178 ExecStop=/bin/systemctl --no-block stop grr-server@admin_ui.service grr-server@frontend.service grr-server@worker.service grr-s
Prozess: 7215 ExecStart=/bin/systemctl --no-block start grr-server@admin_ui.service grr-server@frontend.service grr-server@worker.service grr
Haupt-PID: 7215 (code=exited, status=0/SUCCESS)
Apr 12 15:57:09 ubuntu1804 systemd<x><x><x><x>[1]</x></x></x></x>: GRR-Dienst starten...
Apr 12 15:57:09 ubuntu1804 systemd<x><x><x><x>[</x></x></x></x>1]: GRR-Dienst gestartet.

Zugriff auf GRR Web Interface

GRR ist jetzt installiert und lauscht auf Port 8000 (Admin) und 8080 (Frontend).

Um auf die GRR-Admin-Oberfläche zuzugreifen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://192.168.0.104:8000 ein.

Sie werden aufgefordert, den Benutzernamen und das Passwort für Admin einzugeben. Verwenden Sie admin als Benutzer und das Passwort, das Sie bei der Installation festgelegt haben. Klicken Sie dann auf die Schaltfläche OK. Sie werden auf die folgende Seite weitergeleitet:

GRR-Client installieren

Melden Sie sich zunächst bei der Weboberfläche Ihres GRR-Servers an und navigieren Sie auf der linken Seite zur Registerkarte Binaries verwalten. Auf der folgenden Seite sollten Sie die verschiedenen Client-Versionen wie RHEL, Debian und BSD sehen:

Ihre Distribution ist nun Ubuntu 18.04. Klicken Sie also auf die Datei grr_3.2.4.6_amd64.deb, um den GRR-Client für Ubuntu herunterzuladen.

Sobald der Download abgeschlossen ist, installieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

dpkg -i grr_3.2.4.6_amd64.deb

Mit dem obigen Befehl wird der GRR-Client auf Ihrem System installiert und registriert sich automatisch beim GRR-Server.

Sie können den Status von GRR auch mit dem folgenden Befehl überprüfen:

systemctl status grr

Sie sollten die folgende Ausgabe sehen:

grr.service - grr linux amd64Loaded: loaded (/lib/systemd/system/grr.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2019-04-12 16:24:39 UTC; 16s agoMain PID: 3305 (grrd)Tasks: 6 (limit: 847)CGroup: /system.slice/grr.service├─3305 /usr/sbin/grrd --config=/usr/lib/grr/grr_3.2.4.6_amd64/grrd.yaml└─3306 /usr/sbin/grrd --config=/usr/lib/grr/grr_3.2.4.6_amd64/grrd.yamlApr 12 16:24:39 ubuntu1804 systemd<x><x><x><x>[1]</x></x></x></x>: Startet grr linux amd64.

Untersuchung durchführen

Rufen Sie nun die Weboberfläche des GRR-Servers auf, klicken Sie auf das Suchfeld und drücken Sie die Eingabetaste. Sie sollten Ihren Client auf der folgenden Seite sehen:

Klicken Sie nun auf Ihren Client, um weitere Details zu sehen, wie auf der folgenden Seite dargestellt:

Als Nächstes listen wir die Prozesse auf, die auf dem Client laufen.

Klicken Sie dazu auf Neue Abläufe starten > Prozesse > ListProcesses, wählen Sie unter Verbindungsstatus die Option Errichtet und klicken Sie auf Starten, um den Ablauf zu starten. Sie sollten die folgende Seite sehen:

Klicken Sie anschließend auf Gestartete Abläufe verwalten > ListProcesses > Ergebnisse, um die Ergebnisse des ListProcesses-Ablaufs auf der folgenden Seite zu sehen:

Herzlichen Glückwunsch! Sie haben den GRR Server und Client erfolgreich installiert. Spielen Sie nun mit dem Tool herum.