Saya harus membuat aplikasi web kecil bagi perusahaan untuk memelihara data bisnis mereka ... Hanya mereka yang ada di dalam perusahaan yang akan menggunakannya, tetapi kami berencana untuk menyimpannya di domain publik, sehingga karyawan dapat terhubung ke aplikasi dari berbagai lokasi . (Sampai sekarang saya telah membuat aplikasi web yang hanya dihosting secara internal)
Saya bertanya-tanya apakah saya perlu menggunakan koneksi aman (https) atau hanya otentikasi formulir sudah cukup.
Jika Anda mengatakan https, saya punya beberapa pertanyaan:
- Apa yang harus saya lakukan untuk mempersiapkan situs web saya untuk https. (Apakah saya perlu mengubah kode / Config)
- Apakah SSL dan https satu dan sama ...
- Apakah saya perlu melamar seseorang untuk mendapatkan lisensi atau sesuatu.
- Apakah saya perlu mengamankan semua halaman saya atau hanya halaman login ...
Saya sedang mencari jawaban di Internet, tetapi saya tidak bisa mendapatkan semua poin ini ... Buku putih atau referensi lain juga akan membantu ...
Jangan ragu untuk bertanya jika Anda membutuhkan informasi lebih lanjut.
Terima kasih
- Raja
sumber
Jawaban:
Anda harus mengingat praktik terbaik untuk pengodean aman (berikut pengantar yang baik: http://www.owasp.org/index.php/Secure_Coding_Principles ), jika tidak, yang Anda butuhkan hanyalah menyiapkan sertifikat SSL dengan benar.
Cukup banyak, ya.
Anda dapat membeli sertifikat SSL dari otoritas sertifikat atau menggunakan sertifikat yang ditandatangani sendiri. Yang dapat Anda beli sangat bervariasi harganya - dari $ 10 hingga ratusan dolar setahun. Anda akan membutuhkan salah satunya jika Anda mendirikan toko online, misalnya. Sertifikat yang ditandatangani sendiri adalah opsi yang layak untuk aplikasi internal. Anda juga dapat menggunakan salah satunya untuk pengembangan. Berikut adalah tutorial yang bagus tentang cara menyiapkan sertifikat yang ditandatangani sendiri untuk IIS: Mengaktifkan SSL di IIS 7.0 Menggunakan Sertifikat yang Ditandatangani Sendiri
Gunakan HTTPS untuk semuanya, bukan hanya login pengguna awal. Ini tidak akan menjadi terlalu banyak overhead dan itu berarti data yang dikirim / diterima pengguna dari aplikasi yang dihosting dari jarak jauh tidak dapat dibaca oleh pihak luar jika dicegat. Bahkan Gmail sekarang mengaktifkan HTTPS secara default.
sumber
Jenis data bisnis apa ? Rahasia dagang atau hanya hal-hal yang mereka tidak ingin dilihat orang, tetapi jika terbongkar, itu bukan masalah besar? Jika kita membicarakan rahasia dagang, informasi keuangan, informasi pelanggan, dan hal-hal yang umumnya dirahasiakan. Kalau begitu jangan pergi ke rute itu.
Gunakan koneksi yang aman sepenuhnya.
Iya. Mungkin tidak. Anda mungkin ingin meminta seorang ahli melakukan ini untuk Anda.
Sebagian besar ya. Orang biasanya menyebut hal-hal itu sebagai hal yang sama.
Anda mungkin ingin sertifikat Anda ditandatangani oleh otoritas sertifikat. Ini akan membebani Anda atau klien Anda sedikit uang.
Gunakan https di seluruh. Performa biasanya tidak menjadi masalah jika situs tersebut ditujukan untuk pengguna internal.
Mulailah di sini untuk beberapa petunjuk: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
Perhatikan bahwa SSL adalah bagian yang sangat kecil dalam membuat situs web Anda aman setelah dapat diakses dari internet. Itu tidak mencegah sebagian besar jenis peretasan.
sumber
Saya rasa Anda semakin bingung dengan Otentikasi dan SSL situs Anda.
Jika Anda perlu memasukkan situs Anda ke dalam SSL, maka Anda perlu memasang sertifikat SSL ke server web Anda. Anda dapat membeli sertifikat untuk diri Anda sendiri dari salah satu tempat seperti Symantec dll. Sertifikat tersebut akan berisi pasangan kunci publik / pribadi Anda, bersama dengan hal-hal lain.
Anda tidak perlu melakukan apa pun di kode sumber Anda, dan Anda masih dapat terus menggunakan Autentikasi Formulir (atau yang lainnya) di situs Anda. Hanya saja, setiap komunikasi data yang terjadi antara server web dan klien akan dienkripsi dan ditandatangani menggunakan sertifikat Anda. Orang-orang akan menggunakan secure-HTTP (https: //) untuk mengakses situs Anda.
Lihat ini untuk info lebih lanjut -> http://en.wikipedia.org/wiki/Transport_Layer_Security
sumber
Untuk data bisnis, jika data bersifat pribadi saya akan menggunakan koneksi aman, jika tidak, otentikasi formulir sudah cukup.
Jika Anda memutuskan untuk menggunakan koneksi aman, harap dicatat bahwa saya tidak memiliki pengalaman dengan mengamankan situs web, saya hanya menarik kembali apa yang saya temui selama pengalaman pribadi saya. Jika saya salah, jangan ragu untuk mengoreksi saya.
Untuk mengaktifkan SSL (Secure Sockets Layer) untuk situs web Anda, Anda perlu menyiapkan sertifikat, kode atau konfigurasi tidak diubah.
Saya telah mengaktifkan SSL untuk server web internal, dengan menggunakan OpenSSL dan ActivePerl dari tutorial online ini . Jika ini digunakan untuk audiens yang lebih besar (audiens saya kurang dari 10 orang) dan berada dalam domain publik, saya sarankan mencari alternatif profesional.
Tidak juga, tapi mereka berjalan seiring! SSL memastikan bahwa data dienkripsi dan didekripsi bolak-balik saat Anda melihat situs web,
https
URI yang diperlukan untuk mengakses situs web aman. Anda akan melihat ketika Anda mencoba mengaksesnyahttp://secure.mydomain.com
menampilkan pesan kesalahan.Anda tidak perlu mendapatkan lisensi, melainkan sertifikat. Anda dapat melihat perusahaan yang menawarkan layanan profesional dengan situs web pengamanan, seperti VeriSign sebagai contoh.
Setelah sertifikat Anda diaktifkan untuk
mydomain.com
setiap halaman yang berada di bawah*.mydomain.com
akan diamankan.sumber
4. Apakah saya perlu mengamankan semua halaman saya atau hanya halaman login ...
Simpan saja halaman login di bawah https
ini akan memastikan tidak ada biaya tambahan saat menjelajahi halaman lain. syaratnya adalah Anda harus memberikan pengaturan otentikasi yang benar di konfigurasi web. Ini untuk memastikan pengguna yang tidak masuk tidak akan dapat menjelajahi halaman yang memerlukan otentikasi.
sumber
@balalakshmi menyebutkan tentang pengaturan otentikasi yang benar. Otentikasi hanya setengah dari masalah, setengah lainnya adalah otorisasi.
Jika Anda menggunakan Autentikasi Formulir dan kontrol standar seperti
<asp:Login>
ada beberapa hal yang perlu Anda lakukan untuk memastikan bahwa hanya pengguna terotentikasi Anda yang dapat mengakses halaman aman.Di
web.config
, di bawah<system.web>
bagian Anda harus menonaktifkan akses anonim secara default:<authorization> <deny users="?" /> </authorization>
Setiap halaman yang akan diakses secara anonim (seperti halaman Login.aspx itu sendiri) harus memiliki penimpaan yang memungkinkan kembali akses anonim. Hal ini memerlukan
<location>
elemen dan harus berada di<configuration>
tingkat ( luar yang<system.web>
bagian), seperti ini:<!-- Anonymous files --> <location path="Login.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Perhatikan bahwa Anda juga harus mengizinkan akses anonim ke semua lembar gaya atau skrip yang digunakan oleh halaman anonim:
<!-- Anonymous folders --> <location path="styles"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Ketahuilah bahwa
path
atribut lokasi adalah relatif terhadapweb.config
folder dan tidak dapat memiliki~/
awalan, tidak seperti kebanyakan atribut konfigurasi tipe jalur lainnya.sumber
Coba buat direktori boot di PHP, seperti di
<?PHP $ip = $_SERVER['REMOTE_ADDR']; $privacy = ['BOOTSTRAP_CONFIG']; $shell = ['BOOTSTRAP_OUTPUT']; enter code here if $ip == $privacy { function $privacy int $ip = "https://"; } endif { echo $shell } ?>
Hanya itu!
sumber