Sebuah situs web yang saya sering akhirnya putuskan untuk mengaktifkan TLS ke server mereka, hanya untuk tidak mengamanatkannya karena banyak situs web di luar sana yang melakukannya. Pengelola mengklaim bahwa TLS harus opsional. Mengapa?
Di situs web saya sendiri, saya telah lama mengatur TLS dan HSTS yang diamanatkan dengan periode yang lama, dan cipher suites yang lebih lemah dinonaktifkan. Akses plaintext dijamin akan diblokir dengan HTTP 301 ke versi yang dilindungi TLS. Apakah ini mempengaruhi situs web saya secara negatif?
Jawaban:
Ada beberapa alasan bagus untuk menggunakan TLS
(dan hanya beberapa alasan marjinal untuk tidak melakukannya).
Bahkan di situs statis, hanya informasi, menggunakan TLS memastikan tidak ada yang merusak data.
Sejak Google I / O 2014 , Google telah mengambil beberapa langkah untuk mendorong semua situs menggunakan HTTPS:
Mozilla Security Blog juga telah mengumumkan Deprecating Non-Secure HTTP dengan membuat semua fitur baru hanya tersedia untuk mengamankan situs web dan secara bertahap menghapus akses ke fitur browser untuk situs web yang tidak aman, terutama fitur yang berisiko terhadap keamanan dan privasi pengguna .
Ada juga beberapa alasan bagus untuk menegakkan TLS
Jika Anda sudah memiliki sertifikat yang tepercaya, mengapa tidak selalu menggunakannya? Secara praktis semua browser saat ini mendukung TLS dan telah menginstal sertifikat root. Satu-satunya masalah kompatibilitas yang sebenarnya saya lihat selama bertahun-tahun adalah perangkat Android dan otoritas sertifikat perantara Hilang karena Android hanya memercayai CA root secara langsung. Ini dapat dengan mudah dicegah dengan mengkonfigurasi server untuk mengirim rantai sertifikat kembali ke root CA.
Jika pengelola Anda masih ingin mengizinkan koneksi HTTP tanpa sambungan langsung
301 Moved Permanently
, katakanlah untuk memastikan akses dari beberapa peramban atau perangkat seluler yang benar-benar tua, tidak ada cara bagi peramban untuk mengetahui bahwa Anda bahkan telah mengkonfigurasi HTTPS . Selain itu, Anda tidak boleh menggunakan HTTP Strict Transport Security (HSTS) tanpa301 Moved Permanently
:Masalah berbagai situs yang dikonfigurasi untuk kedua protokol diakui oleh The Tor Project dan Electronic Frontier Foundation dan ditangani oleh ekstensi HTTPS di mana-mana multibrowser :
Konten campuran juga merupakan masalah besar karena kemungkinan serangan XSS ke situs HTTPS melalui modifikasi JavaScript atau CSS yang dimuat melalui koneksi HTTP yang tidak aman. Karenanya saat ini semua browser utama memperingatkan pengguna tentang halaman dengan konten campuran dan menolak untuk memuatnya secara otomatis. Ini menyulitkan untuk mempertahankan situs tanpa
301
pengalihan pada HTTP: Anda harus memastikan bahwa setiap halaman HTTP hanya memuat contect HTTP (CSS, JS, gambar dll.) Dan setiap halaman HTTPS hanya memuat konten HTTPS. Itu sangat sulit dicapai dengan konten yang sama pada keduanya.sumber
If your maintainer still would like to allow HTTP connections without direct 301 Moved Permanently, say for ensuring access from some really old browsers or mobile devices, HSTS is the correct choise as it only enforces HTTPS when it is clear that the browser supports it
tetapi dalam hal ini klien (bahkan yang kompatibel dengan HTTPS) tidak akan pernah tahu versi HTTPS adalah mereka memuat HTTP pada awalnya.HSTS Host MUST NOT include the STS header field in HTTP responses conveyed over non-secure transport.
If an HTTP response is received over insecure transport, the UA MUST ignore any present STS header field(s).
tools.ietf.org/id/draft-ietf-websec-strict-transport-sec-14.txtDi zaman sekarang ini, TLS + HSTS adalah penanda bahwa situs Anda dikelola oleh para profesional yang dapat dipercaya untuk mengetahui apa yang mereka lakukan. Itu adalah standar minimum yang muncul untuk kepercayaan, sebagaimana dibuktikan oleh Google yang menyatakan mereka akan memberikan peringkat positif untuk situs yang melakukannya.
Di sisi lain adalah kompatibilitas maksimum. Masih ada klien yang lebih tua di luar sana, terutama di bagian dunia yang bukan Amerika Serikat, Eropa, atau Cina. HTTP biasa akan selalu berfungsi (meskipun, tidak selalu berfungsi dengan baik ; itu cerita lain).
TLS + HSTS: Optimalkan untuk peringkat mesin pencari
Plain HTTP: Optimalkan untuk kompatibilitas
Tergantung pada apa yang lebih penting bagi Anda.
sumber
Ada satu alasan bagus untuk situs web hanya baca sederhana untuk tidak menggunakan HTTPS.
sumber
Untuk benar-benar mengetahui jawaban atas pertanyaan ini, Anda harus bertanya kepada mereka. Namun, kita dapat membuat beberapa tebakan.
Di lingkungan perusahaan, IT umum untuk menginstal firewall yang memeriksa lalu lintas masuk dan keluar untuk malware, aktivitas mirip CnC yang mencurigakan, konten yang dianggap tidak pantas untuk bekerja (misalnya pornografi), dll. Ini menjadi lebih sulit ketika lalu lintas dienkripsi. Pada dasarnya ada tiga kemungkinan tanggapan:
Untuk sysadmin yang bersangkutan, tidak satu pun dari opsi ini yang secara khusus menarik. Ada banyak sekali ancaman yang menyerang jaringan perusahaan, dan tugas mereka adalah melindungi perusahaan dari mereka. Namun, memblokir banyak sekali situs sepenuhnya menimbulkan kemarahan pengguna, dan memasang root CA bisa terasa agak payah, karena memperkenalkan pertimbangan privasi dan keamanan bagi pengguna. Saya ingat melihat (maaf, tidak dapat menemukan utasnya) petisi sysadmin reddit ketika mereka pertama kali menyalakan HSTS karena dia berada dalam situasi yang persis seperti ini, dan tidak ingin memblokir semua reddit hanya karena dia dipaksa oleh bisnis untuk memblokir subreddits yang berfokus pada porno.
Roda teknologi terus berputar maju, dan Anda akan menemukan banyak yang berpendapat bahwa perlindungan semacam ini kuno dan harus dihapuskan. Tetapi masih banyak yang mempraktikkannya, dan mungkin mereka yang menjadi perhatian pengelola misterius Anda.
sumber
Semuanya tergantung pada kebutuhan keamanan Anda, pilihan pengguna, dan risiko penurunan peringkat secara implisit. Menonaktifkan cipher lama di sisi server sangat diperlukan karena browser akan dengan senang hati masuk ke cipher yang benar-benar mengerikan di sisi klien atas nama pengalaman / kenyamanan pengguna. Memastikan tidak ada satu pun dari Anda yang bergantung pada saluran yang aman untuk pengguna tidak dapat dijangkau dengan metode tidak aman, tentu saja, juga sangat baik.
Tidak mengizinkan saya untuk menurunkan versi secara eksplisit ke HTTP yang tidak aman ketika saya menganggap posting blog Anda tentang mengapa Anda lebih menyukai Python daripada Ruby (tidak mengatakan Anda melakukannya, hanya contoh umum) bukan sesuatu yang saya pedulikan para hantu atau masyarakat yang tahu Saya mengakses hanya menghalangi saya tanpa alasan yang baik, dengan asumsi bahwa HTTPS akan sepele bagi saya.
Ada, saat ini, sistem embedded yang tidak memiliki kemampuan untuk menggunakan TLS di luar kotak, atau yang terjebak pada implementasi lama (saya pikir itu sangat buruk karena hal ini terjadi, tetapi sebagai pengguna daya dari [insert embedded] perangkat di sini], saya terkadang tidak dapat mengubah ini).
Inilah eksperimen yang menyenangkan: coba unduh versi terbaru LibreSSL dari situs OpenBSD hulu melalui HTTPS dengan implementasi TLS / SSL yang cukup lama. Anda tidak akan bisa. Saya mencoba suatu hari di perangkat dengan build OpenSSL yang lebih tua dari 2012 atau lebih, karena saya ingin memutakhirkan sistem tertanam ini menjadi lebih aman, barang baru dari sumber - Saya tidak memiliki kemewahan paket prebuilt. Pesan kesalahan ketika saya mencoba tidak sepenuhnya intuitif, tetapi saya mengira itu karena OpenSSL saya yang lama tidak mendukung hal-hal yang benar.
Ini adalah salah satu contoh di mana langkah satu-satunya HTTPS dapat benar-benar merugikan orang: jika Anda tidak memiliki kemewahan paket pre-built baru-baru ini dan ingin memperbaiki sendiri masalah dengan membangun dari sumber, Anda dikunci. Untungnya, dalam kasus LibreSSL, Anda dapat kembali ke meminta HTTP secara eksplisit. Tentu, ini tidak akan menyelamatkan Anda dari penyerang yang sudah menulis ulang lalu lintas Anda, yang mampu mengganti paket sumber dengan versi yang disusupi dan menulis ulang semua checksum dalam badan HTTP yang menjelaskan paket yang tersedia untuk diunduh di halaman web yang Anda jelajahi, tetapi masih berguna dalam banyak hal. kasus yang lebih umum.
Sebagian besar dari kita bukan satu unduhan tanpa jaminan yang jauh dari dimiliki oleh APT (Advanced Persistent Thread: jargon keamanan untuk badan intelijen nasional dan ancaman dunia maya yang bersumber daya sangat baik lainnya). Kadang-kadang saya hanya ingin
wget
beberapa dokumentasi teks biasa atau program kecil yang sumbernya saya dapat dengan cepat mengaudit (utilitas / skrip kecil saya sendiri di GitHub, misalnya) ke dalam kotak yang tidak mendukung cipher suite terbaru.Secara pribadi, saya akan menanyakan ini: apakah konten Anda sedemikian rupa sehingga seseorang dapat secara sah memutuskan "Saya baik-baik saja dengan saya mengakses pengetahuan publik"? Apakah ada kemungkinan risiko nyata yang masuk akal bagi orang non-teknis tanpa sengaja menurunkan ke HTTP untuk konten Anda? Bobot persyaratan keamanan Anda, persyaratan privasi untuk pengguna Anda, dan risiko penurunan peringkat tersirat terhadap kemampuan pengguna yang memahami risiko membuat pilihan berdasarkan informasi per kasus untuk tidak aman. Sepenuhnya sah untuk mengatakan bahwa untuk situs Anda, tidak ada alasan bagus untuk tidak menerapkan HTTPS - tapi saya pikir adil untuk mengatakan bahwa masih ada kasus penggunaan yang bagus untuk HTTP biasa di luar sana.
sumber
Host:
tajuk. Atau coba berselancar di situs-situs modern dengan browser web yang hanya mendukung Javascript tahun 2001. Pada titik tertentu, kita sebagai komunitas perlu melanjutkan, yang sayangnya merusak beberapa hal bagi sebagian orang. Pertanyaannya kemudian menjadi: apakah nilai tambah itu sepadan dengan kerusakan?Ada banyak diskusi di sini tentang mengapa tls itu baik - tetapi itu tidak pernah ditanyakan seperti pada posting asli.
Maxthon mengajukan 2 pertanyaan:
1) mengapa memiliki situs acak dan tanpa nama memutuskan untuk mempertahankan kehadiran http dan https
2) Apakah ada dampak negatif pada Maxthon yang hanya melayani 301 respons terhadap permintaan http
Sehubungan dengan pertanyaan pertama, kami tidak tahu mengapa penyedia memilih untuk mempertahankan situs http dan https. Mungkin ada banyak alasan. Selain poin tentang kompatibilitas, caching terdistribusi, dan beberapa petunjuk tentang aksesibilitas geo-politik, ada juga pertimbangan tentang integrasi konten dan menghindari pesan browser yang jelek tentang konten yang tidak aman. Seperti yang ditunjukkan Alvaro, TLS hanyalah puncak gunung es yang berkaitan dengan keamanan.
Namun pertanyaan kedua harus dijawab. Mengekspos bagian mana pun dari situs web Anda melalui http saat itu sebenarnya memerlukan https untuk operasi yang aman memberikan vektor yang dapat dieksploitasi untuk serangan. Namun masuk akal untuk mempertahankan ini untuk mengidentifikasi di mana lalu lintas tidak diarahkan dengan benar ke port 80 di situs Anda dan memperbaiki penyebabnya. Yaitu ada dampak negatif dan peluang dampak positif, hasil bersih tergantung pada apakah Anda melakukan pekerjaan Anda sebagai administrator.
Sysadmin1138 mengatakan bahwa https memengaruhi peringkat seo. Meskipun Google telah menyatakan bahwa hal itu memengaruhi peringkat, satu-satunya penelitian yang dapat saya lihat menunjukkan perbedaannya kecil. Ini tidak terbantu oleh orang - orang yang seharusnya tahu dengan lebih baik menyatakan bahwa, karena situs peringkat teratas lebih cenderung memiliki kehadiran https, kehadiran https karenanya meningkatkan peringkat.
sumber
Di masa lalu, saya harus menggunakan HTTP daripada HTTPS karena saya ingin
<embed>
halaman dari tempat lain yang telah dilayani melalui HTTP, dan mereka tidak akan berfungsi sebaliknya.sumber
Ini bukan alasan yang baik , karena itu berarti Anda memiliki klien yang buruk / rusak / tidak aman, tetapi jika ada proses otomatis mengakses sumber daya melalui
http://
url yang ada , ada kemungkinan bahwa beberapa dari mereka bahkan tidak mendukung https (mis. Kesibukan kotak , yang tidak dapat memiliki dukungan TLS secara internal dan hanya menambahkannya baru-baru ini melalui proses anak openssl) dan akan rusak jika mereka diberikan arahan ulang ke url https yang tidak dapat mereka ikuti.Saya akan tergoda untuk berurusan dengan kemungkinan ini dengan menulis aturan redirect untuk mengecualikan string User-Agent yang tidak dikenal untuk dialihkan dan membiarkan mereka mengakses konten melalui http jika mereka mau, sehingga browser yang sebenarnya dapat memperoleh manfaat dari semuanya. https / hsts paksa.
sumber
Ada beberapa alasan bagus untuk menggunakan HTTP alih-alih HTTPS di situs web. Jika situs web Anda menangani transaksi apa pun atau menyimpan segala jenis data sensitif atau pribadi, Anda harus benar-benar menggunakan HTTPS jika Anda ingin data tersebut aman. Satu-satunya alasan yang layak saya lihat untuk tidak menegakkan HTTPS adalah jika situs web Anda mengandalkan caching karena HTTPS tidak berfungsi dengan caching. Namun, seringkali layak mengorbankan sedikit kinerja untuk memastikan keamanan situs web Anda. Mungkin juga klien Anda tidak mendukung HTTPS, tetapi sebenarnya, pada 2017, mereka seharusnya mendukung.
sumber