GNU/Linux >> Znalost Linux >  >> Linux

Wazuh Blokování útoků pomocí Active Response

Aktivní odezva umožňuje Wazuhu spouštět příkazy na agentovi v reakci na určité spouštěče. V tomto případě použití simulujeme útok SSH Brute Force a nakonfigurujeme aktivní odpověď tak, aby blokovala IP adresu útočníka. V tomto příspěvku se tedy dozvíte, jak blokovat útoky aktivní reakcí.

Detekce útoku

Nejprve musíme vědět, kdy provést odpověď. Můžeme použít jednu z následujících možností:

  • ID pravidla:Odpověď bude provedena při jakékoli události s definovaným ID.
  • Skupina pravidel:Odpověď bude provedena na jakoukoli událost v definované skupině.
  • Úroveň:Odpověď bude provedena na jakoukoli událost s touto nebo vyšší úrovní.

V tomto případě použití chceme zabránit SSH brute force attacks takže když pravidlo 5712 - SSHD brute force trying to get access to the system je spuštěn, provede správnou aktivní odpověď k zablokování adresy IP útočníka.

Definování příkazu

Víme, kdy bude aktivní odpověď provedena, nyní musíme definovat, co udělá. Můžete si vytvořit svůj vlastní skript pro blokování IP adresy nebo jakékoli jiné akce, ale Wazuh přichází se sadou běžných skriptů používaných v aktivní reakci. Tyto skripty jsou v /var/ossec/active-response/bin/ . Budeme používat firewall-drop skript, který pracuje s běžnými operačními systémy Linux/Unix a umožňuje blokování škodlivé IP pomocí lokálního firewallu.

Definujte příkaz v ossec.conf vašeho správce Wazuh:

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

Definování aktivní reakce na blokování útoků

Definujte aktivní odpověď v ossec.conf vašeho správce Wazuh:

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

Chcete-li použít změny, restartujte správce Wazuh.

Důkaz konceptu

Chystáme se simulovat útok SSH, útok bude proveden od 10.0.0.6 na našeho agenta běžícího na 10.0.0.5. Nejprve zkontrolujeme, zda existuje konektivita mezi útočníkem a agentem:

[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

Nyní se několikrát pokoušíme připojit k agentovi pomocí SSH pomocí neplatného uživatele:

$ 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).

Po 8 pokusech vidíme ve správci, jak se pravidlo spouští:

Pokud se pokusíme pingnout agenta od útočníka, uvidíme, že to není možné:

[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

Generování výstrahy při aktivaci aktivní odpovědi

Každý agent má soubor protokolu na adrese /var/ossec/logs/active-responses.log kde jsou registrovány aktivity aktivní reakce. Ve výchozím nastavení je tento soubor sledován.

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

Když je aktivní odpověď spuštěna, můžeme vidět odpovídající výstrahu:

To je možné, protože pravidlo 651 je definováno v ossec_rules.xml . Pokud vytvoříte svůj vlastní skript, musíte přidat správné pravidlo.

Bílá listina

Můžeme také nastavit seznam IP adres, které by nikdy neměly být blokovány aktivní odpovědí. V globální sekci ossec.conf ve Správci použijte pole white_list . Umožňuje IP adresu nebo netblock

<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>

Prodloužení doby blokování pro opakované pachatele

Pro naši aktivní reakci jsme nastavili dobu blokování 30 minut, ale v případě, že potřebujete prodloužit tuto dobu blokování pro opakované porušování pravidel, můžete přidat následující konfiguraci v ossec.conf každého agenta:

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

Při prvním spuštění aktivní odpovědi zablokuje IP na 30 minut, podruhé na 60 minut, potřetí na 120 minut a nakonec počtvrté na 180 minut.

Díky aktivní reakci můžete provádět akce reagující na několik scénářů a omezující škodlivé aktivity a blokující útoky. Uvědomte si, že jakákoli automatická odpověď má implicitní riziko, proto své odpovědi definujte pečlivě.


Linux
  1. Centos – blokování odchozích spojení s iptables?

  2. Oprava binárního kódu pomocí Dd?

  3. Blokování aktualizací jádra pomocí Dpkg?

  1. Trasování jádra pomocí trace-cmd

  2. Příkazy Dockeru visí bez odezvy

  3. Nejbezpečnější způsob, jak provádět mysqldump na živém systému s aktivním čtením a zápisem?

  1. Blokování mezinárodních spamových botnetů pomocí pluginu Postfix

  2. Ověřování Git s uživatelem služby Active Directory?

  3. Zjistěte, jak zastavit útoky XML-RPC pomocí .htaccess