Apa itu ModSecurity ?, ModSecurity adalah Web Application Firewall
(WAF) yang bekerja untuk Apache, Nginx dan IIS. Dengan manambahkan
WAF pada web server kita, tentu akan meningkatkan keamanan web server
dari serangan cracker yang tidak bertanggung jawab. Di sini saya
menggunakan sitem operasi ubuntu server 14.04 LTS 64 bit dan
menggunakan apache2 untuk web server nya.
Install apache webserver dan paket pendukung :
sudo apt-get install apache2 php5 php5-xmlrpc php5-mysql php5-gd
php5-cli \
php5-curl mysql-client mysql-server
Install dependensi yang dibutuhkan ModSecurity :
sudo apt-get install libxml2 libxml2-dev libxml2-utils \
libaprutil1 libaprutil1-dev
Untuk mengguna 64bit, perlu menambahkan link berikut :
ln -s /usr/lib/x86_64-linux-gnu/libxml2.so /usr/lib/libxml2.so
ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 /usr/lib/libxml2.so.2
ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1
/usr/lib/libxml2.so.2.9.1
Tes webserver dengan php script yang sudah saya buat (tugas kampus
gan hehe), teman" bisa mendownload nya di :
Taruh di /var/www/html/ :
cp rizal.zip /var/www/html
ektrack file zip :
cd /var/www/html/
unzip rizal.zip --> lakukan apt-get install unzip, jika unzip
belum terinstall
mv rizal chat --> rename file
Rubah kepemilikan folder :
chown www-data.www-data chat/*
Siapkan database :
mysql -u root -proot mysql < chat/DATABASE/SQL_SCRIPT.sql
Tampilan webserver apache2 :
Tampilan Login form :
Tampilan login menggunakan user 'rizal' :
Login dengan sql-injection : ' or true --
Install ModSecurity :
apt-get install libapache2-modsecurity
Periksa modul ModSecurity :
apachectl -M | grep --color security
Rename modsecurity.conf :
mv /etc/modsecurity/modsecurity.conf{-recommended,}
restart apache2 :
/etc/init.d/apache2 restart
cek direktorik log apache :
ls -l /var/log/apache2/modsec_audit.log
konfigurasi modsecurity.conf :
vim /etc/modsecurity/modsecurity.conf
temukan SecRuleEngine DetectionOnly menjadi SecRuleEngine On.
Pada SecRuleEngine DetectionOnly ModSecurity hanya mencatat
permintaan yang sesuai dengan aturan yang cocok tapi tidak memblokir
apa-apa.
Hapus folder /usr/share/modsecurity-crs/ : rm -rf /usr/share/modesecurity-src/
Install OWASP Rule terbaru :
cd /tmp
tar zxvf modsecurity-crs_2.2.5.tar.gz -C /usr/share/modsecurity-crs/
cd /usr/share/modsecurity-crs/
cd /usr/share/modsecurity-crs/
mv modsecurity-crs_2.2.5 modsecurity-crs
Membuat symlinks di dalam directory activated_rules untuk
mengaktifkan aturan :
cd /usr/share/modsecurity-crs/activated_rules/
ln -s /usr/share/modsecurity-crs/base_rules/* . --> mengaktifkan
semua aturan di base_rules
Load aturan yang berada di activated_rules :
vim /etc/apache2/mods-enabled/security2.conf
Tambahkan aturan berikut di dalam <IfModule security2_module>
</IfModule> :
Include "/usr/share/modsecurity-crs/*.conf"
Include "/usr/share/modsecurity-crs/activated_rules/*.conf"
Restart apache2 :
/etc/init.d/apache2 restart
Tes web server : http://192.168.56.1/chat
:
Tampilan di atas terjadi karena ada rules/aturan ModSecurity yang
aktif, lihat di log :
more /var/log/apache2/modsec_audit.log
hasil :
--c71a265e-H--
Message: Access denied with code 403 (phase 2). Pattern match
"^[\\d.:]+$" at REQUEST_HEADERS:Host. [file
"/usr/share/modsecurity-crs/activated_rules/m
odsecurity_crs_21_protocol_anomalies.conf"] [line "98"]
[id "960017"] [rev "2.2.5"] [msg "Host
header is a numeric IP address"] [severity "CRITICAL"]
[
tag "PROTOCOL_VIOLATION/IP_HOST"] [tag "WASCTC/WASC-21"]
[tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [tag
"http://technet.microsoft.com/en-us/magazine/2
005.01.hackerbasher.aspx"]
Action: Intercepted (phase 2)
Apache-Handler: application/x-httpd-php
Stopwatch: 1433394271606134 4710 (- - -)
Stopwatch2: 1433394271606134 4710; combined=1353, p1=812, p2=389,
p3=0, p4=0, p5=151, sr=120, sw=1, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.7.7 (http://www.modsecurity.org/);
OWASP_CRS/2.2.5.
Server: Apache/2.4.7 (Ubuntu)
Engine-Mode: "ENABLED"
usr/share/modsecurity-crs/activated_rules/modsecurity_crs_21_protocol_anomalies.conf --> adalah rules yang
sedang aktif karena kita langsung mengakses host header dengan IP
address
Hapus rules :
rm
usr/share/modsecurity-crs/activated_rules/modsecurity_crs_21_protocol_anomalies.conf
Restart apache :
/etc/init.d/apache2 restart
Tes webserver :
ModSecurity log : vim /var/log/apache2/modsec_audit.log
Selesai, mohon maaf jika ada kekurangan pada tutorial kali ini ...
referensi :
http://www.root25.com/2012/11/how-to-install-modsecurity-on-apache-ubuntu12-stepbystep-tutorial.html
http://cyberlearning.web.id/wiki/index.php/ModSecurity:_Instalasi
No comments:
Post a Comment
dilarang berkomentar menggunakan kata-kata yang tidak pantas... !!!