Wazuh memiliki command active-response
. Command ini berfungsi untuk meresponse serangan yang terdeteksi oleh Wazuh. Use case yang saya bahas kali ini adalah mengantisipasi multiple error 400 yang diakses dari satu IP. Multiple error 400 diindikasikan ada usaha scanning, serangan XSS, atau Directory Traversal. Rules ini didefinisikan pada rules-id 31151 dari Wazuh.
Daftar command active-response
dapat dilihat pada /var/ossec/active-response/bin
Konfigurasi active-response
Command yang akan digunakan pada use case ini adalah firewall-drop
yang secara default sudah terdefinisi pada /var/ossec/etc/ossec.conf
pada bagian ini
<command>
<name>firewall-drop</name>
<executable>firewall-drop</executable>
<timeout_allowed>yes</timeout_allowed>
</command>
Tambahkan definisi aksi firewall-drop seperti dibawah ini
<!-- Active response firewall-drop scanning -->
<active-response>
<command>firewall-drop</command>
<location>all</location>
<rules_id>31151</rules_id>
<timeout>3600</timeout>
</active-response>
- location: parameter
all
digunakan untuk memblokir IP Adrress attacker disemua agent, jika hanya ingin diblokir di agent sumber alert, gunakanlocal
- rules_id: sesuai dengan alert Wazuh.
- timeout: dalam detik.
Jika timeout sudah terlewati, maka IP Address attacker bisa mengakses lagi.
Restart wazuh-manager
systemctl restart wazuh-manager
Proof of Concept
Muncul alert dari Wazuh seperti ini
Cek di Security Events milik agent
Terlihat berturut-turut log alert lalu log blokir, lebih jelasnya
Melalui log ini, bisa dibuktikan bahwa IP Address attacker telah diblok dengan aksi firewall-drop
melalui active-response
dari Wazuh.
Beberapa rules penting bagi webserver yang bisa diblokir melalui firewall-drop
- 31103, 31164, 31165 – SQL injection attempt,
- 31104, 31153 – Common web attack (directory traversal),
- 31105, 31154 – XSS Attempt,
- 31106 – Web attack returned code 200,
- 31109 – MSSQL Injection,
- 31110 – PHP-cgi bin attack,
- 31151 – Multiple error 400 (possible reconnaissance),
- 31161, 31162, 31163 – Multilple error 500 (possible reconnaissance),
- 31166, 31167, 31168, 31169 – ShellShock Attack
Host-deny vs Firewall-drop
Salah satu command yang sering dibandingkan adalah host-deny vs firewall-drop. Saya akan bahas secara singkat saja di bagian terakhir ini. Host deny bekerja dengan cara membaca request dari host, lalu men-deny request dari host. Sementara Firewall Drop akan langsung melakukan drop connection ketika terbaca koneksi dari source IP yang sudah tercatat untuk di-drop. Pendapat saya, firewall-drop lebih cepat melakukan blokir terhadap attacker karena tidak perlu memeriksa isi request dari source IP. Sementara host deny lebih cocok digunakan untuk menyeleksi request yang masuk, request mana yang diijinkan, mana yang tidak. Penggunaan command tergantung kepada fungsi keamanan apa yang diinginkan oleh sysadmin. Semoga tulisan saya bermanfaat dan selamat ngoprek.