Skip to main content
  1. Posts/

Cara Menginstal ModSecurity di Apache

·2 mins·
apache apache modsec
Table of Contents

ModSecurity atau web application firewall adalah kumpulan rules yang bertujuan untuk melindungi aplikasi web dari berbagai macam serangan dengan minimum false alerts. Biasanya vendor modsec yang sering dipakai adalah OWASP ModSecurity Core Rule Set (CRS) dan Comodo ModSecurity.

Anda dapat menginstall package ModSecurity menyesuaikan OS yang Anda pakai, contoh untuk menginstal pada OS Rocky Linux 8

dnf -y install mod_security_crs

Namun menginstal dengan package tidak selalu mendapatkan versi modsec yang terbaru sesuai yang ada di https://github.com/coreruleset/coreruleset/releases sehingga perlu melakukan instalasi secara manual.

OWASP ModSecurity Core Rule Set (CRS)
#

Instal ModSecurity untuk Apache

dnf -y install mod_security libmodsecurity

Download archive OWASP terbaru.

wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.5.tar.gz

Extract archive ke direktori /etc/httpd/modsecurity.d/

tar -xaf v3.3.5.tar.gz -C /etc/httpd/modsecurity.d/

Pindah dan rename crs-setup.conf.example ke dalam folder rules

cd /etc/httpd/modsecurity.d/coreruleset-3.3.5
mv crs-setup.conf.example rules/crs-setup.conf

Edit mod_security.conf lalu tambahkan baris berikut.

/etc/httpd/conf.d/mod_security.conf
<IfModule mod_security2.c>
Include modsecurity.d/coreruleset-3.3.5/crs-setup.conf
IncludeOptional modsecurity.d/owasp-modsecurity-crs/plugins/*-config.conf
IncludeOptional modsecurity.d/owasp-modsecurity-crs/plugins/*-before.conf
Include modsecurity.d/coreruleset-3.3.5/rules/*.conf
IncludeOptional modsecurity.d/owasp-modsecurity-crs/plugins/*-after.conf
</IfModule>

Restart service apache

systemctl restart httpd

Terdapat juga plugin OWASP yang bisa Anda explore pada https://github.com/coreruleset/plugin-registry

Comodo Web Application Firewall
#

Instal ModSecurity untuk Apache

dnf -y install mod_security libmodsecurity

Selanjutnya buat akun Comodo untuk mendapatkan free CWAF https://accounts.comodo.com/cwaf/management/signup

Setelah daftar dan menyelesaikan order CWAF, Anda bisa mendownload rule WAF melalui https://waf.comodo.com/user/cwaf_revisions

Buat folder cwaf_rules-1.240 lalu extract rule WAF ke folder tersebut.

mkdir -p /etc/httpd/modsecurity.d/cwaf_rules-1.240
tar -xaf cwaf_rules-1.240.tgz -C /etc/httpd/modsecurity.d/cwaf_rules-1.240

Edit mod_security.conf lalu tambahkan path folder cwaf_rules-1.240

/etc/httpd/conf.d/mod_security.conf
<IfModule mod_security2.c>
Include modsecurity.d/cwaf_rules-1.240/*.conf
</IfModule>

Restart service apache

systemctl restart httpd

Imunify360 Apache Rule Set
#

Anda dapat memilih rule modsecurity minimal atau full dari imunify360.

Meta imunify360-minimal.

curl -s https://files.imunify360.com/static/modsec/v2/meta_imunify360-minimal-apache.yaml

Meta imunify360-full.

curl -s https://files.imunify360.com/static/modsec/v2/meta_imunify360-full-apache.yaml

Ini juga tersedia pada beberapa webserver seperti litespeed dan nginx.

Selanjutnya download archive rule modsecurity.

wget https://files.imunify360.com/static/modsec/v2/imunify360-modsec3-full-apache.zip

Extract archive ke tujuan /etc/httpd/modsecurity.d

unzip -q imunify360-modsec3-full-apache.zip -d /etc/httpd/modsecurity.d/

Edit mod_security.conf.

<IfModule mod_security2.c>
Include modsecurity.d/imunify360-full-apache/*.conf
</IfModule>

Restart service apache

systemctl restart httpd

Testing
#

Test rule modsecurity dengan cara.

curl -I 'http://www.example.com/?foo=/etc/passwd&bar=/bin/sh'

Jika output HTTP 403 berarti OWASP sudah sudah berjalan dengan baik.

$ curl -I 'http://www.example.com/?foo=/etc/passwd&bar=/bin/sh'
HTTP/1.1 403 Forbidden
Date: Thu, 12 Oct 2023 08:28:43 GMT
Server: Apache
Last-Modified: Wed, 27 Jul 2022 18:04:30 GMT
Accept-Ranges: bytes
Content-Length: 7620
Content-Type: text/html; charset=UTF-8

Test XSS attack.

curl -I 'http://www.example.com/?q="><script>alert(123)</script>'

Related

Menggunakan Apache Sebagai Proxy dan Load Balancer
·1 min
apache apache ubuntu
Install Apache dengan PHP-FPM dan Userdir
·3 mins
apache ubuntu linux php apache
Enable Userdir Module httpd
·2 mins
apache apache
Restoring Real Visitor IPs Cloudflare
·2 mins
cloudflare cpanel apache
Integrasi Apache dengan Passenger
·1 min
passenger python passenger apache
Optimizing Passenger Performance
·2 mins
passenger passenger apache