GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wazuh Blockiert Angriffe mit Active Response

Active Response ermöglicht es Wazuh, als Reaktion auf bestimmte Auslöser Befehle auf einem Agenten auszuführen. In diesem Anwendungsfall simulieren wir einen SSH-Brute-Force-Angriff und konfigurieren eine aktive Antwort, um die IP des Angreifers zu blockieren. In diesem Beitrag erfahren Sie also, wie Sie Angriffe mit aktiver Reaktion blockieren.

Den Angriff erkennen

Zunächst müssen wir wissen, wann die Antwort ausgeführt werden soll. Wir können eine der folgenden Optionen verwenden:

  • Regel-ID:Die Antwort wird bei jedem Ereignis mit der definierten ID ausgeführt.
  • Regelgruppe:Die Antwort wird bei jedem Ereignis in der definierten Gruppe ausgeführt.
  • Stufe:Die Antwort wird bei jedem Ereignis mit dieser Stufe oder höher ausgeführt.

In diesem Anwendungsfall möchten wir SSH brute force attacks verhindern also wenn die Regel 5712 - SSHD brute force trying to get access to the system ausgelöst wird, führt es die richtige aktive Antwort aus, um die IP des Angreifers zu blockieren.

Befehl definieren

Wir wissen, wann die aktive Antwort ausgeführt wird, jetzt müssen wir definieren, was sie tun wird. Sie können Ihr eigenes Skript erstellen, um eine IP oder jede andere Aktion zu blockieren, aber Wazuh wird mit einer Reihe gängiger Skripts geliefert, die in der aktiven Reaktion verwendet werden. Diese Skripte befinden sich in /var/ossec/active-response/bin/ . Wir werden den firewall-drop verwenden Skript, das mit gängigen Linux/Unix-Betriebssystemen funktioniert und das Blockieren einer schädlichen IP-Adresse mithilfe der lokalen Firewall ermöglicht.

Definieren Sie den Befehl in der ossec.conf Ihres Wazuh-Managers:

<command>
  <name>firewall-drop</name>
  <executable>firewall-drop</executable>
  <timeout_allowed>yes</timeout_allowed>
</command>

Definieren der aktiven Antwort zum Blockieren von Angriffen

Definieren Sie die aktive Antwort in der ossec.conf Ihres Wazuh-Managers:

<active-response>
  <command>firewall-drop</command>
  <location>local</location>
  <rules_id>5712</rules_id>
  <timeout>1800</timeout>
</active-response>

Starten Sie den Wazuh-Manager neu, um die Änderungen zu übernehmen.

Konzeptnachweis

Wir werden einen SSH-Angriff simulieren, der Angriff wird von 10.0.0.6 auf unseren Agenten ausgeführt, der auf 10.0.0.5 läuft. Zuerst prüfen wir, ob eine Verbindung zwischen dem Angreifer und dem Agenten besteht:

[ec2-user@ip-10-0-0-6 ~]$ ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=0.602 ms
64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=0.774 ms

Jetzt versuchen wir mehrmals, uns mit einem ungültigen Benutzer per SSH mit dem Agenten zu verbinden:

$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).
$ ssh 10.0.0.5
Permission denied (publickey).

Nach 8 Versuchen können wir im Manager sehen, wie die Regel ausgelöst wird:

Wenn wir versuchen, den Agenten vom Angreifer anzupingen, sehen wir, dass dies nicht möglich ist:

[ec2-user@ip-10-0-0-6 ~]$ ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
^C
--- 10.0.0.5 ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 11000ms

Generieren einer Warnung, wenn eine aktive Antwort ausgelöst wird

Jeder Agent hat eine Protokolldatei unter /var/ossec/logs/active-responses.log wo die aktiven Reaktionsaktivitäten registriert sind. Standardmäßig wird diese Datei überwacht.

<ossec_config>
  <localfile>
      <log_format>syslog</log_format>
      <location>/var/ossec/logs/active-responses.log</location>
  </localfile>
</ossec_config>

Wenn die aktive Antwort ausgelöst wird, können wir die entsprechende Warnung sehen:

Dies ist möglich, weil Regel 651 in ossec_rules.xml definiert ist . Wenn Sie Ihr eigenes Skript erstellen, müssen Sie die richtige Regel hinzufügen.

Weiße Liste

Wir können auch eine Liste mit IP-Adressen erstellen, die niemals durch die aktive Antwort blockiert werden sollen. Im globalen Abschnitt von ossec.conf Verwenden Sie im Manager das Feld white_list . Es erlaubt IP-Adresse oder Netzblock

<ossec_config>
  <global>
    <jsonout_output>yes</jsonout_output>
    <email_notification>no</email_notification>
    <logall>yes</logall>
    <white_list>10.0.0.6</white_list>
  </global>

Erhöhung der Sperrzeit für Wiederholungstäter

Wir haben eine Sperrzeit von 30 Minuten für unsere aktive Reaktion eingerichtet, aber falls Sie diese Sperrzeit für Wiederholungstäter erhöhen müssen, können Sie die folgende Konfiguration in der ossec.conf hinzufügen jedes Agenten:

<active-response>
  <repeated_offenders>60,120,180</repeated_offenders>
</active-response>

Beim ersten Auslösen der aktiven Antwort wird die IP für 30 Minuten blockiert, beim zweiten Mal für 60 Minuten, beim dritten Mal für 120 Minuten und schließlich beim vierten Mal für 180 Minuten.

Dank der aktiven Reaktion können Sie Aktionen ausführen, die auf mehrere Szenarien reagieren und böswillige Aktivitäten einschränken und Angriffe blockieren. Seien Sie sich bewusst, dass jede automatische Antwort ein implizites Risiko birgt, also definieren Sie Ihre Antworten sorgfältig.


Linux
  1. Centos – Ausgehende Verbindungen mit Iptables blockieren?

  2. Blockieren von Kernel-Updates mit Dpkg?

  3. Erfahren Sie, wie Sie XML-RPC-Angriffe mit .htaccess stoppen

  4. Konfigurieren Sie Active Directory mit integriertem DNS

  5. Der sicherste Weg, mysqldump auf einem Live-System mit aktiven Lese- und Schreibvorgängen auszuführen?

Ersetzen Sie unter Linux du durch Staub

Integrieren Sie Samba mit Active Directory auf CentOS

Installation des WAZUH-Agenten

Erkennung von Log4Shell mit Wazuh

So verbinden Sie sich mit Samba mit Linux Active Directory

Beenden Sie das derzeit aktive Fenster mit einer Tastenkombination