Sepertinya hidup akan mudah untuk menjalankan server database pada mesin yang sama dengan server web, tetapi apakah kita mengambil risiko keamanan besar dengan melakukan ini?
Lingkungan akan menjadi server Windows 2008, Postgresql (versi terbaru, mungkin 9.0 ketika keluar) dan Apache 2.
Jawaban:
Belum tentu.
Dengan asumsi server web Anda dikompromikan penyerang masih akan mendapatkan kredensial untuk mengakses database yang sama, tidak peduli apa server yang mereka jalankan. Bagaimanapun, server basis data masih perlu dikonfigurasi untuk memungkinkan permintaan yang sah dari server web.
(Dengan asumsi langkah-langkah keamanan yang masuk akal seperti di mysqld tidak menerima login root tanpa password dari localhost.)
Yang sedang berkata, Anda mungkin masih ingin menjalankan server database yang terpisah. Alasan untuk itu terkait dengan kinerja, skalabilitas, dll.
sumber
Saya tidak setuju dengan poster yang menyatakan bahwa ini bukan masalah keamanan, dan inilah alasannya:
sumber
Ini akan sangat tergantung pada model keamanan server Web dan DB Anda (yaitu, perangkat lunak), serta tingkat firewall / kontrol akses / IDP yang Anda akan terapkan pada keduanya jika mereka berada di server yang terpisah.
Semuanya sama, mungkin masalahnya lebih baik memisahkan keduanya. Namun, praktisnya, setidaknya di lingkungan LAMP, selama Anda menggunakan privsep Apache (jika Anda tidak yakin, jangan khawatir, Anda) dan tidak menggunakan login root ke MySQL di webapp Anda, dan Anda tidak memiliki tcp / 3306 terkena dunia luar, Anda tidak benar-benar mendapatkan banyak keamanan dengan memindahkan satu atau yang lain ke sepotong silikon yang berbeda. Anda mendapatkan manfaat kinerja dan kemampuan debug.
Pertanyaan Anda dalam gaya yang tampaknya membutuhkan jawaban absolut, tetapi tanpa informasi lebih lanjut (minimal, OS apa dan server web / DB yang sedang kita bicarakan), bahkan sulit untuk memberikan jawaban yang informatif.
sumber
Saya tidak melihat banyak risiko keamanan tambahan menempatkan database dan server web pada perangkat keras yang sama. Jika server web dilanggar, data tetap dapat diakses. Keamanan bukanlah alasan khas untuk memisahkan tingkatan.
Dalam kedua kasus Anda ingin memastikan bahwa server database mendengarkan pada port non-standar, hanya akan menanggapi permintaan dari server web, dan bahwa firewall hanya memungkinkan permintaan http / s ke server web dan tidak ada port atau alamat lain .
Meskipun demikian, memisahkannya adalah praktik yang baik .. setiap server lebih mudah untuk dikelola dan dikonfigurasikan, dan Anda dapat menangani kegagalan, masalah, rekondisi, masalah kinerja, dll. Lebih mudah bergerak maju. Jadi, Anda dapat mempertimbangkan dua server virtual pada perangkat keras yang sama, yang kemudian dapat dipisahkan ketika kinerja atau kapasitas membutuhkannya.
sumber
Saya tidak akan - tapi itu saya.
Itu tergantung pada apa yang ada di depan kotak Anda (mis. Firewall, load-balancers, dll.) Dan seberapa 'ketatnya' mereka, apa data aktualnya (yaitu sekarang berdampak data yang tersedia secara publik di satu ujung, rahasia nasional di sisi lain) , apakah ada dampak kinerja pada penggabungan mereka, kekuatan jaringan di antara keduanya (yaitu firewall antar-tingkat) dan kualitas pengerasan OS / aplikasi yang akan diterapkan.
Jika Anda tidak mengharapkan sistem ini harus berurusan dengan memuat terlalu banyak satu hal yang dapat Anda pertimbangkan adalah memvirtualisasi sistem menjadi dua VM terpisah; satu per fungsi - mungkin dengan VM firewall hanya perangkat lunak ketiga di antaranya. Ini berarti bahwa bahkan jika seseorang membobol server web Anda, mereka harus memecahkan server basis data dan, jika disertakan, VM firewall perantara. Tentu saja ini akan mengurangi kinerja sistem secara keseluruhan, tetapi setidaknya akan sedikit lebih aman dan juga dapat membantu jika beban Anda semakin membutuhkan desain dua server karena Anda dapat dengan mudah memindahkan satu VM ke mesin kedua. Produk ESXi gratis VMWare dapat melakukan ini dengan cukup mudah dan sudah ada VM firewall gratis yang siap untuk diimplementasikan jika Anda mau.
sumber