Categories
Tutorial, Manual, Tips dan Trik

Implementasi Modul anti DDoS mod_evasive dan mod_security pada Apache web server

Denial-of-Service (DDoS) merupakan serangan yang menargetkan situs web serta server dengan mengirimkan request berulang dengan jumlah yang banyak. Hal ini menyebabkan server kehabisan memori, daya pemrosesan, bandwidth, dan sistem tidak responsif. Modul mod_evasive membantu membatasi serangan DDoS dengan melakukan block IP sementara yang melakukan spam request berulang terhadap web server. Modul mod_security selain menangani adanya serangan DDoS melakukan juga melakukan pembatasan akses dan pengendalian keamanan server, dengan Core Rule Set (CRS) yang memiliki aturan untuk injeksi SQL, Cross Site Scripting, Trojans, spam bot user agen, session hijacking dan banyak eksploit lainnya.

Denial-of-ServicesDoS merupakan serangan siber yang cukup merugikan, karena mengganggu server yang berakhibat sistem tidak mampu beroperasi dengan baik. Menyikapi hal tersebut perlunya melakukan penanganan serta pencegahan ancaman tersebut diantaranya mengimplementasikan security modul mod_evasive dan mod_security di server.

— Implementasi Modul anti DDoS mod_evasive dan mod_security pada Apache web server

Daftar Isi

Modul mod_evasive – Ubuntu

Langkah pertama yakni melakukan installasi Apache web server utility package

> apt install apache2-utils

Kemudian install mod_evasive modul Apache

> apt-get install libapache2-mod-evasive

Check modul mod_evasive (running on apache)

> apachectl -M | grep evasive

Tampil : evasive20_module (shared)

Melakukan edit file pada evasive.conf

> nano /etc/apache2/mods-enabled/evasive.conf

block of line :

DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
#DOSEmailNotify you@yourdomain.com
#DOSSystemCommand “su – someuser -c ‘/sbin/… %s …'”
DOSLogDir “/var/log/mod_evasive”

Jalankan perintah berikut untuk membuat direktori log untuk mod_evasive

> mkdir /var/log/mod_evasive

Selanjutnya menganti ownership menjadi “www-data”

> chown -R www-data:www-data /var/log/mod_evasive

Kemudian restart Apache server

> systemctl restart apache2

Tampil log mod_evasive :

Blacklist IP serangan DDoS

Modul mod_security – Ubuntu

Apabila belum melakukan update software lakukan update dengan

> apt update -y

Selanjutnya unduh dan install modul Apache mod_security

> apt install libapache2-mod-security2

Setelah berhasil ter-install, restart Service Apache

> systemctl restart apache2 

Check version mod_security

> apt-cache show libapache2-mod-security2 

Package: libapache2-mod-security2
Architecture: amd64
Version: 2.9.3-1
Priority: optional
Section: universe/httpd
Source: modsecurity-apache
Origin: Ubuntu

Langkah pertama copy default konfigurasi ModSecurity ke file baru modsecurity:

> cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Selanjutnya lakukan edit konfigurasi modsecurity.conf

> nano /etc/modsecurity/modsecurity.conf

#SecRuleEngine DetectionOnly
SecRuleEngine On
# — Request body handling —————————————————
# Allow ModSecurity to access request bodies. If you don’t, ModSecurity
# won’t be able to see any POST parameters, which opens a large security
# hole for attackers to exploit.
SecRequestBodyAccess On
# Multi IP Example
# Allow unrestricted access from 192.0.2.1,192.0.2.2,198.51.100.0/24
SecRule REMOTE_ADDR “@ipMatch 111.68.24.50,49.128.176.211,49.128.176.213,49.128.176.214,49.128.176.215,49.128.176.216,49.128.176.217,49.128.176.218” “phase:1,id:200000001,nolog,allow”

* setting konfigurasi untuk masing-masing serangan bisa disesuaikan.

Selanjutnya simpan file modsecurity.conf kemudian restart Apache.

> systemctl restart apache2 

Langkah pertama yakni unduh aturan-aturan atau Core Role Set (CRS) dari Open Web Application Security Project (OWASP).

> wget https://github.com/coreruleset/coreruleset/archive/v3.3.0.zip

Selanjutnya Unzip file yang telah diunduh.

> unzip FileName.zip

Pindahkan CRS setup ke direktori modsecurity

> mv coreruleset-3.3.0/crs-setup.conf.example /etc/modsecurity/crs-setup.conf

Selanjutnya pindahkan juga folder rules ke folder modsecurity (optional)

> mv coreruleset-3.3.0/rules/ /etc/modsecurity/

Langkah selanjutnya lakukan pengeditan pada Apache service2.conf

> nano /etc/apache2/mods-enabled/security2.conf

# Default Debian dir for modsecurity’s persistent data
SecDataDir /var/cache/modsecurity
# IncludeOptional /usr/share/modsecurity-crs/owasp-crs.load
# Include all the *.conf files in /etc/modsecurity.
# Keeping your local configuration in that directory
# will allow for an easy upgrade of THIS file and
# make your life easier
IncludeOptional /etc/modsecurity/*.conf
Include /etc/modsecurity/rules/*.conf
# Include OWASP ModSecurity CRS rules if installed
#IncludeOptional /usr/share/modsecurity-crs/*.load

Lakukan simpan dan restart Apache

> systemctl restart apache2

* apabila Apache error saat restart cek juga konfigurasi pada modsecurity.conf-recommended

* Log mod_security

> tail -f /var/log/apache2/error.log

Tampil :

[Thu Mar 16 14:18:09.552197 2023] [:error] [pid 1396721:tid 139826166732544] [client 212.102.35.202:36230] [client 212.102.35.202] ModSecurity: Warning. Matched phrase “etc/passwd” at ARGS:file. [file “/etc/modsecurity/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf”] [line “500”] [id “932160”] [msg “Remote Command Execution: Unix Shell Code Found”] [data “Matched Data: etc/passwd found within ARGS:file: /etc/passwd”] [severity “CRITICAL”] [ver “OWASP_CRS/3.3.0”] [tag “application-multi”] [tag “language-shell”] [tag “platform-unix”] [tag “attack-rce”] [tag “paranoia-level/1”] [tag “OWASP_CRS”] [tag “capec/1000/152/248/88”] [tag “PCI/6.5.2”] [hostname “pdsi.unisayogya.ac.id”] [uri “/wp-swimteam/include/user/download.php”] [unique_id “ZBLCsccXmCrM5iffP5XU-wAAAIg”]

Selain menangani adanya serangan DDoS mod_security juga melakukan pembatasan akses dan pengendalian keamanan server, dengan Core Rule Set (CRS) . [nurullatifah]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.