Panduan Permulaan untuk Laman Web SSL Certs
Apabila membina aplikasi web yang berkaitan dengan data peribadi, keselamatan adalah keutamaan yang pertama. Ini benar bukan hanya benar dengan kedai dalam talian dan kereta belanja, tetapi juga sama dengan rangkaian sosial yang popular seperti Twitter dan Foursquare. SSL adalah protokol selamat seperti HTTP kerana ia boleh menerima dan memindahkan data melalui Internet.
Seluruh konsep diakui sedikit rumit tetapi tidak begitu sukar difahami. Sekiranya anda seorang juruweb atau orang yang hanya berminat untuk belajar tentang sijil SSL, panduan ini sepatutnya sesuai untuk anda. Saya telah mengumpulkan satu set istilah yang paling membingungkan untuk meletakkan untuk pemula. Luangkan masa melayari di sini serta membaca artikel luaran yang lain mengenai topik ini. Keselamatan adalah penting untuk kejayaan mana-mana laman web dan SSL hanyalah batu loncatan dalam gambar yang lebih besar.
Apakah SSL itu??
Protokol SSL bermaksud Lapisan Soket Selamat dan pada asalnya dibangunkan oleh Netscape. Ini adalah proses di mana data diluluskan di antara pengguna dan pelayan disulitkan / mendekripsi supaya tiada pihak ketiga luar dapat meranapkan sambungan.
SSL berkelakuan seperti pasport digital yang mengesahkan kelayakan diri anda dan pelayan web akhir. Apabila kedua-dua identiti itu disahkan, SSL memberikan sambungan selamat melalui HTTPS. Proses ini dilakukan dengan menggunakan sijil. Saya telah memecahkan aspek utama sijil SSL, yang merangkumi:
- Nama pemiliknya
- Nombor siri sijil yang digunakan untuk pengenalan
- Tarikh tamat Sijil
- Kunci umum Sijil yang digunakan untuk menyulitkan maklumat
- Kunci peribadi Sijil yang digunakan untuk menyahsulit maklumat (biasanya datang dari pelayan web)
Anda tidak perlu memahami sepenuhnya penggunaan untuk semua maklumat ini. Dalam sesetengah keadaan, anda akan menerima sijil dengan lebih banyak maklumat. Walau bagaimanapun, tiada satu pun yang akan memberi kesan langsung kepada pengguna; ia hanya menjejaskan sambungan antara pelayan dan komputer jauh.
Menyediakan Cert
Anda kemungkinan besar dapat melihat intip bagaimana SSL berfungsi. Ini adalah satu bentuk yang lebih kompleks dari lulus data - seperti memindahkan mesej di dalam peti terkunci. Ia tidak perlu menghafal unsur utama sijil SSL atau belajar bagaimana ia dihubungkan dengan pelayan web, tetapi ia adalah baik sekurang-kurangnya memahami dasar-dasar proses sebelum membuat sendiri.
Sijil SSL sebenarnya dibeli daripada beberapa vendor yang boleh dipercayai di Web. Setiap sijil mempunyai tarikh tamat tempoh, yang bermaksud anda perlu membaharuinya untuk memastikan laman web anda selamat (biasanya ini setiap tahun). Nampaknya kesakitan sebenar untuk berurusan, tetapi bernasib baik banyak tuan rumah web popular seperti FatCow akan membantu anda dalam proses persediaan.
Mula-mula anda perlu menghasilkan Permintaan Menandatangani CSR atau Sijil pada pelayan web anda sendiri. CSR diperlukan sebelum anda boleh mendapatkan pensijilan SSL. Anda boleh membuat sendiri ini jika anda mempunyai keistimewaan pentadbiran penuh di pelayan web. Walau bagaimanapun, sangat disyorkan bahawa anda menghubungi hos web anda terlebih dahulu kerana mereka mungkin tidak membenarkan anda melakukan ini sendiri. Tidak ada mudarat di dalamnya, malah sebenarnya menjadikan pekerjaan anda lebih mudah!
Selepas anda mempunyai CSR yang disulitkan, anda boleh menghubungi penyedia sijil. Hanya terdapat segelintir vendor yang dipercayai seperti Verisign atau Thawte. Sebaik sahaja anda mempunyai sijil yang dibeli hanya hubungi sokongan tuan rumah anda dan mereka akan dengan senangnya memasangnya untuk anda.
Jenis-jenis SSL yang berlainan
Cara paling umum untuk menyediakan sijil SSL adalah pada alamat IP utama anda sendiri. Ini dikenali sebagai a Sijil SSL Dedicated. Ia hanya akan digunakan pada domain dan pelayan web anda. Tidak semua orang mempunyai wang yang cukup untuk membeli pelan hosting yang berdedikasi, tetapi bernasib baik untuk kita semua, ada penyelesaian lain yang tersedia.
Secara umumnya terdapat tiga jenis sijil SSL yang boleh anda gunakan. Sesetengah pembekal perkhidmatan boleh menawarkan sijil percuma sebagai tawaran percubaan terhad masa tetapi pensijilan ini tidak semestinya lebih selamat daripada sambungan HTTP standard dan mereka tamat dengan cepat.
- Dedicated SSL - Inilah yang paling selamat dan ternyata penyelesaian yang paling mahal. Sambungan HTTPS hanya disahkan untuk domain akar anda yang disasarkan melalui alamat IP yang ditetapkan.
- SSL Dikongsi - Web host yang menawarkan hosting yang dikongsi kadang-kadang akan mempunyai beberapa nama domain yang menunjuk ke alamat IP yang sama. Dalam kes ini, lebih mudah bagi tuan rumah untuk mengurus satu SSL tunggal pada setiap pelayan yang merangkumi pelbagai laman web yang berbeza.
- Wildcard SSL - Ini boleh sama dengan sijil SSL berdedikasi atau dikongsi berdasarkan konfigurasi pelayan. Pensijilan SSL Wildcard akan menyasarkan beberapa subdomain untuk tapak web anda. Ini adalah penyelesaian yang berdaya maju jika anda memisahkan fungsi yang berbeza dari tapak web anda mis. shop.domain.com, checkout.domain.com, dan sebagainya.
Sekiranya anda baru bermula, saya sangat mengesyorkan menggunakan persediaan SSL bersama. Ia tidak mungkin anda mampu untuk membekalkan alamat web / alamat IP yang berdedikasi dengan segera. Dan walaupun anda boleh, kos sijil SSL yang berdedikasi sangat mengerikan. Tetapi ia sememangnya sesuatu yang perlu anda lihat jika boleh.
Walau bagaimanapun, kerana panduan ini disasarkan untuk pemula, saya rasa sijil bersama lebih daripada cukup untuk bermula.
Walkthrough Step-by-Step
Cara terbaik untuk merasa selesa dengan sijil SSL adalah melalui contoh kerja. Mari kita sertakan sijil Comodo kecil dari Namecheap. Mereka mempunyai harga yang sangat berpatutan yang sempurna untuk mendapatkan pemula bermula. Dan kerana kita hanya perlu melalui proses dan menggariskan ini akan menjadi bahan yang sempurna untuk tutorial ini.
Menjana CSR
Sekarang untuk bermula, kami perlu membuat permintaan tandatangan di backend pelayan kami. Saya menggunakan akaun hosting perniagaan melalui HostGator untuk menguji salah satu domain saya. Setiap hos web agak berbeza, jadi anda perlu menyemak dengan kakitangan sokongan jika anda menghadapi masalah. URL ini digunakan untuk generasi CSR pada akaun HostGator.
Perhatikan bahawa banyak maklumat ini harus dipadankan dengan data web Whois domain saya. Saya menggunakan aplikasi Alat Domain Whois yang menyediakan semua maklumat yang diperlukan oleh borang ini. Sekiranya anda mempunyai privasi domain yang dipasang, anda perlu menggunakan data ini dan bukannya sendiri supaya CSR akan dipadankan.
Proses ini mungkin mengambil masa sehingga 24 jam untuk melengkapkan pendaftaran. Saya mendapat jawapan saya dalam masa 15 minit. Mari kita teruskan dan beli sijil kami sekarang supaya kami bersedia untuk memasang dengan permintaan tandatangan.
Mari beli!
Pelan Comodo berkisar antara $ 9 / tahun hingga hampir $ 100. Saya sedang melihat pakej EssentialSSL yang hanya bernilai $ 25 setahun. Ini bukan masalah buruk memandangkan beberapa alternatif.
Pelan ini datang dengan dasar pulangan 15 hari jika kami tidak berpuas hati dengan sijil. Di samping itu nama domain kami akan dijamin untuk subdomain www dan bukan-www. Selepas menambah pakej ini ke keranjang belanja saya, kami boleh menyemak. Namecheap akan memerlukan saya melog masuk ke akaun yang sedia ada atau mendaftar untuk yang baru.
Setelah memasukkan semua data akaun saya, skrin pembayaran akhir akan muncul. Kami mempunyai pilihan untuk membayar dengan dana yang disimpan dalam akaun saya, kad kredit, atau PayPal. Sekiranya semuanya berjalan dengan lancar, kami akan diarahkan kembali ke borang pengesahan pesanan (anda juga akan menerima e-mel dengan maklumat ini). Semuanya kelihatan baik setakat ini!
Pemasangan Akhir
CSR harus muncul dalam e-mel dari host web anda. Kuncinya lebih seperti blok watak dan kekunci. Inilah yang perlu kami sediakan untuk pengesahan SSL. Bergerak kembali ke Namecheap mari kita mencari halaman sijil SSL dan klik “Aktifkan”.
Pada halaman baru ini, kita perlu memilih jenis pelayan dan memasukkan kunci CSR. Saya telah memilih Apache + OpenSSL sebagai pemilihan lalai. Ini adalah persediaan umum untuk Apache, tetapi jika anda tidak pasti, semak dengan tuan rumah anda terlebih dahulu. Perhatikan bahawa tuan rumah web anda sepatutnya kembali lagi RSA Key yang digunakan untuk pengesahan peribadi pada akhir pelayan. Apa yang perlu kita lakukan ialah menyalin-paste kunci CSR yang lebih pendek ke dalam kotak dan serahkan.
Kami kemudian menjana e-mel yang dihantar kepada “pengadil” nama domain. Ini akan mengandungi beberapa maklumat mengenai sijil SSL anda dan cara mengaktifkannya pada hos. Borang penyerahan terakhir ini memerlukan kunci rahsia RSA kami serta beberapa maklumat ikatan SSL tambahan. Ini semua dibekalkan dari Namecheap selepas kami lulus dalam CSR.
Perlu diingat bahawa pada sesetengah web host anda mungkin tidak dapat menggunakan SSL dalam persekitaran yang dikongsi. HostGator membenarkan perniagaan menaik taraf akaun mereka ke alamat IP utama supaya tidak ada kesilapan yang bercanggah dengan pensijilan. Borang pemasangan SSL dari HostGator adalah mudah dan juga mengesahkan dengan cepat.
Selepas hos anda mengesahkan semuanya ok, maka kami sepatutnya bersedia untuk pergi. Memahami bahawa ini boleh berlaku antara beberapa jam dan sehari atau lebih. Bersabar dan teruskan menyemak e-mel anda. Setelah disahkan, cuba akses laman web anda melalui HTTPS dan semua butiran sijil harus berada di bar alamat. Ia sentiasa menjadi perjuangan apabila anda baru bermula tetapi jangan takut meminta bantuan daripada pembekal SSL atau web host jika diperlukan.
Mengurus Sambungan Selamat
Saya telah menemui artikel sokongan Hostgator ini untuk sangat membantu dalam memahami proses persediaan. Walaupun anda bukan pelanggan HostGator, anda mungkin menggunakan cPanel untuk menguruskan mana-mana pelayan web jauh. Ini adalah benar untuk 1 & 1 Hosting, Bluehost, dan sebagainya.
Tetapi bahagian terbaik tentang menggunakan persediaan SSL pada hos web pihak ke-3 ialah anda tidak perlu membuat perubahan (atau perubahan paling banyak) ke kod anda! Setelah anda melalui pembelian sijil, kebanyakan web host akan cukup sopan untuk memasangnya untuk anda. Selepas semuanya berjalan lancar semua sambungan melalui HTTP dan HTTPS harus berfungsi secara identik.
Anda boleh menguji jika sijil disahkan dengan menyemak bar alamat URL dalam penyemak imbas web anda. Anda harus melihat ikon padlock kecil yang menandakan sambungan SSL yang disahkan di antara komputer anda dan pelayan web jauh. Sesetengah pelayar akan memaparkan lebih banyak maklumat sijil jika anda mengklik ikon kunci.
Apache .htaccess Redirect
Sekiranya anda mengalami masalah menjaga pengunjung pada protokol HTTPS, anda mungkin ingin mempertimbangkan menggunakan skrip Redirect. Ini biasanya ditubuhkan pada pelayan Apache menggunakan fail .htaccess, yang mana banyak web host membolehkan anda mengkonfigurasi hak dalam cPanel.
Saya telah menambah beberapa kod sampel di bawah yang anda boleh gunakan untuk menyediakan fail .htaccess anda sendiri. Ini akan mengalihkan semua trafik masuk ke https: // dengan subdomain www. Anda boleh mengalih keluar www jadi semua lalu lintas akan ditujukan kepada https://yourdomain.com/ dan peraturan menulis semula masih berjalan dengan sempurna.
RewriteEngine On RewriteCond% HTTPS = off RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R = 301, L] RewriteCond% http_host ^ yourdomain.com [NC] RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R = 301, L]
Rujuk fail
Isu yang paling menjengkelkan yang anda jalani ialah merujuk URL mutlak bukan laluan fail relatif. Ini akan tidak memaparkan sambungan yang terjamin sepenuhnya, sebaliknya merujuk kepada amaran yang ada “barang tidak bercagar” dipaparkan di halaman. Jika anda memanggil apa-apa jenis media luaran: video, imej, lembaran gaya, ia mesti dilakukan secara tempatan. Saya telah menunjukkan satu contoh di bawah:
Dengan kod pertama yang anda memuatkan dokumen berpotensi tidak selamat ke halaman yang selamat. Inilah cara yang sangat mudah bagi penggodam pintar untuk melangkau penyulitan anda. Majoriti kes yang saya jalankan melalui JavaScript atau VBScript. Tetapi untuk menjadi selamat, pastikan tiada aset anda yang menarik terus melalui HTTP.
Jika atas sebab apa pun, anda mesti tarik fail melalui URL mutlak, kemudian gunakan HTTPS. Sekiranya anda mempunyai fail yang dihoskan di laman web atau pelayan luaran, ini mungkin menghasilkan isu kerana anda tidak dapat mengesahkan sambungan HTTPS yang lain. Bekerja untuk memastikan semua media laman web disatukan di bawah satu IP supaya anda tidak menghadapi masalah ini sama sekali!
Pautan Berkaitan
- Jelaskan seperti saya 5: Apakah sijil keselamatan dalam talian, SSL, HTTPS dan bagaimana ia berfungsi?
- Evolusi Keaslian SSL [Infographic]
- Menjana dan Memasang Sijil SSL Langkah-demi-Langkah
Kesimpulannya
Saya harap panduan pengenalan ini memberi anda sedikit gambaran tentang dunia SSL. Keselamatan web adalah industri yang berkembang pesat yang menjamin banyak data pengguna peribadi. Semua kedai dalam talian yang terkenal termasuk Amazon dan eBay telah menggunakan SSL selama bertahun-tahun.
Saya akan mengakui bahawa SSL / HTTPS bukan topik yang anda boleh belajar untuk memahami. Sama seperti pengaturcaraan, anda benar-benar perlu menyelam dan mendapatkan kotor tangan anda menubuhkan sijil anda sendiri. Ia adalah satu tugas yang menakutkan untuk dibentangkan, tetapi ia menawarkan rasa pencapaian yang luar biasa dalam jangka masa panjang. Sekiranya anda tahu apa-apa panduan yang berguna atau bahan yang berkaitan, sila rujuk bahagian perbincangan pos.