Cara membuat website diamankan dengan https

87

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:

  1. Apa yang harus saya lakukan untuk mempersiapkan situs web saya untuk https. (Apakah saya perlu mengubah kode / Config)
  2. Apakah SSL dan https satu dan sama ...
  3. Apakah saya perlu melamar seseorang untuk mendapatkan lisensi atau sesuatu.
  4. 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
Raja
sumber
Hai semua ... Terima kasih untuk semuanya ... Semua jawaban Anda sangat membantu ... Tidak adil jika memilih satu jawaban di sini ... (JADI harus memiliki ketentuan untuk situasi seperti itu). oleh karena itu, saya memilih satu jawaban dan memberi suara positif pada yang lain ... Jawaban yang dipilih sama pentingnya dengan jawaban lainnya ...
The King
3
Tindakan kehati-hatian tambahan, tergantung pada seberapa rahasia informasi tersebut (misalnya informasi pribadi mungkin tunduk pada undang-undang federal) dan hubungan serta kontrak apa yang Anda miliki dengan perusahaan, Anda mungkin ingin memikirkan apakah Anda akan bertanggung jawab jika seseorang meretas situs.
huynhjl
Setelah Anda menginstal sertifikat di server Anda, untuk menambahkan https ke situs web Anda di IIS, yang harus Anda lakukan adalah pergi ke situs dan "Edit Bindings", pilih https, dan pilih sertifikat.
bgmCoder

Jawaban:

49

Apa yang harus saya lakukan untuk mempersiapkan situs web saya untuk https. (Apakah saya perlu mengubah kode / Config)

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.

Apakah SSL dan https satu dan sama ..

Cukup banyak, ya.

Apakah saya perlu melamar seseorang untuk mendapatkan lisensi atau sesuatu.

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

Apakah saya perlu mengamankan semua halaman saya atau hanya halaman login ..

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.

Rowlf
sumber
1
Anda juga bisa mendapatkan sertifikat TLS gratis, yaitu dari Let's encrypt
1615903
8

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.

Saya bertanya-tanya apakah saya perlu menggunakan koneksi aman (https) atau hanya otentikasi formulir sudah cukup.

Gunakan koneksi yang aman sepenuhnya.

Apakah saya perlu mengubah kode / Config

Iya. Mungkin tidak. Anda mungkin ingin meminta seorang ahli melakukan ini untuk Anda.

Apakah SSL dan https satu dan sama ...

Sebagian besar ya. Orang biasanya menyebut hal-hal itu sebagai hal yang sama.

Apakah saya perlu melamar seseorang untuk mendapatkan lisensi atau sesuatu.

Anda mungkin ingin sertifikat Anda ditandatangani oleh otoritas sertifikat. Ini akan membebani Anda atau klien Anda sedikit uang.

Apakah saya perlu mengamankan semua halaman saya atau hanya halaman login ...

Gunakan https di seluruh. Performa biasanya tidak menjadi masalah jika situs tersebut ditujukan untuk pengguna internal.

Saya sedang mencari jawaban di Internet, tetapi saya tidak bisa mendapatkan semua poin ini ... Buku putih atau referensi lain juga akan membantu ...

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.

huynhjl
sumber
+1 untuk nasihat yang masuk akal tentang mengamankan semua jalan dan mencegah bencana dengan menanyakan apakah informasinya sangat rahasia dan merekomendasikan untuk tidak menaruhnya online
BlueTrin
7

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

Bhaskar
sumber
3

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.

Apa yang harus saya lakukan untuk mempersiapkan situs web saya untuk https. (Apakah saya perlu mengubah kode / Config)

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.

Apakah SSL dan https satu dan sama ...

Tidak juga, tapi mereka berjalan seiring! SSL memastikan bahwa data dienkripsi dan didekripsi bolak-balik saat Anda melihat situs web, httpsURI yang diperlukan untuk mengakses situs web aman. Anda akan melihat ketika Anda mencoba mengaksesnya http://secure.mydomain.commenampilkan pesan kesalahan.

Apakah saya perlu melamar seseorang untuk mendapatkan lisensi atau sesuatu.

Anda tidak perlu mendapatkan lisensi, melainkan sertifikat. Anda dapat melihat perusahaan yang menawarkan layanan profesional dengan situs web pengamanan, seperti VeriSign sebagai contoh.

Apakah saya perlu mengamankan semua halaman saya atau hanya halaman login ...

Setelah sertifikat Anda diaktifkan untuk mydomain.comsetiap halaman yang berada di bawah *.mydomain.comakan diamankan.

Anthony Forloney
sumber
1

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.

balalakshmi.dll
sumber
3
Melayani hanya sebagian dari situs Anda di bawah TLS tidak aman. Penyerang aktif dapat menggunakan SSLStrip dan memiliki akses ke halaman yang seharusnya dilindungi.
Tobu
1

@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 pathatribut lokasi adalah relatif terhadap web.configfolder dan tidak dapat memiliki ~/awalan, tidak seperti kebanyakan atribut konfigurasi tipe jalur lainnya.

devstuff
sumber
-2

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!

Ce0ns
sumber
3
Itu sebenarnya tidak benar-benar menjawab pertanyaan
Andreas