7 Alasan Tidak Menggunakan XAMPP untuk Server Production

SHARES

Banyak yang menyarankan tidak menggunakan XAMPP untuk server production. Padahal penggunaan XAMPP sebagai environment pada fase production sangat memudahkan pengembangan website. Namun XAMPP bukanlah pilihan yang tepat untuk fase ini.

Dalam web development life cycle, jika Anda mengembangkan sebuah web, mungkin sudah mengenal fase production, yakni momen di mana website yang sudah dibuat kemudian dipublikasikan ke publik sehingga semua orang dapat mengaksesnya.

Untuk mengelola semua data dan aset website, XAMPP adalah salah satu dari beberapa opsi web server/environment yang dapat digunakan. XAMPP memang bagus sebagai environment pada fase development.

Tetapi, ketika sudah masuk fase production, sebaiknya Anda tidak menggunakan XAMPP sebagai web servernya. Kenapa demikian? Berikut beberapa alasan kenapa Anda seharusnya tidak menggunakan aplikasi web server XAMPP?

Alasan Tidak Menggunakan XAMPP untuk Server Production

Berdasarkan rekomendasi jasa pembuatan website terbaik, untuk alasan keamanan sebaiknya Anda tidak menggunakan XAMPP sebagai production server.

Apalagi dengan maraknya kasus dokumen tertentu dalam website dapat diakses secara publik dengan teknik Google Dork menggunakan beberapa kueri khusus.

Berikut ini beberapa alasan mengapa sebaiknya Anda tidak menggunakan XAMPP sebagai server production untuk website Anda:

1.Tidak Ada Password untuk Administrator MySQL

Alasan pertama tidak menggunakan XAMPP untuk server production adalah karena tidak adanya password secara default untuk Administrator MySQL.

XAMPP menggunakan MySQL sebagai database-nya. Saat melakukan konfigurasi MySQL di awal, default username dan password MySQL adalah “root” dan tanpa password. Contohnya seperti di bawah ini ketika melakukan konfigurasi MySQL WordPress:

alasan tidak menggunakan xampp untuk server production yang pertama: karena administrator mysql mudah diakses

Anda juga dapat memeriksa melalui tab User accounts di MySQL. Di sana dapat Anda lihat bahwa User name ‘root‘ secara default tidak memiliki password.

alasan tidak menggunakan xampp untuk server production yang pertama: karena administrator mysql mudah diakses

Sehingga, hacker dapat dengan mudah mengakses seluruh database website Anda. Caranya adalah, mereka melakukan pencarian website dengan metode Google Dorking, kemudian mengakses phpMyAdmin dan memasukkan username root tanpa ada password.

alasan tidak menggunakan xampp untuk server production yang pertama: karena administrator mysql mudah diakses

Setelah Log in, mereka kemudian dapat memodifikasi isi database MySQL, karena user root memiliki permission untuk membaca, menulis, hingga mengeksekusi.

Siapapun yang dapat mengakses database website Anda dapat melihat dan meng-copy semua informasi pengguna dan perusahaan, bahkan yang bersifat rahasia.

Selain itu, sebagian besar sistem saat ini meletakkan datanya pada database. Jika database tersebut terhapus atau tidak bisa diakses, sistem web Anda down.

2. Server Mail Local tidak Aman

Alasan lain kenapa tidak menggunakan XAMPP untuk server production masih berkutat dengan masalah kerentanan hacking pada Mail Server bawaannya.

Jika Anda menggunakan Windows, mail server lokal yang digunakan XAMPP adalah Mercury yang sangat berguna untuk melakukan testing pengiriman dan penerimaan email melalui internet.

Anda dapat mengaksesnya melalui XAMPP Control Pannel di bagian Module Mercury. Untuk melihat kridensial user, buka Manage User > di sana sudah terdapat user Admin Mail System Administrator. Jika Anda buka, maka secara bawaan tidak ada Mail password di sana.

alasan tidak menggunakan xampp untuk server production yang pertama: karena mail server admin mudah diakses

Testing dapat dilakukan menggunakan Thunderbird, yakni software mail client open-source gratis yang dikembangkan Mozilla. Di sana Anda bisa membuat akun dengan username Admin tanpa password seperti berikut:

alasan tidak menggunakan xampp untuk server production yang pertama: karena administrator mail mudah diakses

Apabila akun user ini dibiarkan secara default, tentu mudah sekali untuk mengakses server email situs Anda. Sehingga hacker dapat mengakses informasi apapun yang ada pada email.

3. Directory Listing XAMPP yang Terekspos

Secara default, directory listing XAMPP dapat diakses oleh siapa pun dalam network. Inilah alasan mengapa sebaiknya Anda tidak menggunakan XAMPP untuk server production.

Directory Listing atau daftar direktori adalah kondisi di mana server Anda menampilkan folder beserta file website di halaman browser. Padahal folder dan file ini tidak boleh diketahui publik.

Alasan Tidak Menggunakan XAMPP untuk Server Production

Dengan terbukanya akses pada list direktori, orang dapat melihat struktur dari situs atau aplikasi Anda. Sehingga mereka dapat menemukan direktori atau file penting dan bersifat rahasia.

Misalnya saja mereka dapat menemukan file-file yang berisi kredensial, seperti file config.php, database.php , atau credentials.txt  di mana informasi seperti username dan password berada.

Sehingga, dengan menggunakan XAMPP sebagai environment production, Anda perlu melakukan konfirgurasi manual sehingga directory listing tidak muncul di browser.

4. Halaman Error yang Menampilkan Informasi Rahasia

Dalam pengembangan sebuah aplikasi atau website, error adalah hal yang umum terjadi. Ketika XAMPP digunakan pada environment development, informasi error pada front-end memudahkan developer menemukan titik kesalahannya.

Oleh karena itu, konfigurasi bawaan XAMPP yang memungkinkan munculnya halaman error seperti di bawah ini mempercepat kerja developer dalam memperbaiki error.

Alasan Tidak Menggunakan XAMPP untuk Server Production

Namun, ketika Anda menggunakan XAMPP untuk environment production, informasi error path seperti di atas dapat menjadi celah kerentanan website Anda.

Dengan mengetahui error path tersebut, hacker dapat memetakan arsitektur website dengan gampang. Implikasinya, mereka juga lebih mudah menemukan file berisi informasi sensitif.

Konfigurasi penampilan halaman error pada XAMPP ini diatur oleh fungsi display_errors dan expose_php yang secara bawaan memang On. Anda dapat memeriksanya pada file php.ini seperti berikut ini:

Alasan Tidak Menggunakan XAMPP untuk Server Production

Oleh karenanya, jika tidak jeli dalam menutup celah-celah tersebut, menggunakan XAMPP sebagai server production akan sangat rentan untuk keamanan website Anda.

5. Halaman Dashboard XAMPP Mudah Diakses

Masalah lain yang akan Anda temui ketika menggunakan XAMPP sebagai environment production adalah fakta bahwa dashboard XAMPP yang secara default mudah diakses oleh publik.

Alasan Tidak Menggunakan XAMPP untuk Server Production

Dashboard XAMPP memudahkan dalam mengakses informasi sensitif dan halaman penting hingga informasi itu dapat digunakan untuk mencari kelemahan pada website Anda.

Misalnya saja, jika seseorang dapat mengakses halaman dashboard XAMPP, maka ia juga akan bisa mengakses halaman PHP di mana detail informasi server Anda berada di sana seperti gambar berikut:

Alasan Tidak Menggunakan XAMPP untuk Server Production

Melalui dashboard XAMPP ini juga halaman MySQL dapat diakses. Apalagi jika halaman login MySQL belum diproteksi, tentu mudah untuk diakses.

6. Spesifikasi Server Dapat Diakses Publik

Kerentanan XAMPP jika digunakan sebagai server production juga terletak pada informasi spesifikasi server yang dapat diakses secara publik. Contohnya seperti di bawah ini:

Alasan Tidak Menggunakan XAMPP untuk Server Production

Untuk melihat informasi spesifikasi server, seseorang tinggal melakukan Inspect element > buka Network > lihat salah satu file > lihat pada bagian Server. Di sana informasi spesifikasi server yang digunakan mudah ditemukan.

Selain itu, pada halaman error pun informasi spesifikasi server juga muncul seperti gambar di bawah. Informasi tersebut dapat disalahgunakan untuk melakukan hacking.

Alasan Tidak Menggunakan XAMPP untuk environment Production

Misalnya dengan mengetahui versi Apache yang digunakan, seseorang bisa mencari kelemahan dari server versi tersebut.

Kemudian mereka akan lebih mudah melakukan peretasan dengan mengkombinasikan kelemahan XAMPP lainnya.

7. Beberapa Fungsi Tidak Aman

XAMPP memiliki fungsi exec, epassthru, dan shell_exec yang secara default aktif. Fungsi ini memungkinkan untuk melakukan eksekusi program atau script yang ditanam pada sebuah sistem.

Anda dapat memeriksanya pada file php.ini di mana di bagian disable_functions ketiga fungsi tersebut tidak dinonaktifkan, yang berarti ini adalah celah keamanan.

Alasan Tidak Menggunakan XAMPP untuk environment Production

Anda juga dapat memeriksanya dengan membuat file .php yang berisi script di bawah ini dan menyimpannya di htdocs.

<?php
echo "<pre>";
var_dump(function_exists('exec'));
var_dump(function_exists('passthru'));
var_dump(function_exists('shell_exec'));
echo "</pre>";

Selanjutnya, Anda dapat membuka file php tersebut melalui browser. Jika muncul bool(true) artinya fungsi  exec, epassthru, dan shell_exec aktif.

Alasan Tidak Menggunakan XAMPP untuk environment Production

Jika seorang hacker berhasil inject kode dalam script PHP Anda sementara tiga fungsi di atas aktif, maka mereka dapat melakukan eksekusi pada server.

Alternatif Web Server untuk Production selain XAMPP

Jika tidak menggunakan XAMPP untuk server production, jenis web server apa yang bisa Anda gunakan? Ada beberapa web server lainnya, contohnya seperti Nginx, Docker, WP Engine, dan cPanel.

Apabila sudah terlanjur menggunakan XAMPP sebagai web server, Anda dapat memindahkannya ke teknologi web server yang lebih aman. Anda dapat melakukannya sendiri ataupun bekerja sama dengan web developer seperti Tonjoo.

Memastikan keamanan website sangat penting. Oleh karena itu, memilih teknologi sebagai environment production tidak boleh dilakukan dengan sembarangan.

alasan tidak menggunakan xampp untuk server production


Baca artikel serupa oleh Moch. Nasikhun Amin di blog Tonjoo mengenai WordPress, WooCommerce, plugin, dan topik-topik pengembangan web lainnya.


Updated on July 23, 2024 by Moch. Nasikhun Amin

Mari Bekerja Sama!

Wujudkan situs web impian Anda bersama kami.