1. Menggunakan
Komputer Linux versi apa saja, di sini bisa digunakan BackTrack 5 R3. mod_security
merupakan Web Application Firewall. Yang memproteksi Web server dari SQL injection dan banyak serangan
lainnya..
Menjalankan
Apache
2. Pada #
prompt,
masukkan perintah berikut diakhiri dengan Enter key:
/etc/init.d/apache2
restart
netstat
-an | grep tcp
Akan terlihat local address
0.0.0.0:80 dalam State LISTEN, seperi berikut:
Menginstal
mod_security
3. Ping ubuntu.com
dan pastikan mendapat replies. Jika tidak ada, perbaiki dulu jaringan
sebelum melanjutkan proses
berikutnya.
Pada jendela Terminal, jal;ankan
perintah berikut:
apt-get
install libapache-mod-security
Membuat File
Konfigurasi modsecurity
4. Pada jendela
Terminal, jalankan perintah berikut:
nano
/etc/apache2/conf.d/modsecurity2.conf
Pada editor nano, masukkan tiga
baris berikut:
<ifmodule
mod_security2.c>
Include
modsecurity-rules/*.conf
</ifmodule>
Simpan file Ctrl+X, Y,
Enter.
Konfigurasi ini memungkinkan
modsecurity untuk menggunakan semua rules untuk mecari
direktori modsecurity-rules.
Penambahan Rules
5. Modsecurity
tidak akan berjalan tanpa rules, yang menggambarkan perintah untuk memblock.
Kita menggunakan basic rule set
yang menghentikan serangan.
Pada jendela Terminal, jalankan
perintah berikut:
cd
/tmp
wget
http://downloads.sourceforge.net/project/modsecurity/
modsecurity-apache/2.5.12/modsecurityapache_
2.5.12.tar.gz
tar
-xzf modsecurity-apache_2.5.12.tar.gz
cd
modsecurity-apache_2.5.12
mkdir
/etc/apache2/modsecurity-rules
cp
rules/*.conf /etc/apache2/modsecurity-rules/
cp
rules/base_rules/* /etc/apache2/modsecurity-rules/
Merestart Apache
6. Pada jendela
Terminal, jalankan perintah berikut:
/etc/init.d/apache2
restart
Testing
modsecurity
7. Untuk menguji
modsecurity, kita gunakan curl untuk mengirim HTTP requests ke Apache
server. Salah satu modsecurity
default rules adalah mereject requests untuk User Agent
"Nessus"—Rule ini
dimaksudkan untuk menangkal informasi ke penyerang yang
menggunakan scanners otomatis.
Pada jendela Terminal, jalankan
perintah berikut:
curl
-i http://localhost/
Requests untuk halaman Web default,
yang akan loading secara normal, dengan status
HTTP/1.1 200 OK, seperti
terlihat di bawah ini.
8. Pada jendela
Terminal, jalankan perintah berikut:
curl
-i http://localhost/ -A Nessus
Akan terlihat respon 403
Forbidden, seperti terlihat di bawah ini. Modsecurity telah memblok
request, karena User Agent
mengidentifikasinya sebagai Nessus scan.
9. Pastikan
terlihat pesan 403 Forbidden, seperti terlihat di gambar atas.
Memeriksa Rules
10. Untuk memeriksa
rules modsecurity yang digunakan, pada jendela Terminal, jalankan perintah
berikut:
cd
/etc/apache2/modsecurity-rules
ls
Catatan perintah kedua LS huruf
kecil, bukan 1s.
Akan terlihat beberapa rules,
memblocking XSS, SQL Injection, dan banyak serangan lain,
seperti terlihat di bawah ini:
11. Pada jendela
Terminal, jalankan perintah berikut:
cat
modsecurity_35_scanners.data
File tersebut berisi daftar
scanners yang bisa diblok. Nessus terdapat di dalamnya, seperti
berikut:
Memeriksa Akses
Log
12. Untuk melihat
log, pada jendela Terminal, jalankan perintah berikut:
cd
/var/log/apache2
tail
access.log
Akan terlihat entry yang
berakhiran dengan "Nessus", seperti terlihat di bawah ini:
Konfigurasi
Logging Lebih Detail
13. Pada jendela
Terminal, jalankan perintah berikut:
mkdir
/etc/apache2/logs
nano
/etc/apache2/conf.d/modsecurity2.conf
Pada nano, tambahkan dua baris
berikut sebelum baris </ifmodule>:
SecAuditEngine
On
SecAuditLog
logs/audit_log
File terlihat seperti gambar
berikut:
Restart Apache
14. Pada #
prompt,
masukkan perintah berikut diakhiri dengan Enter key:
/etc/init.d/apache2
restart
Testing
modsecurity
15. Pada jendela
Terminal, jalankan perintah:
curl
-i http://localhost/ -A Nessus
Akan terlihat respon 403
Forbidden, seperti sebelumnya.
Memeriksa Audit
Log
16. Pada jendela
Terminal, jalankan perintah berikut:
cd
/etc/apache2/logs
tail
audit_log
Akan terlihat baris berikut:
"Message: matched phrase "nessus" at REQUEST
HEADERS"
seperti terlihat di bawah ini:
SELESAI.. ^_^
EmoticonEmoticon