Anda di halaman 1dari 5

Keselamatan laman web memang sepatutnya diberi penekanan oleh pentadbir web, terutama sekali oleh Webmaster laman

web tersebut. Di Malaysia, AMnya banyak laman web kerajaan dan persendirian termasuk web swasta yang menggunakan Joomla!. Dan oleh kerana Joomla! ini terkenal, maka ramai hacker atau script kiddies cuba mengatasi keselamatan web berasaskan Joomla! untuk memperkenalkan diri mereka.

Kerja mempertahankan website dari pencerobohan bukan lah satu tanggungjawab mudah, ia memerlukan kita supaya sentiasa bersiap sedia. Kerana proses menggodam ini adalah proses berterusan. Tiada siapa yang kebal. Kemungkinan diGodam adalah tinggi sekiranya laman web anda menjadi tumpuan ramai. Berikut ialah tips yang dikumpul oleh saya dan Mohd Syafiq Farhan dari laman web JoomlaMy.org 1. Sentiasa mengikuti perkembangan terbaru versi Joomla! terkini dan segera mengemaskininya. 2. Rujuk Panduan Semakan Keselamatan Pentadbir Joomla! (Joomla Administrator's Security Checklist) yang dikeluarkan oleh pihak Joomla! dan turuti garis panduan tersebut seadanya. 3. Memasang jSecure Authentication plugin - Setiap laman web Joomla! mempunyai pautan laman khas pentadbir yang sama iaitu http://www.websitesaya.com.my/administrator. Bagi mempertingkatkan tahap keselamatan, gunakan plugin tersebut dimana ianya akan menambah akhiran (suffix) dibelakang pautan tersebut yang bertindak sebagai kata laluan, seperti contoh ini http://www.websitesaya.com.my/administr ... rds@y@6090. Jika kata laluan yang salah dimasukkan, ianya akan membawa pengunjung tersebut ke halaman 404 (halaman yang tidak tersedia). Sentiasa ubah kata laluan tersebut sekerap yang mungkin dalam jangka masa yang difikirkan perlu. 4. Mengubah pengguna pentadbir (admin user) - ID bagi admin telah ditetapkan sebagai 62 pada asalnya. Ini mungkin memberi satu bentuk ruang dan peluang bagi penceroboh (hacker) untuk menggunakannya. Jadi apa yang perlu anda lakukan bagi mengubah ID tersebut adalah: - Sila buat pengguna baru dengan akses sebagai super-administrator dengan nama pengguna (user name) dan kata laluan yang lain. Kata laluan yang dibina mestilah kukuh! (mengandungi pelbagai angsara, nombor dan simbol). - Log keluar (log out) dari panel pentadbir dan log masuk (log in) menggunakan nama pengguna dan kata laluan yang dibina tadi. - Ubah akses admin user yang asal (ID=62) kepada akses manager dan simpan (save); anda sedia maklum bahawa pengguna dengan akses super-administrator tidak boleh dipadam oleh pengguna lain. - Sekarang, padam (delete) admin user yang asal (ID=62). 5. Gunakan kata laluan yang unik dan kukuh! - Anda mesti tahu yang kata laluan akan

diubah kepada bentuk hash, dan jika kata laluan yang mudah digunakan seperti admin atau 12345 atau admin123 (biasa digunakan oleh admin yang malas fikir pasal kata laluan, hentam kromo aja!! ishx3), ianya mudah dikesan dengan menggunakan password cracker. Contoh: Password: admin Hash: 21232f297a57a5a743894a0e4a801fc3 Password: admin123 Hash: 0192023a7bbd73250516f069df18b500 Password: 123456 Hash: e10adc3949ba59abbe56e057f20f883e Cuba sendiri crack hash tersebut menggunakan online Password Cracking yang biasa diguna oleh hackers ni. Bagi tidak memeningkan kepala untuk mereka yang sukar memilih kata laluan yang kukuh dan unik, gunakan saja online Password Generator ni. 6. Ubah nama pengguna dan kata laluan sekurang-kurangnya 2 bulan sekali. 7. Jangan guna nama pengguna sebagai root dalam pangkalan data (database) mySQL anda! Gunakan nama pengguna berbeza-beza bagi setiap database dalam mySQL anda. 8. Gunakan JBackup System Plugin untuk backup pangkalan data Joomla! anda. Plugin ini cekup bagus kerana ianya mengirim fail database yang telah dibackup itu melalui email. Ingat, tanpa database, laman web Joomla! anda tak akan berfungsi!! 9. Permission bagi folder perlu dikekalkan kepada 755 dan bagi fail pula 644. Bagi fail configuration.php, adalah lebih baik dikekalkan kepada 444. 10. Pada asalnya, folder bagi Temporary Folder (tmp) dan Log Folder (logs) berada dalam folder Joomla! anda itu sendiri, cth http://www.websitesaya.com.my/tmp atau http://www.websitesaya.com.my/logs. Adalah lebih afdal jika kedua-dua folder tersebut berada diluar capaian pengguna luar iaitu diluar public_html (atau www atau htdocs bagi sesetengah server). Jangan lupa, path untuk folder-folder tersbut juga diubah menerusi Administrator Global Configuration pada Server. 11. Sentiasa mengosongkan sebarang fail atau folder yang terdapat di dalam Temporary Folder (tmp). Folder tmp ini sebenarnya digunakan apabila proses installasi komponen dan lain-lain. Jadi sila sentiasa padamkan sebarang fail atau folder yang ditinggalkan setelah proses installasi telah dijalankan. PERHATIAN: JANGAN DELETE FAIL ASAL DALAM FOLDER TMP IAITU INDEX.HTML!! 12. Fail configuration.php adalah fail yang TERPENTING kerana ianya terkandung konfigurasi bagi server, database malah Joomla! anda itu sendiri. Fail ini selalu menjadi sasaran para hackers. memang ada beberapa cara yang digunakan untuk melindungi fail ini dari capaian public, cuma sesetengahnya tidak munasabah. Cara terbaik adalah dengan meletakkan fail ini diluar capaian public itu sendiri. Caranya bukanlah copy dan paste aja, ada cara yang sebetulnya dan memerlukan sedikit konfigurasi:

- Pindahkan fail configuration.php ke luar dari public_html (atau www atau htdocs bagi sesetengah server). - Anda hanya perlu membuat sedikit konfigurasi pada fail berikut /includes/defines.php dan /administrator/includes/defines.php, secara tepatnya adalah pada pemalar berikut: define( 'JPATH_CONFIGURATION', JPATH_ROOT ); Jika sekiranya anda mahu pindahkan folder itu keluar dari public_html dan ke dalam sebuah folder baru iaitu "test", maka konfigurasi bagi pemalar tersebut adalah define( 'JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'.DS.'test' ); - Pastikan fail configuration.php yang telah dipindahkan tersebut tidak boleh ditulis (writable) langsung iaitu 444, atau dalam kata lain ianya tidak boleh diubah menerusi komponen com_config - Bagaimana nak mengubahnya?! - Ubahla secara manual dimana fail tersebut berada. Biar susah-susah dahulu, sebelum disusahkan kemudian... 14. PHP Check!! - Kalau tak buat lagi setting nie dalam fail php.ini, buat la sayang oi... register_globals=Off safe_mode=Off allow_url_fopen=Off allow_url_include=Off disable_functions=show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open open_basedir=/opt/lampp/public_html/[folder joomla anda]:/opt/lampp/tmp:/opt/lampp/logs --> Ini cth aja, cek yang sebetulnya menurut setting anda sendiri k... 15. Bagi yang menggunakan file uploader samaada menerusi forum atau galeri, jangan benarkan pengguna memuat-naik fail .php. Cara ini digunakan bagi menyisip malware scripts seperti c100.php atau sebagainya. Namun, terdapat alternatif lain yang digunakan para hackers ini misalnya mengubah fail malware scripts itu menjadi .jpg, cth c100.php.jpg, dan diupload menggunakan uploader. Jadi berwaspadalah, gunakan uploader yang berkuasa dan diyakini, yang dapat detect sebarang keganjilan pada fail .jpg yang diupload. Susah nak explain... tapi camtula... 16. 3rd Party Extentions!! - Joomla! nie yang seronoknya ada pelbagai extention yang boleh dimuat-naik. sabah hari ada extention yang baru. Tapi anda mesti ingat, extention nie datangnya dalam pelbagai bentuk dengan pengaturcaraannya yang berbeza-beza dan dengan pelbagai ragam pembangunnya. Jadi waspadalah selalu bila memilih. Pihak core Joomla! tidak memantau extention-extention ini namun anda boleh merujuk kepada Senarai Vulnerable 3rd Party/Non Joomla Extensions ini. Perlu diingat, sila padamkan sebarang extention yang anda tidak mahu gunakan. Jangan hanya simpan sahaja, ini berkemungkinan membuka lubang/ruang keselamatan (security hole) pada website anda!! 17. Backup! Backup! Backup! dan Backup! lagi... - yang nie yang malas nie... .

Memang, sapa-sapa admin pon malas kalau dengan bab-bab backup nie, tapi bayangkan, banyaknya masa yang terluang, mengadap komputer membangunkan laman web, tu kena fikir 2,3 kali tu. Walaupun anda turuti setiap langkah-langkah di atas sana tu, memang anda pada akhirnya akan dihack jugak! Jangan ego yang laman web dan server anda kebal!! Kalau ada sikap ni, tunggu la masanya.... Jadi sekali lagi Backup! Backup! Backup! dan Backup! lagi... Gunakan extention-extention berikut mengikut kesesuaian anda. 18. Padamkan template yang anda tidak mahu guna! - Adalah lebih baik padam template yang anda tak mahu guna, dan tinggalkan hanya yang diguna aja. Hackers boleh memanipulasi link hanya dengan mengubah url sahaja, cth /index.php?jos_change_template=rhuk_solarflare_ii. Kalau mereka berjaya gunakan teknik nie, bayangkan pengguna yang masuk ke laman web anda akan melihat susunan module dan content yang berterabur akibat ketidaksuaian template yang diguna. 19. Gunakan .htaccess dalam menghalang cubaan teknik-teknik mengodam yang biasa digunakan - Rujuk dibawah >>>. 20. Lindungi folder administrator dengan .htaccess dan .htpasswd - Ada 2 kaedah perlindungan dari diakses oleh public, samada menggunakan username dan password atau sekatan IP. a) Sekatan Password - Buat satu fail kosong .htaccess dalam folder administrator Joomla! anda. - Masukkan pemalar ini: AuthType Basic AuthName "Joomla Administrator" AuthUserFile /full/path/to/joomla/administrator/.htpasswd <Limit GET> require valid-user </Limit> - Ubahsuai /full/path/to/joomla/administrator/ kepada pautan yang webiste anda gunakan dan SAVE! - Kemudian, buat satu fail kosong .htpasswd dalam folder yang sama. - Gunakan .htpasswd Content Generator berikut. - Masukkan username dan password dan tekan Encrypt. Ia akan membina username dan password yang telah diencrypt spr berikut admin:PwlS6HM7veLsg. - Masukkan username dan password tersbut ke dalam fail .htpasswd dan kemudian SAVE! - Cuba test, sila ke http://www.websitesaya.com.my/administrator. Anda digalakkan menggunakan teknik ini bagi melindungi folder-folder lain seperti berikut cache, tmp, modules, libraries, languages, dan logs. 21. Disable user registration jika tak mahu gunakan pendaftaran pengguna. Module bagi Login dan semua link ke module tersebut juga perlu didisable. Ini dapat mengurangkan cobaan brute force attacks. Dengan ini cobaan menggunakan link spr ini index.php?option=com_user&view=login or index.php?option=com_login dapat ditepis

dengan mudah. 22. Kembali kepada no. 1, selalulah mengemaskini laman web Joomla! anda dengan versi yang terkini!

Tahukah anda bahawa anda boleh melindungi fail configuration.php dan .htaccess daripada dilihat atau diganggu oleh enjin pencari atau mana2 leecher? Leecher ni biasanya melayari web anda dan mengambil fail2 dari web anda.

Caranya amat mudah, anda hanya perlu gunakan kod berikut dan masukkan kedalam fail .htaccess
<Files .htaccess> order allow,deny deny from all </Files> <Files configuration.php> order allow,deny deny from all </Files>