it-swarm-id.com

Seberapa aman menginstal XAMPP di komputer rumah saya untuk menguji kode PHP?

Saya ingin menguji beberapa PHP kode dan saya pikir cara terbaik adalah menginstal XAMPP - tapi saya gugup menginstal perangkat lunak server pada komputer di rumah saya.

Apakah umumnya aman untuk menginstal XAMPP (mengingat bahwa saya belum pernah melakukannya sebelumnya dan tidak memiliki banyak pengalaman dengan keamanan server)? Apa yang perlu saya waspadai? Atau, apakah ada cara yang lebih aman untuk menguji kode PHP?

18
Frost

Apache dan MySQL dapat dikonfigurasi sehingga mereka hanya mendengarkan permintaan dari komputer Anda sendiri. Untuk sebagian besar sistem pengujian, ini baik-baik saja dan sangat mengurangi risiko karena layanan tidak dapat dijangkau dari Internet.

Sebelum Anda memulai XAMPP untuk pertama kalinya temukan dan edit file-file ini:

Untuk Apache edit file xampp\Apache\conf\httpd.conf dan xampp\Apache\conf\extra\httpd-ssl.conf. Cari baris yang dimulai dengan "Dengar" seperti

Listen 80

dan ganti dengan

Listen 127.0.0.1:80

Untuk MySQL buka file xampp\mysql\bin\my.cnf temukan bagian "[mysqld]" dan tambahkan baris ini

bind-address=localhost

Setelah memulai layanan, verifikasi hasilnya dengan membuka jendela perintah dan mulai dan jalankan:

netstat -a -n

Untuk entri yang ditandai sebagai DENGARKAN di kolom terakhir, lihat kolom Dengarkan. Itu harus selalu dimulai dengan 127.0.0.1 atau :: 1 tetapi tidak dengan 0.0.0.0.

22

XAMPP memiliki rekam jejak keamanan yang sangat buruk. Ada kerentanan eksekusi kode jarak jauh yang dieksploitasi melalui CSRF yang diketahui dan tidak ditambal. (Ini sebenarnya dalam aplikasi PHP/MySQL contoh menyebalkan mereka yang dibundel.) Bahkan jika Anda hanya terikat pada localhost, ini dapat dieksploitasi dari jarak jauh. Argumen balasannya adalah bahwa penyerang harus tahu bahwa Anda menjalankan XAMPP. Pemasangan PHPMyAdmin mereka selalu kedaluwarsa, dan ada eksploit buruk yang juga memengaruhi proyek ini.

Saran saya adalah menggunakan Ubuntu di VM. Pemasangan LAMP Ubuntu secara akut lebih mudah daripada XAMPP dan aman secara akut. Lari saja Sudo tasksel atau pilih paket LAMP saat Anda menginstalnya.

5
rook

Penafian: Saya seorang pengembang XAMPP.

Aman untuk menginstal XAMPP di mesin lokal Anda. Anda biasanya terhubung ke internet melalui router sehingga tidak mungkin untuk mengakses instalasi Anda saat ini.

Juga XAMPP mengirim --- "Bagaimana saya bisa membuat instalasi XAMPP saya lebih aman?" di mana Anda dapat mengikuti panduan itu untuk mengubah kata sandi root MySQL, menonaktifkan layanan yang tidak Anda gunakan, dll.

Baru-baru ini XAMPP menonaktifkan XAMPP Dashboard berbasis PHP dan kami menyertakan panduan html statis. Masalah apa pun yang terkait dengan CSFR atau terkait dengan panel ini sekarang tidak ada.

XAMPP juga memperhitungkan masalah keamanan terbaru. Anda dapat memeriksa blog untuk melihat kami merilis versi baru sesegera mungkin.

5
user93088

XAMPP tidak boleh digunakan dalam lingkungan produksi dan dikunci dengan ketat dan langkah-langkah yang diambil untuk mengamankannya pada mesin pengembangan, termasuk pemutakhiran atau tambalan keamanan dari vendor perangkat lunak asli (PHP, Apache, MySQL, dll.).

Jika Anda memilih untuk menginstal XAMPP pastikan untuk memastikan itu hanya memungkinkan koneksi dari alamat loopback. Anda harus memverifikasi ini untuk Apache, MySQL dan layanan lain yang Anda siapkan untuk XAMPP. Seolah-olah Anda memiliki sesuatu yang dapat diakses secara internal dari LAN dan memiliki orang lain di jaringan Anda secara sadar atau tidak sadar mereka dapat menggunakan exploit untuk mendapatkan akses ke mesin Anda dan menyebabkan kerusakan.

1
ITOps

Jadi, apa yang sebenarnya Anda maksud dengan "safe"?

  1. Apakah Anda mengkhawatirkan keamanan data atau privasi? (mis. orang lain dapat meretas ke dalam PC Anda melalui aplikasi server dan melihat/mengontrol data lokal Anda)?
  2. Atau apakah Anda khawatir tentang kode php atau perangkat lunak yang akan merusak komputer Anda?

Untuk 1), umumnya tidak mungkin memiliki akses ke komputer Anda dari jarak jauh jika OS Anda sudah terkonfigurasi dengan baik. Dalam kebanyakan kasus, lingkungan jaringan lokal Anda dilindungi oleh NAT, firewall, dan teknik lainnya seperti kebijakan IP dinamis. Apache juga dapat dikonfigurasi untuk hanya menerima kunjungan lokal seperti yang ditunjukkan oleh @HendrikBrummermann.

Untuk 2), cobalah menulis kode yang kuat dan hanya itu yang bisa saya sarankan. Apache dan MySQL adalah aplikasi server yang sangat ringan. Anda hanya melakukan tes lokal, sehingga umumnya tidak boleh ada lalu lintas data yang berat atau overhead komputasi yang tinggi yang dapat menurunkan sistem Anda.

0
shuangwhywhy

Ada adalah cara yang lebih aman untuk menguji kode Anda. Anda dapat - dan bisa dibilang harus - menginstal perangkat lunak server Anda, apa pun itu (dari XAMPP/WAMP di Windows ke Server Ubuntu), dalam mesin virtual . Ini tidak menakutkan seperti kedengarannya pada awalnya, meskipun mungkin berlebihan jika semua yang Anda lakukan adalah mengembangkan kode Anda sendiri.

A VM secara efektif mengasingkan apa pun yang terjadi pada server Anda (tamu ) dari merambat ke komputer di rumah Anda yang menjalankan mesin virtual ( Host ). Bayangkan Anda memiliki izin yang tidak terkonfigurasi dengan benar dan skrip yang Anda uji akan menjalankan system('rm -Rf some_dir') tersembunyi. Tidak masalah! Kembalikan VM Anda ke foto terbaru dan pergilah. Anda bahkan dapat membedakan snapshot untuk melihat apa yang berubah.

Selain itu, adaptor jaringan pada VM _ pilihan saya NATs the VM, memaksa Anda untuk mengkonfigurasi port forwarding secara manual untuk VM untuk mengaksesnya, apalagi mendeteksi bahwa itu ada.

Pengujian dalam VM juga mengurangi risiko kebocoran data melalui malware. Secara pribadi, saya tidak terlalu khawatir bahwa aplikasi yang saya uji akan menghapus sesuatu dengan jahat daripada saya bahwa itu akan diam-diam mencurinya dan mengunggahnya ke suatu tempat . Mesin Host Anda tidak akan terlihat oleh aplikasi yang berjalan di dalam VM Anda.

Saya pribadi sebagian ke Oracle's VirtualBox ; sepenuhnya gratis, memiliki cukup fitur untuk membuat saya tertarik dan sangat mudah digunakan. VM juga portabel: Anda dapat menyalin file mesin virtual ke drive USB dan membuatnya berfungsi.

Jika Anda akan melakukan pengujian perangkat lunak yang berisiko dalam bentuk apa pun, saya sarankan Anda belajar menggunakan VM dan menguji di sana: itu adalah keterampilan yang sangat berguna ada di sabuk alat Anda.

0
msanford