GNU/Linux >> Belajar Linux >  >> Linux

Wazuh Memblokir serangan dengan Respons Aktif

Respons aktif memungkinkan Wazuh menjalankan perintah pada agen sebagai respons terhadap pemicu tertentu. Dalam kasus penggunaan ini, kami mensimulasikan serangan Brute Force SSH dan mengonfigurasi respons aktif untuk memblokir IP penyerang. Jadi, dalam postingan ini Anda akan mempelajari cara memblokir serangan dengan respons aktif.

Mendeteksi serangan

Pertama-tama, kita perlu tahu kapan harus mengeksekusi respons. Kita dapat menggunakan salah satu opsi berikut:

  • ID Aturan:Respons akan dieksekusi pada peristiwa apa pun dengan ID yang ditentukan.
  • Grup aturan:Respons akan dieksekusi pada setiap peristiwa dalam grup yang ditentukan.
  • Level:Respons akan dieksekusi pada acara apa pun dengan level ini atau lebih tinggi.

Dalam kasus penggunaan ini, kami ingin mencegah SSH brute force attacks jadi ketika aturan 5712 - SSHD brute force trying to get access to the system dipicu, ia akan mengeksekusi respons aktif yang tepat untuk memblokir IP penyerang.

Mendefinisikan perintah

Kita tahu kapan respon aktif akan dieksekusi, sekarang kita harus mendefinisikan apa yang akan dilakukannya. Anda dapat membuat skrip Anda sendiri untuk memblokir IP, atau tindakan lainnya, tetapi Wazuh hadir dengan serangkaian skrip umum yang digunakan dalam respons aktif. Skrip ini ada di /var/ossec/active-response/bin/ . Kami akan menggunakan firewall-drop skrip yang bekerja dengan sistem operasi Linux/Unix umum dan memungkinkan pemblokiran IP berbahaya menggunakan firewall lokal.

Tentukan perintah di ossec.conf dari manajer Wazuh Anda:

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

Mendefinisikan respon aktif untuk memblokir serangan

Tentukan respon aktif di ossec.conf dari manajer Wazuh Anda:

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

Mulai ulang pengelola Wazuh untuk menerapkan perubahan.

Bukti konsep

Kami akan mensimulasikan serangan SSH, serangan akan dieksekusi dari 10.0.0.6 ke agen kami yang berjalan di 10.0.0.5. Pertama, kami memeriksa apakah ada konektivitas antara penyerang dan agen:

[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

Sekarang, kami mencoba menghubungkan ke agen dengan SSH beberapa kali menggunakan pengguna yang tidak valid:

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

Setelah 8 kali percobaan, kita dapat melihat di manajer bagaimana aturan tersebut diaktifkan:

Jika kami mencoba melakukan ping ke agen dari penyerang, kami melihat bahwa itu tidak mungkin:

[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

Membuat peringatan saat respons aktif diaktifkan

Setiap agen memiliki file log di /var/ossec/logs/active-responses.log dimana aktivitas respon aktif terdaftar. Secara default, file ini sedang dipantau.

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

Saat respons aktif dipicu, kita dapat melihat peringatan yang sesuai:

Ini dimungkinkan karena aturan 651 didefinisikan dalam ossec_rules.xml . Jika Anda membuat skrip sendiri, Anda harus menambahkan aturan yang tepat.

Daftar putih

Kami juga dapat mengatur daftar alamat IP yang tidak boleh diblokir oleh respons aktif. Di bagian global ossec.conf di Manajer, gunakan bidang white_list . Ini memungkinkan alamat IP atau 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>

Meningkatkan waktu pemblokiran untuk pelanggar berulang

Kami menyiapkan waktu pemblokiran 30 menit untuk respons aktif kami, tetapi jika Anda perlu menambah waktu pemblokiran ini untuk pelanggar berulang, Anda dapat menambahkan konfigurasi berikut di ossec.conf dari setiap agen:

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

Pertama kali respons aktif dipicu, itu akan memblokir IP selama 30 menit, yang kedua selama 60 menit, yang ketiga selama 120 menit, dan terakhir yang keempat selama 180 menit.

Berkat respons aktif, Anda dapat melakukan tindakan menanggapi beberapa skenario dan membatasi aktivitas jahat serta memblokir serangan. Ketahuilah bahwa setiap respons otomatis memiliki risiko implisit, jadi tentukan respons Anda dengan cermat.


Linux
  1. Centos – Memblokir Koneksi Keluar Dengan Iptables?

  2. Memblokir Pembaruan Kernel Dengan Dpkg?

  3. Otentikasi Git Dengan Pengguna Direktori Aktif?

  1. Konfigurasikan Direktori Aktif dengan DNS terintegrasi

  2. Cara Menghindari Serangan Stack Smashing dengan GCC

  3. Perintah Docker menggantung tanpa respons

  1. Pelacakan kernel dengan trace-cmd

  2. Memblokir botnet spam internasional dengan plugin Postfix

  3. VMware vCenter/ESXi dengan FreeIPA, bukan Direktori Aktif?