//
you're reading...
Joomla

Cara Mengamankan Joomla 2.5 Pada Server Hosting


Beberapa hari lalu salah satu website klien yang saya kelola berhasil disusupi oleh peretas yang dalam aksinya memberikan peringatan kepada saya melalui email dalam bahasa inggris untuk segera memperbaiki lubang keamanan pada website tersebut.

Aksi peretas tersebut berhasil membuat satu akun pengguna database mysql atas nama yang bersangkutan dan berhasil merubah file configuration.php pada baris nama database dan password database.

Karena belum cukup memiliki pengalaman dalam hal keamanan tingkat tinggi, akhirnya saya mencoba melakukan pencarian dan alhasil menemukan satu tautan yang mungkin saja dapat kita jadikan langkah awal untuk mengamankan website Joomla kita.

 

Berikut beberapa tips yang saya coba terjemah ke bahasa indonesia dan sudah saya terapkan di beberapa website klien yang saya kelola.

 

1. Merubah lokasi file configuration.php

Sebagaimana kita ketahui file configuration.php merupakan jantung Joomla CMS, sejak versi 1.0 hingga 2.5 file tersebut sangat mudah diketahui oleh siapa saja dengan mudah, memang file php tersebut sudah menggunakan baris kode untuk menolak akses langsung ke file tersebut, akan tetapi hal tersebut masih belum cukup. Langkah terbaik adalah kita memindahkan file configuration.php tersebut ke lokasi lain yang tidak dapat diakses oleh siapapun.

Mulai dari Joomla versi 1.6 kita sudah dapat merubah lokasi file configuration.php ke lokasi lain yang kita inginkan, berikut langkahnya. (Sebagai catatan, saya menggunakan Joomla 2.5.6 dan Hosting Live)

a. Saya memindahkan file configuration.php ke susunan directory paling atas pada hosting yang saya gunakan. Untuk mempermudah anda memahaminya, biasanya jika website joomla berada pada folder public_html maka file configuration.php juga akan berada pada folder tersebut.

Saya mengeluarkan file configuration.php dari folder public_html ke folder / pada hosting server tempat saya menyimpan website joomla saya.

b. Copy file defines.php dari folder  public_html/includes/defines.php ke folder root public_html

c. Copy file defines.php dari folder public_html/administrator/includes/defines.php ke folder public_html/administrator/

c. Rubah ke-2 file defines.php tersebut dengan menyisipkan kode berikut :

define(‘_JDEFINES’, 1);
define(‘JPATH_BASE’, dirname(__FILE__));

di bawah baris kode berikut : defined(‘_JEXEC’) or die;

d. Kemudian rubah kode berikut pada ke-2 file defines.php

 

//define(‘JPATH_CONFIGURATION’, JPATH_ROOT); <<– Ini adalah baris kode sebelumnya

define(‘JPATH_CONFIGURATION’,   JPATH_ROOT .DS.’..’); // <<– dan ini adalah baris kode baru yang menandakan alamat baru file configuration.php

 

2. Menambahkan baris kode pada file .htaccess

Penggunaan mod_rewrite juga merupakan hal yang penting untuk mengamankan website joomla anda, jika server hosting yang anda gunakan belum mendukung mod_rewrite atau untuk cara mengaktifkannya dari sisi server hosting alangkah baiknya anda menghubungi bagian pendukung server hosting yang anda gunakan.

Jika anda belum memiliki file .htaccess pada folder utama website joomla anda, maka langkah yang perlu anda lakukan adalah merubah file htaccess.txt menjadi .htaccess

kemudian tambahkan kode berikut pada bagian paling bawah :

#### @RS
# Prevent most common SQL-Injections
RewriteCond %{query_string} concat.*\( [NC,OR]
RewriteCond %{query_string} union.*select.*\( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC]
RewriteRule ^(.*)$ index.php [F,L]
#### @RS

#### @RS
# Block most common hacking tools
SetEnvIf user-agent “Indy Library” stayout=1
SetEnvIf user-agent “libwww-perl” stayout=1
SetEnvIf user-agent “Wget” stayout=1
deny from env=stayout
#### @RS

 

 

 

#### @RS

# Deny access to php, xml and ini files

# within components and plugins directories

RewriteCond %{REQUEST_FILENAME} -f

RewriteCond %{REQUEST_URI} \.php|\.ini|\.xml [NC]

#RewriteCond %{REQUEST_URI} \/components\/ [OR]

RewriteCond %{REQUEST_URI} ^\/includes\/|^\/administrator\/includes\/ [OR]

RewriteCond %{REQUEST_URI} \/language\/ [OR]

RewriteCond %{REQUEST_URI} \/libraries\/ [OR]

#RewriteCond %{REQUEST_URI} \/modules\/ [OR]

RewriteCond %{REQUEST_URI} \/plugins\/ [OR]

#RewriteCond %{REQUEST_URI} \/templates\/ [OR]

RewriteCond %{REQUEST_URI} \/xmlrpc\/

RewriteRule ^(.*)$ index.php [R=404,L]

#### @RS

 

Semoga dengan tips di atas website Joomla anda akan bertambah aman, dan jika anda belum yakin mungkin anda perlu menggunakan jasa konsultasi keamanan untuk server yang anda gunakan. 🙂

 

Sumber referensi :

http://magazine.joomla.org/issues/Issue-Aug-2012/item/820-simple-security-guide-part-2

 

Advertisements

About Made Sumitre

Saya hanya menulis dan membagikan apa yang sudah pernah saya baca.

Discussion

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

header

Timnas Indonesia Tim Sepakbola Nasional Indonesia mengenakan kostum baru yang diluncurkan di Stadion Utama Gelora Bung Karno, Senayan Jakarta.... Baca selengkapnya »

Anak Indonesia jadi siswa terbaik sekolah MU Anak Indonesia dari pasangan perkawinan campur, Jack Brown (11),.... Baca selengkapnya »

Timnas AFF Kuartet pemain Indonesia yang bermain di klub CS Vise di Divisi II Liga Belgia, yakni Syamsir Alam.... Baca selengkapnya »

TImnas IndonesiaPelatih Timnas PSSI, Nil Maizar, mengaku telah menemukan bentuk permainan timnas… Baca selengkapnya »

Blog Stats

  • 354,897 hits
%d bloggers like this: