Joomla Indonesia

Login or Sign Up
Sign In or Register
Avatar
Not Registered Yet?

Join Now! It's FREE. Get full access and benefit from this site

Reset My password - Remind Me My username

Username
Password
Remember me
  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Cara Mengamankan Joomla 2.5 Pada Server Hosting

Posted by on in Security
  • Font size: Larger Smaller
  • Hits: 8063
  • 19 Comments
  • Subscribe to this entry
  • Print

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(jos_FILEjos_));

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

 

 

 

0
Hi my name is Mico Kelana. Joomla web Developer from South Tangerang. Please visit my Joomla Web Solution to get services from me.
Load Previous Comments
  • sudah di coba tadi mas. file configurasi.php di turunkan 1 tingkat ke public_html. tapi result nya masih tetap sama ?!
    apa mungkin perlu merubah isi script nya yahh... ?!?
    gak paham coding saya mas :)

    0 Like Short URL:
  • coba perhatikan lagi pada file defines.phpnya, sambil sedikit merujuk ke sumber aseli yang saya kutip. saya berhasil mempraktekkan trik di atas utk 2 web saya kelanasolution.com dan klinikestetika.com.

    0 Like Short URL:
  • addons domain juga kah ?!?

    0 Like Short URL:
  • gak faham saya pakek bahasa inggris. mengganti chmod itu sangat di perlukan kah ??

    0 Like Short URL:
  • Up

    0 Like Short URL:
  • chmod diperlukan jika folder/file permission belum mengikuti standar server linux. Untuk server linux yang perlu diperhatikan untuk file permission adalah 644 dan folder permission 755.
    Oh iya, saya tidak menggunakan addons domain pada kedua domain di atas. Alangkah baiknya mas sebelum coba pada addons domain uji coba dulu pada domain utama. Kalau sudah berhasil baru deh ujicoba untuk addon domainnya. ;)

    0 Like Short URL:
  • maunya sih gitu mas. tapi karena domain utama sudah tidak bisa diakses, sedangkan masa hosting masih lama. jadi saya taro di addon. saya hubungi si admin hosting suruh ganti domain utama nya, tapi dia nyaranin pakek addons aja mas.

    0 Like Short URL:
  • Sangat bermanfaat, terima kasih tutorialnya pak micokelana.

    0 Like Short URL:
  • Mas, Apakah Metode Ini Betul2 Tidak Bisa Diaplikasikan Pada Joomla 1.5 ? :)
    Trims Sebelumnya Mas Karena Sudah Berbagi

    0 Like Short URL:
  • karena saya sudah gak pake Joomla 2.5 jadi belum coba, kalau mau coba yah resiko tanggung sendiri yah....:p

    0 Like Short URL:

Kategori Blog

Joomla User Group Indonesia

Joomla User Group indonesia

Id-joomla.com adalah situs resmi Joomla User Group (JUG) Indonesia dan Joomla Translation Team

 
Download Terjemahan Joomla terakreditasi dari JoomlaCode dan laporkan bugs, ide dan saran nya di Sub Forum Hanacaraka

Socials

twitter id joomlafb idjoomla