WHAT'S NEW?
Loading...

Meningkatkan Keamanan Apache Web Server Ubuntu

Meningkatkan Keamanan Apache Web Server Ubuntu

Apache adalah salah satu web server populer dan paling banyak digunakan didunia, dan mencakup hampir 40% server didunia. Jika anda adalah seorang webmaster atau administrator yang menggunakan apache server, penting untuk anda tahu bagaimana mengamankan Apache dan mencegah dari tindakan peretasan. Pada artikel ini saya akan mendeskripsikan beberapa tips dan triks sederhana yang dapat anda gunakan untuk mengamankan apache server anda.

Note: saya menggunakan ubuntu 14.04 LTS

Install dan update apache

Pertama, anda perlu untuk mengupdate dan meninstall apache ke dalam komputer anda. Untuk melakukan hal ini dapat mengikuti perintah berikut:
$ sudo apt-get update
$ sudo apt-get install apache2
Jika berhasil terinstall maka saat anda mengakses localhost ataupun alamat IP melalui browser akan tampak halaman Apache seperti yang tampak dibawah ini.
Meningkatkan Keamanan Apache Web Server Ubuntu

Hide apache version

Secara default, apache menampilkan versi dari apache server yang terinstall pada komputer dengan nama dari sistem operasi server yang anda gunakan. 
Meningkatkan Keamanan Apache Web Server Ubuntu
Pada gambar diatas anda dapat melihat versi apache dan sistem operasi yang terinstall pada komputer server anda. Ini bisa menjadi masalah keamanan utama untuk web server anda. Untuk menyembunyikan informasi ini, anda perlu mengedit file konfigurasi utama Apache (“/etc/apache2/conf-enabled/security.conf”).
$ sudo nano /etc/apache2/conf-enabled/security.conf
ServerSignature Off
ServerTokens Prod
$ sudo service apache2 restart
Berikut hasil yang didapatkan, tampak berbeda dari gambar sebelumnya.
Meningkatkan Keamanan Apache Web Server Ubuntu

Menonaktifkan akses direktori dan symbolic links

Daftar direktori telah aktif dalam Apache server secara default. Daftar direktori menampilkan seluruh direktori dengan filenya yang ada di apache server. Jika ini diaktifkan, seorang attacker dapat dengan mudah melihat macam-macam file, menganalisanya dan mencuri informasi sensitif dari aplikasi yang digunakan. Anda dapat melihat contoh daftar direktori yang tertampil pada gambar dibawah.
Meningkatkan Keamanan Apache Web Server Ubuntu
Anda dapat menonaktifkannya dengan mengedit file konfigurasi apache.
$ sudo nano /etc/apache2/apache2.conf Options -FollowSymLinks AllowOverride None Require all granted
Note: kode diatas mengasumsikan kalau halaman web anda berasal dari folder "/var/www/html". jika anda telah mengubah lokasi sesuai yang anda tentukan, ubah path direktori dalam kode diatas.

Baris Options -FollowSymLinks juga menonaktifkan symbolic links. Jika anda ingin untuk tetap mengaktifkan symbolic links, hapus tanda "-" didepan FollowSymLinks, sehingga menjadi Options FollowSymLinks.

Simpan dan restart apache server. Setelah itu coba kembali mengakses web server melalui browser, anda akan mendapatkan error seperti gambar dibawah.
Meningkatkan Keamanan Apache Web Server Ubuntu

Menonaktifkan modul yang tidak diperlukan

Apache terinstall dengan beberapa modul aktif yang tidak diperlukan untuk penggunaan normal. Sangat direkomendasikan untuk menonaktifkan modul-modul yang tidak perlukan itu. Anda dapat melihat daftar modul aktif yang digunakan pada server anda dengan perintah berikut:
$ sudo ls /etc/apache2/mods-enabled/
Meningkatkan Keamanan Apache Web Server Ubuntu
Untuk dapat menonaktifkan modul-modul tersebut menggunakan perintah berikut, contohnya:
$ sudo a2dismod autoindex status$ sudo /etc/init.d/apach2 restart

Memanfaatkan ModSecurity

Mod security adalah modul apache gratis yang digunakan untuk melindungi web server anda dari berbagai macam serangan seperti SQL injection, cross site scripting, session hijacking, brute force dan jenis exploit lainnya. Dengan ini anda juga dapat memonitor trafik dengan basis real-time.

Anda dapat menginstall mod security dengan perintah berikut:
$ sudo apt-get install libapache2-modsecurity
Untuk mengecek apakah mod_security modul sudah berjalan, gunakan perintah berikut:
$ sudo apachectl -M | grep --color security
Gambar yang tertampil dibawah mengindikasikan kalau modul sudah dimuat dalam apache.
Meningkatkan Keamanan Apache Web Server Ubuntu

Untuk mengaktifkan mod_security rules, anda perlu untuk mengubah nama dan mengedit file mod security yang direkomendasikan dan menyetel opsi SecRuleEngine menjadi On. Lakukan dengan perintah berikut.
$ sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
$ sudo nano /etc/modsecurity/modsecurity.conf
SecRuleEngine On
Simpan dan restart untuk melihat hasilnya.

Ada banyak security rules yang dimiliki ModSecurity (dikenal dengan Core Rule Set) yang berada pada direktori "/usr/share/modesecurity-crs". Sekarang anda perlu untuk mengaktifkan rule-rule ini untuk dapat bekerja dengan apache. Lakukan dengan perintah berikut.
$ sudo nano /etc/apache2/mods-enabled/security2.conf
IncludeOptional /etc/modsecurity/*.conf
IncludeOptional "/usr/share/modsecurity-crs/*.conf"
IncludeOptional "/usr/share/modsecurity-crs/base_rules/*.conf
Simpan dan restart apache. 

Menonaktifkan server side includes dan CGI execution

Disarankan untuk menonaktifkan server side includes dan CGI execution jika tidak diperlukan. Untuk melakukan hal ini anda perlu mengedit file konfigfurasi utama apache
$ sudo nano /etc/apache2/apache2.conf Options -FollowSymLinks -Includes -ExecCGI AllowOverride None Require all granted
Anda juga dapat melakukan hal ini untuk direktori tertentu, misalnya untuk menonaktifkan server side includes dan cgi file execution untuk direktori "/var/www/html/webdir1".
Options -Includes -ExecCGI
Simpan dan restart apache.


Membatasi besaran request

Apache tidak memiliki batasan size dari HTTP request secara defaultnya. Ini akan membebaskan seorang attacker mengirim jumlah data yang besar. Apache memiliki beberapa intruksi yang memperbolehkan anda untuk mengatur request size. Ini akan dapan melindungi web server anda dari serangan DDoS.

Anda dapat memasang nilai dari 0 (unlimited) hingga 2147483647 (2GB) dalam konfigurasi utama apache. Misalnya membatasi request size untuk direktori "/var/www/html/webdir1" menjadi 200K.
$ sudo nano /etc/apache2/apache2.conf
LimitRequestBody 204800

Simpan dan restart apache.

Menolak akses diluar document root

Direkomendasikan untuk apache dapat diakses hanya dari direktori document root. Anda bisa mengamankan direktori root (/) dengan pengaturan berikut.
$ sudo nano /etc/apache2/apache2.conf Options None Order deny,allow Deny from all
Keterangan:
- Options None: Ini akan menonaktifkan semua opsi
- Order deny, allow: Urutan di mana membolehkan dan menolak perintah diterapkan.
- Deny from all: ini akan menolak sebuah request dari semua ke direktori root

Simpan dan restart apache.

Beberapa langkah diatas adalah merupakan konfigurasi yang sangat sederhana dalam penggunakan Apache Web Server. Masih banyak macam konfigurasi yang bisa digunakan tentunya sesuai dengan kebutuhan yang diinginkan. Selamat mencoba.

0 comments:

Post a Comment