Difference between revisions of "ModSecurity: Instalasi ModSecurity dan ModEvasive"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 61: | Line 61: | ||
==Download dan Install OWASP Core Rule Set yang terakhir== | ==Download dan Install OWASP Core Rule Set yang terakhir== | ||
− | + | * Kita perlu men-download dan meng-instalasi OWASP ModSecurity Core Rule Set terbaru dari web https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master | |
− | + | * Kita perlu mengaktifkan file konfigurasi CRS default | |
− | + | ||
− | + | modsecurity_crs_10_setup.conf.example | |
+ | |||
+ | * Buka terminal dan lakukan: | ||
cd /tmp | cd /tmp | ||
Line 70: | Line 72: | ||
sudo tar -zxvf SpiderLabs-owasp-modsecurity-crs.tar.gz | sudo tar -zxvf SpiderLabs-owasp-modsecurity-crs.tar.gz | ||
sudo cp -R SpiderLabs-owasp-modsecurity-crs-*/* /etc/modsecurity/ | sudo cp -R SpiderLabs-owasp-modsecurity-crs-*/* /etc/modsecurity/ | ||
− | |||
sudo rm SpiderLabs-owasp-modsecurity-crs.tar.gz | sudo rm SpiderLabs-owasp-modsecurity-crs.tar.gz | ||
sudo rm -R SpiderLabs-owasp-modsecurity-crs-* | sudo rm -R SpiderLabs-owasp-modsecurity-crs-* | ||
sudo mv /etc/modsecurity/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf | sudo mv /etc/modsecurity/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf | ||
− | + | * Kita perlu membuat link simbolik untuk mengaktifkan semua base rule. Buka terminal dan lakukan: | |
cd /etc/modsecurity/base_rules | cd /etc/modsecurity/base_rules | ||
Line 82: | Line 83: | ||
for f in * ; do sudo ln -s /etc/modsecurity/optional_rules/$f /etc/modsecurity/activated_rules/$f ; done | for f in * ; do sudo ln -s /etc/modsecurity/optional_rules/$f /etc/modsecurity/activated_rules/$f ; done | ||
− | + | * Tambahkan rule ke Apache2. Buka terminal dan lakukan: | |
sudo vi /etc/apache2/mods-available/mod-security.conf | sudo vi /etc/apache2/mods-available/mod-security.conf | ||
− | + | tambahkan di akhir file | |
Include "/etc/modsecurity/activated_rules/*.conf" | Include "/etc/modsecurity/activated_rules/*.conf" | ||
− | + | * Cek apakah ModSecurity sudah enabled. Sebelum me-restart Apache2 cek apakah modules sudah diload dengan baik. Buka terminal dan lakukan: | |
− | |||
− | |||
− | |||
sudo a2enmod headers | sudo a2enmod headers |
Revision as of 13:37, 30 March 2015
- Instalasi dan konfigurasi modul ModSecurity dan mod_evasive Apache2 di Ubuntu server.
- Semua menjadi jauh lebih mudah daripada sebelumnya dalam menginstal kedua modul keamanan yang sangat baik ini untuk Apache2 di Ubuntu LTS, karena kedua modul tersedia dalam dalam repositori standar Ubuntu.
- Ini hanya titik awal untuk mendapatkan mod_security dan mod_evasive agar bekerja. Silahkan mengacu pada dokumentasi kedua proyek untuk berbagai opsi konfigurasi yang tersedia dan mengkonfigurasi pengaturan keamanan anda sesuai kebutuhan.
Kebutuhan
- Instalasi Ubuntu LTS server, or yang terbaru di mesin anda.
- Instalasi Apache2 webserver, di setup dan di konfigurasi:
sudo apt-get install apache2 php5 php5-xmlrpc php5-mysql php5-gd php5-cli \ php5-curl mysql-client mysql-server
- Instalasi dependensi yang dibutuhkan untuk 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
Instalasi & Konfigurasi ModSecurity
Instalasi
sudo apt-get install libapache2-mod-security2
Konfigurasi rules / aturan di ModSecurity
- Aktifkan aturan / rules default agar bisa beroperasi. Konfigurasi apa yang kita butuhkan.
- Copy konfigurasi rekomended
sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
- Folder default rules ModSecurity adalah /etc/modsecurity/ . Semua file .conf yang perlu dikonfigurasi terdapat disitu.
- Kita perlu mengaktifkan semua rule dasar dan meyakinkan bahwa ModSecurity dapat di load.
- Kita perlu mengedit opsi SecRequestBodyLimit di file modsecurity.conf
- SecRequestBodyLimit membatasi ukuran page yang di minta dan membatasi upload file menjadi default 128 KB. Ubah ini sesuai dengan kebutuhan / ijin yang kita berikan untuk meng-upload file ke server.
- Konfigurasi ini sangat penting karena akan membatasi besarnya file yang dapat di upload ke server. Untuk situs CMS yang menggunakan Drupal atau Wordpress konfigurasi ini yang akan menjadi sumber pening di kepala.
- Buka terminal dan edit:
sudo vi /etc/modsecurity/modsecurity.conf
- Aktifkan aturan / rule dengan mengedit SecRuleEngine dari DetectionOnly menjadi On.
SecRuleEngine On
- Edit opsi berikut untuk menaikan request limit ke 16Mbyte dan save file:
SecRequestBodyLimit 16384000 SecRequestBodyInMemoryLimit 16384000
atau biarkan sesuai dengan default
SecRequestBodyLimit 13107200 SecRequestBodyNoFilesLimit 131072
Download dan Install OWASP Core Rule Set yang terakhir
- Kita perlu men-download dan meng-instalasi OWASP ModSecurity Core Rule Set terbaru dari web https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master
- Kita perlu mengaktifkan file konfigurasi CRS default
modsecurity_crs_10_setup.conf.example
- Buka terminal dan lakukan:
cd /tmp sudo wget -O SpiderLabs-owasp-modsecurity-crs.tar.gz https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master sudo tar -zxvf SpiderLabs-owasp-modsecurity-crs.tar.gz sudo cp -R SpiderLabs-owasp-modsecurity-crs-*/* /etc/modsecurity/ sudo rm SpiderLabs-owasp-modsecurity-crs.tar.gz sudo rm -R SpiderLabs-owasp-modsecurity-crs-* sudo mv /etc/modsecurity/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf
- Kita perlu membuat link simbolik untuk mengaktifkan semua base rule. Buka terminal dan lakukan:
cd /etc/modsecurity/base_rules for f in * ; do sudo ln -s /etc/modsecurity/base_rules/$f /etc/modsecurity/activated_rules/$f ; done cd /etc/modsecurity/optional_rules for f in * ; do sudo ln -s /etc/modsecurity/optional_rules/$f /etc/modsecurity/activated_rules/$f ; done
- Tambahkan rule ke Apache2. Buka terminal dan lakukan:
sudo vi /etc/apache2/mods-available/mod-security.conf
tambahkan di akhir file
Include "/etc/modsecurity/activated_rules/*.conf"
- Cek apakah ModSecurity sudah enabled. Sebelum me-restart Apache2 cek apakah modules sudah diload dengan baik. Buka terminal dan lakukan:
sudo a2enmod headers sudo a2enmod mod-security
Restart Apache2 webserver
sudo /etc/init.d apache2 restart
atau
service apache2 restart
5. Install ModEvasive.
Open the Terminal Window and enter :
sudo apt-get install libapache2-mod-evasive
6. Create log file directory for mod_evasive.
Open the Terminal Window and enter :
sudo mkdir /var/log/mod_evasive
Change the log folder permissions :
sudo chown www-data:www-data /var/log/mod_evasive/
7. Create mod-evasive.conf file and configure ModEvasive.
Open the Terminal Window and enter :
sudo vi /etc/apache2/mods-available/mod-evasive.conf
and add the following, changing the email value, and other options below as required :
<ifmodule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSLogDir /var/log/mod_evasive DOSEmailNotify EMAIL@DOMAIN.com DOSWhitelist 127.0.0.1 </ifmodule>
8. Fix mod-evasive email bug
Because of this bug mod-evasive does not send emails on Ubuntu 12.04. A temporary workaround is to create symlink to the mail program. Open the Terminal Window and enter :
sudo ln -s /etc/alternatives/mail /bin/mail/
9. Check if ModEvasive is enabled and restart Apache.
Before restarting Apache2 check if the module has been loaded. Open the Terminal Window and enter :
sudo a2enmod mod-evasive
Restart Apache2 webserver
sudo /etc/init.d/apache2 restart
atau
service apache2 restart