
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.
Dieses Diagramm zeigt unser Ziel/unsere Lösung:
Anforderungen
Im Video haben wir drei Ubuntu 22.04 VMs in einem Cloud-Dienst verwendet. Sie hatten die folgenden Spezifikationen:
- Zwei der Maschinen hatten 2 GB Speicher und 1 CPU. Diese wurden als unsere WordPress-Server verwendet.
- Eine der Maschinen verfügte über 8 GB Speicher und 2 CPUs. Diese wurde als unser Elasticsearch-Server verwendet.
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:
- ELK mit selbstsignierten Zertifikaten einrichten -Videoerklärung & Schriftliche Zusammenfassung
- 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:
- Besuchen Kibana > Stack-Verwaltung > Regeln and
- Beachten Sie die Existenz vieler Regeln wie Clam Anti-Virus-Scans, Hosts-Datei geändert [Duplikat] usw...
Hier ist ein Screenshot, der die erfolgreiche Einrichtung zeigt:
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:
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:
- [Filebeat Apache] Zugriffs- und Fehlerprotokolle ECS
- [Metricbeat Apache] Übersicht ECS
MySQL:
- [Filebeat MySQL] Übersicht ECS
- [Metricbeat MySQL] Datenbankübersicht
Betriebssystem:
- [Filebeat System] Syslog-Dashboard ECS – Enthält Links zu anderen verwandten Dashboards
- [Metricbeat System] Hostübersicht ECS - Enthält Links zu anderen verwandten Dashboards
- [Auditbeat System] Systemübersicht ECS - Enthält Links zu anderen verwandten Dashboards
- [Auditbeat-Dateiintegrität] Übersicht ECS
- [Auditbeat Auditd] Übersicht ECS
- [Filebeat Iptables] Übersicht ECS
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
.