22 Januari 2015

Tips Security dan Hardening Apache Web Server On CentOS

Sedikit rangkuman tips untuk security dan hardening apache web server di centos hasil mengembara sana-sini. Untuk tahap awal, sediakan linux centos dan install apachenya.

1. Menyembunyikan Versi Apache dan Identitas OS dari Error


Gambar diatas menunjukkan versi apache dengan OS yang digunakan. Untuk menyembunyikan hal tersebut, kita harus merubah beberapa di konfigurasi file utama apache.
Buka configurasi file dengan text editor kesukaan masing-masing
“nano /etc/httpd/conf/httpd.conf”
ServerSignature Off
ServerTokens Prod
service httpd restart 


Terjadi perubahan setelah konfigurasi tadi

2. Mematikan listing direktori



Kita bisa menangkal hal diatas dengan memasukkan index.html/index.php kosong dimasing2 folder, tapi apa ngak PR??? Oke, mungkin kita bisa rubah juga di httpd.conf seperti yang diatas.


Options -Indexes

Jangan lupa direstart lagi service httpd nya.



3. Gunakan Allow dan Deny untuk membatasi akses ke Directory

Ya, ini akan menjadi hal penting, dan ini juga berkaitan dengan chmod chown nya si linux. Sedikit contoh jika ingin membuat virtual host, jangan lupa sertakan ini di konfigurasi virtual host nya, dan bisa juga di edit di httpd.conf nya
Options None Order deny,allow Deny from all
4. Menggunakan mod_security dan mod_evasive Module untuk mengamankan Apache

Dua module ini sangat sering digunakan sebagai penambah di apache untuk mengamankan.

Mod Security
yum install mod_security

Mod Evasive
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar xzf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -cia mod_evasive20.c
Setelah semuanya selesai, restart service apachenya.

5. Melindungi dari serangan DDOS

Kita tahu tidak semudah itu melindungi dari serangan DDOS dan pasti selalu ada saja celahnya, tapi ini sedikit tips yang bisa membantu melindungi kita.
  • TimeOut : Bagian ini, mengatur jumlah waktu yang diberikan server untuk merespon sebelum gagal koneksi, defaultnya 300 detik. Ada baiknya diset dengan nilai rendah.
  • MaxClients : Bagian ini mengatur batas koneksi ke server yang dilakukan secara bersamaan. Setiap koneksi baru, akan dibuat menunggu jika server sudah menerima batas maksimal yang ditentukan. Nilai defaultnya adalah 256.
  • KeepAliveTimeout : Ini jumlah waktu server menunggu permintaan berikutnya sebelum menutup koneksi. Default value is 5 secs.
  • LimitRequestFields : Ini membantu kita untuk menetapkan jumlah "HTTP request’s header" yang akan diterima dari client. Nilai defaultnya adalah 100. Disarankan untuk menurunkan nilai ini jika serangan DDOS yang terjadi sebagai akibat dari begitu banyak "HTTP request’s header".
  • LimitRequestFieldSize : Ini menetapkan ukuran untuk "HTTP Request header".


Sumber:
13 Apache Web Server Security and Hardening Tips 
Protect Apache using Mod_Security and Mod_evasive on RHEL/CentOS & Fedora

Tidak ada komentar: