WordPress und Elasticsearch – Sicherheitsinformationen und Ereignisverwaltung

Veröffentlicht am 17.03.2024

« Alle Vorträge ansehen Kontaktieren Sie uns
WordPress and Elasticsearch - Security Information and Event Management

Einführung

Code auf Github: ELK WordPress SIEM

Dieses Tutorial zeigt, wie Sie grundlegendes Security Information and Event Management (SIEM) für Cluster von Linux-Servern einrichten, auf denen viele WordPress-Websites gehostet werden.

Unsere Lösung verwendet Elasticsearch, Kibana, Logstash, Beats Library, Clam Antivirus und Fail2Ban.

Dieses Diagramm stellt die Infrastruktur dar, die wir für SIEM aktualisieren müssen.

Challenge

Dieses Diagramm zeigt unser Ziel/unsere Lösung:

Solution

Anforderungen

Im Video haben wir drei Ubuntu 22.04 VMs in einem Cloud-Dienst verwendet. Sie hatten die folgenden Spezifikationen:

Die angegebenen Speicher- und CPU-Leistungen sind Mindestanforderungen. Die Installation einiger Dienste schlägt möglicherweise fehl, wenn Sie über weniger als die Mindestressourcen verfügen.

Schritte

Schritt 0 – WordPress installieren

Wenn Sie bereits mindestens eine WordPress-Instanz haben, können Sie diesen Schritt überspringen. Zur Referenz finden Sie hier jedoch mein WordPress-Setup. Sie können diesen Schritt überspringen, wenn Sie bereits mindestens eine WordPress-Instanz eingerichtet haben. Zur Referenz beschreibe ich jedoch die Schritte meiner WordPress-Demonstration.(nur für Demo, nicht vollständig für den Produktionseinsatz gesichert).

Ich habe ein Bashscript namens install-wordpress.sh. Sie können das Skript hier herunterladen:

Denken Sie daran, die Variable zu aktualisieren ip_server mit der IP-Adresse Ihres Servers. Wenn Sie lokale IP-Adressen verwenden, die mit 172. oder 192. Denken Sie beim Testen in einem lokalen Netzwerk daran, die entsprechenden FQDN-Einträge in Ihrem /etc/hosts Datei, um sicherzustellen, dass URLs der IP-Adresse Ihres WordPress-Servers zugeordnet sind.

Führen Sie den ./install-wordpress.sh um alle Backend-Dienste für WordPress zu installieren und zu konfigurieren.

Gehen Sie zu Ihrem Browser, um http://web1.evermight.net, http://web2.evermight.net, Und http://web3.evermight.net um die Einrichtung abzuschließen. Sie können den MySQL-Benutzernamen, das Passwort und die Datenbanknamen sehen, die in der ./install-wordpress.sh Datei. Zum Zeitpunkt des Schreibens dieses Artikels sind sie web1, web1-ABCD-pass, web1 bzw. Ersetzen 1 mit 2 oder 3 für web2 Und web3 jeweils.

Sie können diese Schritte für weitere Server wiederholen.

Schritt 1 – Elasticsearch und Kibana einrichten

Mit diesem Schritt werden die meisten Leute wahrscheinlich beginnen, da die meisten Leute bereits Schritt 0 auf die eine oder andere Weise eingerichtet.

Wir müssen Elasticsearch einrichten, um Observability- und SIEM-Daten von unseren WordPress-Servern zu speichern und zu verwalten. Wir haben viele weitere Anleitungen dazu. Hier sind zwei der beliebtesten, die Sie vielleicht kennen und die auch für dieses Video gut geeignet sind:

  1. ELK mit selbstsignierten Zertifikaten einrichten -Videoerklärung & Schriftliche Zusammenfassung
  2. Richten Sie ELK mit selbstsignierten Zertifikaten mit Docker ein -Videoerklärung & Schriftliche Zusammenfassung

Wir verwenden eine vereinfachte Version der zweiten Option, da diese für Testzwecke am einfachsten ist. Hier sind die vereinfachten Schritte:

Schritt 1.1 – Ubuntu Server konfigurieren

Lass uns Git, Docker, Docker Compose Und Locke auf dem Server mithilfe dieser Befehle:

apt-get update; apt-get install -y docker docker-compose git curl vim;

Schritt 1.2 – Docker + Elasticsearch-Projekt ausführen

Wir können Elasticsearch und Kibana starten, indem wir hier unser Github-Projekt verwenden:

Führen Sie diese Befehle aus:

git clone https://github.com/evermight/elk-wordpress-siem.git; cd elk-wordpress-siem/es; cp env.sample .env; docker-compose up --build -d;

Notiz- Erwägen Sie die Verwendung unterschiedlicher Passwörter in Ihrem .env Datei, bevor Sie die docker-compose up --build -d.

Sie können jetzt über Kibana auf Elasticsearch zugreifen, indem Sie https://[elastic.ip.address]:5601.

Anmeldung mit dem Benutzer elastic und das in Ihrem .env Datei.

Optional – Hostdatei auf dem Arbeitscomputer aktualisieren

Es kann mühsam sein, immer die IP-Adresse des Elasticsearch-Servers in den Webbrowser einzugeben. Wir aktualisieren die Hostdatei des Computers mit dem Webbrowser so, dass der Hostname kibana Karten auf die IP-Adresse des Elasticsearch- und Kibana-Servers. Von nun an greifen wir auf die Kibana-Website mit https://kibana:5601.

Schritt 1.3 – Setup-Skripte vorbereiten

Wir haben Bash-Skripte im Verzeichnis vorbereitet ~/elk-wordpress-siem/es/scripts um die Integration von Beats, Logstash, WordPress, ClamAV und Fail2ban zu erleichtern.

Diese bash Setup-Skripte Senden Sie HTTP-Anfragen an die Elasticsearch REST API und die Kibana REST API, um neue Ressourcen wie Benutzerkonten, Indizes, Datenansichten, Konnektoren, Visualisierungen, Dashboards, Regeln usw. einzurichten. Wenn Sie diese Bash-Skripte nicht verwenden möchten, können Sie diese manuell über die Weboberfläche von Kibana konfigurieren.

Wir werden unsere Setup-Skripte, um die Dinge einfach und automatisiert zu halten.

Bevor wir sie verwenden können, müssen wir eine .env Datei für unsere Setup-Skripte. Der .env Die Datei enthält die Verbindungsdetails zu unserer Elasticsearch- und Kibana-Instanz. Führen Sie einfach die folgenden Befehle aus:

cd ~/elk-wordpress-siem/es/scripts; cp env.sample .env;

Beachten Sie, dass in unserem .env Datei, die wir bereits angegeben haben ELASTIC_HOST Und KIBANA_HOST. Sie können diese Werte ändern, um auf eine völlig andere Instanz von Elasticsearch/Kibana zu verweisen. Das bedeutet, dass alles in diesem ~/elk-wordpress-siem/es/scripts Das Verzeichnis kann für andere ELK-Instanzen wiederverwendet werden.

Für unseren aktuellen Anwendungsfall benötigen wir es01 Und kibana zeigen auf 127.0.0.1 das ist es selbst. Fügen Sie die folgenden Zeilen hinzu /etc/hosts Datei des Elasticsearch-Servers:

echo '127.0.0.1 es01 kibana' >> /etc/hosts;

Sobald Sie fertig sind, können Sie ping es01 oder ping kibana aus dem Terminalfenster, um zu sehen, dass diese Hostnamen auf die aktuelle Maschine verweisen.

Sie können diese jetzt verwenden Setup-Skripte in den nachfolgenden Schritten.

Schritt 1.4 – Agentenbenutzer einrichten

Aus Sicherheitsgründen möchten wir die bestehenden elastic Superuser als Konto, um Dienste wie die Beats Library, WordPress, ClamAV usw. mit Elasticsearch zu verbinden. Wir erstellen ein anderes Benutzerkonto, das vom AGENT_USER Variable in der ~/elk-wordpress-siem/es/scripts/.env Datei, indem Sie diesen Befehl oder dieses Skript ausführen:

cd ~/elk-wordpress-siem/es/scripts; ./setup-step-1.4.sh

Sie können bestätigen, dass dieser Benutzer erstellt wurde, indem Sie auf Kibana > Stack-Verwaltung > Benutzer.

Schritt 2 – Beats Library auf dem ERSTEN WordPress-Server einrichten

Wählen Sie den ersten WordPress-Server aus, auf dem Sie die Beats-Bibliothek installieren möchten, und stellen Sie per SSH eine Verbindung her.

Schritt 2.1 – Hostdatei aktualisieren

Wir benötigen diesen Server, um Elasticsearch und Kibana über den Hostnamen erreichen zu können. Führen Sie daher den folgenden Befehl aus:

echo "[elastic.ip.address] es01 kibana" >> /etc/hosts

Ersetzen Sie die [elastic.ip.address] mit der IP-Adresse des Servers von Schritt 1.2.

Schritt 2.2 – Zertifikat der Zertifizierungsstelle erhalten

Sie müssen das von Ihrer Elasticsearch erstellte TLS-Zertifikat der Zertifizierungsstelle kopieren.

Erstellen Sie auf Ihrem WordPress-Server mit diesem Befehl ein Verzeichnis für Ihre CA:

mkdir -p /etc/certs/es/

Rufen Sie Ihre CA auf Ihrem Elasticsearch-Server mit diesen Befehlen ab:

docker cp wp-es01-1:/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/. cat /tmp/ca.crt

Kopieren Sie den Inhalt /tmp/ca.crt Inhalte von Ihrem Elasticsearch-Server in eine neue Datei namens /etc/certs/es/ca.crt auf Ihrem WordPress-Server.

Schritt 2.3 – Beats Library installieren

Installieren Metricbeat, Filebeat, Auditbeat, Packetbeat auf Ihren WordPress-Server mit diesen Befehlen:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -; sudo apt-get install apt-transport-https; echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list; sudo apt-get update && sudo apt-get -y install metricbeat filebeat auditbeat packetbeat;

Schritt 2.4 – YML-Dateien jedes Beats aktualisieren

Kopieren Sie die Konfigurationsdateien, die Sie unter dem ~/es/beats Verzeichnis Ihres Elasticsearch-Verzeichnisses in Ihren WordPress-Server. Sie können diesen Befehl von Ihrem Elasticsearch-Server aus ausführen:

cd ~/elk-wordpress-siem/ scp -r ./beats/* root@[wordpress-server]:/etc/

Ersetzen Sie die [wordpress-server] mit der IP-Adresse Ihres WordPress-Servers.

Note - Im /etc/metricbeat/modules.d/mysql.yml, stellen Sie sicher, dass die Datenbankanmeldeinformationen korrekt sind.

Schritt 2.5 – Beat-Benutzer aktualisieren – (OPTIONAL)

Optional - In Schritt 1.3, Die ~/elk-wordpress-siem/es/scripts/setup.sh einen neuen Benutzer nur für die Beats-Bibliothek erstellt. Der Benutzername und das Passwort sind in der Variable AGENT_USER Und AGENT_PASS in der Datei ~/elk-wordpress-siem/es/scripts/.env Datei. Die yml Dateien in Schritt 2.4 sind so konfiguriert, dass sie die von AGENT_USER Und AGENT_PASS. Sie können die YML-Dateien ändern, um einen anderen Benutzer zu verwenden, bevor Sie mit dem nächsten Schritt fortfahren.

Schritt 2.6 – Initialisieren Sie Elasticsearch zur Verwendung von Beats –(NUR EINMAL)

Führen Sie diesen Schritt NUR EINMAL durch.

Um die Beats-Bibliothek zu verwenden, müssen wir Elasticsearch mit neuen Datenströmen, Indizes, Datenansichten, Pipelines usw. konfigurieren. Wenn diese bereits durch eine vorherige Installation von Beats auf anderen Servern eingerichtet wurden,dann müssen Sie diesen Schritt überspringen und mit Schritt 2.7 fortfahren.

Führen Sie von Ihrem WordPress-Server aus diese Befehle aus, um Elasticsearch und Kibana für die erstmalige Verwendung der Beats-Bibliothek zu konfigurieren:

/usr/share/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat; /usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat; /usr/share/metricbeat/bin/metricbeat setup -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat; /usr/share/filebeat/bin/filebeat test config -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat; /usr/share/filebeat/bin/filebeat test output -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat; /usr/share/filebeat/bin/filebeat setup -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat; /usr/share/auditbeat/bin/auditbeat test config -c /etc/auditbeat/auditbeat.yml --path.data /var/lib/auditbeat --path.home /usr/share/auditbeat; /usr/share/auditbeat/bin/auditbeat test output -c /etc/auditbeat/auditbeat.yml --path.data /var/lib/auditbeat --path.home /usr/share/auditbeat; /usr/share/auditbeat/bin/auditbeat setup -c /etc/auditbeat/auditbeat.yml --path.data /var/lib/auditbeat --path.home /usr/share/auditbeat; /usr/share/packetbeat/bin/packetbeat test config -c /etc/packetbeat/packetbeat.yml --path.data /var/lib/packetbeat --path.home /usr/share/packetbeat; /usr/share/packetbeat/bin/packetbeat test output -c /etc/packetbeat/packetbeat.yml --path.data /var/lib/packetbeat --path.home /usr/share/packetbeat; /usr/share/packetbeat/bin/packetbeat setup -c /etc/packetbeat/packetbeat.yml --path.data /var/lib/packetbeat --path.home /usr/share/packetbeat;

Gehen Sie als Nächstes zurück zu Ihrem Elasticsearch-Server und führen Sie diese Befehle aus, um die verbleibenden elastischen Ressourcen für SIEM einzurichten:

cd ~/elk-wordpress-siem/es/scripts; ./setup-step-2.x.sh

Bestätigen Sie die Installation durch:

Hier ist ein Screenshot, der die erfolgreiche Einrichtung zeigt:

Confirm setup success

Schritt 2.7 – Beat Services aktivieren und starten

Aktivieren und starten Sie jeden der Beat-Dienste mit diesen Befehlen:

systemctl enable metricbeat.service; systemctl enable filebeat.service; systemctl enable auditbeat.service; systemctl enable packetbeat.service; systemctl start metricbeat.service; systemctl start filebeat.service; systemctl start auditbeat.service; systemctl start packetbeat.service;

Überprüfen Sie, ob die Beats funktionieren, indem Sie einige der Kibana > Analysen > Dashboards. Zum Beispiel dieser Screenshot von Kibana > Analytics > Dashboards > Metricbeat-Hostübersicht ECS impliziert Metricbeat ordnungsgemäß funktioniert:

Metricbeat Host Overview ECS

Schritt 2.8 – Veraltete WordPress-Plugins erfassen

Wir möchten benachrichtigt werden, wenn ein WordPress-Plugin auf einer unserer WordPress-Websites veraltet ist. Wir haben ein einfaches Plugin, das Versionsinformationen an Elasticsearch sendet und auf jeder WordPress-Website installiert werden kann. Das Plugin wird durch die Datei ~/elk-wordpress-siem/wordpress/wp-content/plugins/evermight/evermight.php. Bevor Sie diese Datei in Ihre WordPress-Website kopieren, öffnen Sie die Datei und sehen Sie sich diese drei Zeilen an:

define('ES_USER', 'myagent'); define('ES_PASS', 'changeme'); define('PING_INTERVAL', 60*60*12); // minimum number of seconds to wait before next ES submission

Der ES_USER, ES_PASS wurde automatisch auf die Werte von fest codiert Schritt 1.3. Sie können diese beiden Werte sowie die PING_INTERVAL zu etwas, das Sie passender finden.

Wenn Sie bereit sind, kopieren Sie das Plugin auf Ihren WordPress-Server:

scp ~/elk-wordpress-siem/wordpress/wp-content/plugins/* root@[wordpress-server]:~/

Ersetzen [wordpress-server] with the IP address of your WordPress server.

Kopieren Sie das Plugin auf Ihrem WordPress-Server auf jede WordPress-Site und aktualisieren Sie die Dateiberechtigungen:

mkdir wp-plugins/; mv evermight wp-plugins/; cp -r wp-plugins/* /var/www/web1/wp-content/plugins; cp -r wp-plugins/* /var/www/web2/wp-content/plugins; cp -r wp-plugins/* /var/www/web3/wp-content/plugins; chown -R www-data:www-data /var/www/web1/wp-content/plugins; chown -R www-data:www-data /var/www/web2/wp-content/plugins; chown -R www-data:www-data /var/www/web3/wp-content/plugins;

Anmelden bei WordPress-Admin > Plugins > Installierte Plugins Und Aktivieren Der Elasticsearch WordPress Plugin Monitor.

Senden Sie Plugin-Informationen an Elasticsearch, indem Sie jede dieser URLs in Ihrem Webbrowser aufrufen:

http://web1.evermight.net/?rest_route=/evermight/v1/plugin-check http://web2.evermight.net/?rest_route=/evermight/v1/plugin-check http://web3.evermight.net/?rest_route=/evermight/v1/plugin-check

Bestätigen Sie den Erhalt der Plugin-Informationen, indem Sie Kibana > Entwicklertools und führen Sie diese Abfrage aus:

GET /wp-plugins/_search

Alternativ können Sie Plugin-Details in der Kibana > Entdecken > wp-plugins.

Wir werden in einem späteren Schritt ein Dashboard und eine E-Mail-Benachrichtigung für veraltete WordPress-Plugins erstellen.

Schritt 2.9 – Heartbeat – Uptime Monitor und WordPress Plugin Checker

In diesem Schritt, Herzschlag pingt das WordPress-Plugin an, das wir im vorherigen Schritt erstellt haben AND Überwachen Sie jede Website auf Betriebszeit.

In unserem ~/elk-wordpress-siem/es/docker-compose.yml, wir haben einen Container angegeben für Herzschlag. Der Container verwendet die Konfigurationsdatei ~/elk-wordpress-siem/beats/heartbeat/heartbeat.yml. Sie können sehen, dass unsere Konfigurationsdatei automatisch die ~/elk-wordpress-siem/beats/heartbeat/monitors.d/ Verzeichnis alle paar Sekunden für Websites, die wir überwachen müssen.

Um den Anfang zu machen, haben wir bereits aufgelistet http://web1.evermight.net/ Zu http://web3.evermight.net/. Sie können weitere URLs hinzufügen ~/elk-wordpress-siem/beats/heartbeat/monitors.d/wordpress.yml oder fügen Sie eine neue yml Datei mit neuen URLs.Herzschlag lädt die neuen Konfigurationen automatisch alle paar Sekunden.

Wir haben auch eine ~/elk-wordpress-siem/beats/heartbeat/monitors.d/wordpress-plugin.yml Es werden ähnliche Konventionen verwendet, aber es pingt das Plugin an, das wir im vorherigen Schritt erstellt haben.

Wenn Sie lokal testen, möchten Sie möglicherweise einen Befehl ähnlich dem folgenden ausführen, damit Ihr Container Ihren WordPress-Server über Domänennamen erreichen kann:

docker exec -it wp-heartbeat01-1 bash; echo '[wordpress-server-ip] web1.evermight.net web2.evermight.net web3.evermight.net' >> /etc/hosts; exit;

Sie können die Monitore überprüfen unter Kibana > Beobachtbarkeit > Betriebszeit > Monitore. Wir werden in späteren Schritten E-Mail-Benachrichtigungen einrichten.

Schritt 2.10 – ClamAV Antivirus

Wir installieren ClamAV Antivirensoftware auf dem WordPress-Server, damit dieser regelmäßig auf Viren und Malware geprüft werden kann. Anschließend übermitteln wir die Scan-Protokolle an Elasticsearch. In den folgenden Schritten konfigurieren wir Elasticsearch so, dass wir bei Virenfunden benachrichtigt werden.

Installieren clamav mit diesem Befehl:

apt-get update; apt-get install -y clamav;

Wir haben einige nützliche Skripte für die Ausführung vorbereitet ClamAV. Erstellen Sie auf Ihrem WordPress-Server ein neues Verzeichnis:

mkdir ~/clamscans

Kopieren Sie die Dateien in ~/elk-wordpress-siem/clamscans/* von Ihrem Elasticsearch-Server auf den ~/clamscans Verzeichnis Ihres WordPress-Servers.

scp ~/elk-wordpress-siem/* root@[wordpress-server-ip]:~/clamscans/

Erstellen Sie auf Ihrem WordPress-Server eine .env Datei:

cd ~/clamscans; cp env.sample .env;

Bearbeiten Sie die Verbindungsdetails des .env falls erforderlich.

Jetzt können Sie die Datei ausführen ~/clamscans/clamscan.sh -d [directory you want to scan] um jedes Verzeichnis auf Ihrem Server zu scannen. Die Scan-Protokolle finden Sie im ~/clamscans/log/scan.log Datei und Quarantänedateien werden in der ~/clamscans/q Verzeichnis.

Sie können die Ergebnisse von ~/clamscans/log/scan.log zu Elasticsearch durch Ausführen ~/clamscans/send.sh. Die Protokolle erscheinen im Elasticsearch-Index namens clamscans. Gehe zu Kibana > Entwicklertools um die Abfrage auszuführen GET /clamscans/_search um die Protokolle anzuzeigen. Alternativ können Sie die ClamAV-Protokolle anzeigen.Kibana > Entdecken > Clamscans.

Fügen Sie die ~/clamscans/scan.sh Und ~/clamscans/send.sh zum Cron Aufgabe des WordPress-Servers ist es, diese regelmäßig auszuführen.

Schritt 2.11 – Fail2Ban installieren

Wir installieren Fail2Ban um IP-Adressen, die verdächtiges Verhalten zeigen, automatisch zu sperren. Wir wollen auch eine IP-Adresse sperren für 5 Minuten wenn sie scheitern 10 mal innerhalb der letzten 5 Minuten über /wp-login URL.

Installieren Fail2ban mit:

apt-get update; apt-get install fail2ban;

Richten Sie eine Jail-Datei ein, indem Sie die Vorlage kopieren:

cp jail.conf jail.local

Sie können sehen, dass der Inhalt von jail.local referenziert alle Filter (z. B. Regex-Übereinstimmungsregeln für Protokolldateien) in der /etc/fail2ban/filters.d Verzeichnis. Wir werden einen weiteren Filter für unsere Regel für fehlgeschlagene WordPress-Anmeldungen erstellen und von jail.local darauf verlinken.

Erstellen Sie eine Datei mit dem Namen /etc/fail2ban/filters.d/wordpress-login.conf und fügen Sie diesen Inhalt ein:

[Definition]

badagents =

failregex = ^<HOST> -.*"(GET|POST|HEAD) \/+wp-login.*$
^web[0-9]+.evermight.net:80 <HOST> -.*"(GET|POST|HEAD) \/+wp-login.*$

ignoreregex =

Fügen Sie dann diesen Code zu unserem hinzu jail.local So erstellen Sie ein neues Jail, das einen Benutzer für 5 Minuten sperrt, wenn er sich innerhalb der letzten 5 Minuten 10 Mal nicht anmelden konnte:

[wordpress-login] enabled = true logpath = %(apache_access_log)s findtime = 300 bantime = 300 maxretry = 10

Start Fail2ban

systemctl enable fail2ban; systemctl start fail2ban;

Sie können die Regel testen, indem Sie 10 fehlgeschlagene Anmeldeversuche unternehmen, um zu sehen, ob Ihre IP-Adresse gesperrt wird.

Sie können die gesperrten IPs mit dem Befehl überprüfen fail2ban-client status wordpress-login.

Mit diesem Befehl können Sie IP-Adressen entsperren fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHER;

Note- Sie können auch die iptables -S Befehl, um zu überprüfen, wie Fail2ban Ihre zugrunde liegenden IPTables aktualisiert hat.

Schritt 3 – Zusätzliche WordPress-Server einrichten

Um weitere WordPress-Server zu erstellen, wiederholen Sie Schritt 2.1 Zu Schritt 2.13 Aber überspringen Schritt 2.6.

Ersetzen web1.* Zu web3.* und jede Erwähnung von [wordpress-server-ip] mit der IP-Adresse Ihres nächsten WordPress-Servers.

Schritt 4 – Überprüfen Sie nützliche Beats-Dashboards

Die Beats-Bibliothek enthält viele nützliche Dashboards. Hier sind einige der wichtigsten unter Kibana > Dashboards:

Apache:

MySQL:

Betriebssystem:

Schritt 5 – Regeln und E-Mail-Benachrichtigungen aktivieren

Gehe zu Kibana > Stack-Verwaltung > Regeln und aktivieren Sie die gewünschte Regel. Versuchen Sie dann, einige dieser Regeln auszulösen.

Wenn Sie E-Mail-Benachrichtigungen erhalten möchten, aktualisieren Sie die SMTP_* Variablen in der ~/elk-wordpress-siem/es/.env Datei und docker restart wp-logstash01-1.

Wenn Sie laufen möchten Logstash Kopieren Sie die Dateien vom Hostcomputer ohne Docker ~/elk-wordpress-siem/logstash/logstash/* Zu /etc/logstash/ Ihres Host-Rechners. Erstellen Sie eine .env aus dem env.sample Datei. Führen Sie dann Logstash mit dem in /etc/logstash/run.sh.