Neden her şey için HTTPS kullanmıyorsunuz?


126

Bir sunucu kuruyorsam ve SSL sertifikalarına sahip olsaydım, neden sadece satın alma / oturum açma yerine tüm site için HTTPS kullanmayayım? Sadece tüm siteyi şifrelemek ve kullanıcıyı tamamen korumak daha mantıklı olur diye düşünüyorum. Her şey olacağı için neyin güvence altına alınması gerektiğine karar vermek gibi sorunları önler ve bu gerçekten kullanıcı için bir rahatsızlık oluşturmaz.

Sitenin bir kısmı için zaten bir HTTPS kullanıyor olsaydım, neden onu tüm site için kullanmak istemeyeyim?

Bu alakalı bir sorudur: https neden sadece giriş için kullanılıyor? ama cevaplar tatmin edici değil. Cevaplar, sitenin tamamına https uygulayamadığınızı varsayar.


2
Finansal hizmet şirketlerinin hala http kullanıyor olması beni şaşırtıyor.
Tom Hawtin -

15
@Tom Bana kimlik avı mesajları gönderen bazı sitelerin sahte siteleri için https kullanmasını diliyorum, bu yüzden verilerimi doğru kimlik avcılarına verdiğimi biliyorum.
WhirlWind

Bu soruyu sorduğun için teşekkürler. Bunun sebebinin performans olduğunu ve http'den çok daha kötü olacağını düşünüyordum. Cevapları görünce, performans çok kötü değil gibi görünüyor, bu da beni meraklandırıyor.
sundar - Monica'yı eski durumuna getir

4
Bence sayfadaki en kötü yanıtı, 11 eksi oyla seçtin. Seçtiğiniz yanıtta güvenlik ve en iyi uygulamalar tamamen göz ardı edilir.
kale

5
Bu soru gerçekten eğitimli, modern bir cevabı hak ediyor.
Old Badman Grey

Yanıtlar:


17

Birkaç neden düşünebilirim.

  • Bazı tarayıcılar SSL'yi desteklemeyebilir.
  • SSL performansı biraz düşürebilir. Kullanıcılar büyük, genel dosyalar indiriyorsa, bunları her seferinde şifrelemek için bir sistem yükü olabilir.

137
Hangi tarayıcılar SSL'yi desteklemez?
Malfist

6
Bazı lynx derlemeleri onu desteklemeyecektir. Yalnızca daha yeni tarayıcıları destekliyorsanız, iyi olmalısınız.
WhirlWind

5
Şuna bakıyordum: iweb.tntech.edu/hexb/publications/https-STAR-03122003.pdf "Sunucu doygun hale geldiğinde, HTTPS'nin sistem performansı, aktarım hızı açısından HTTP'nin yaklaşık% 67'sine ulaşır."
WhirlWind

16
I don t buy this explanation. 1) Dondoğru https bağlamak yapabilirsiniz yönlendirme http trafiği, bile kullanımları şu anda 3) düzgün kurulum SSL google) 2013 2'de bir tarayıcı olduğu `nın desteği SSL kullanıyoruz.
jfyelle

4
Yanlış cevap, neden bu kadar çok oy veriyor? Dünyadaki hangi tarayıcı ssl'yi desteklemiyor ve kullanıcıların https yazmayı hatırlamaları gerekmiyor, yönlendirmelerle işlenebilir
Sanne

25

Diğer nedenlere ek olarak (özellikle performansla ilgili), HTTPS kullanırken IP adresi * başına yalnızca tek bir alan adı barındırabilirsiniz.

Tek bir sunucu, HTTP'de birden çok etki alanını destekleyebilir çünkü Sunucu HTTP başlığı, sunucunun hangi etki alanıyla yanıt vereceğini bilmesini sağlar.

HTTPS ile, sunucunun sertifikasını istemciye ilk TLS el sıkışması sırasında (ki bu HTTP başlamadan önce) sunması gerekir. Bu, Sunucu başlığının henüz gönderilmediği anlamına gelir, bu nedenle sunucunun hangi etki alanının talep edildiğini ve hangi sertifikayla (www.foo.com veya www.bar.com) yanıt vereceğini bilmesinin bir yolu yoktur.


* Dipnot: Teknik olarak, farklı bağlantı noktalarında barındırıyorsanız birden fazla etki alanını barındırabilirsiniz, ancak bu genellikle bir seçenek değildir. Ayrıca, SSL sertifikanızda bir joker karakter varsa, birden fazla alan adı barındırabilirsiniz. Örneğin, * .example.com sertifikasıyla hem foo.example.com hem de bar.example.com'u barındırabilirsiniz.


5
Wildcard SSL sertifikasına sahip olmak bu sorunu çözmez mi?
Rob

Dipnot cevabı çelişiyor: / joker karakter sertifikalarını kullanabilir ve herhangi bir alanı barındırabilirsiniz. en.wikipedia.org/wiki/Wildcard_certificate
lucascaro

23
Bu sorun, günümüzde tüm büyük tarayıcılar tarafından desteklenen Sunucu Adı Göstergesi ile uzun zamandır çözülmüştür. en.wikipedia.org/wiki/Server_Name_Indication
tia

@tia, tüm web sunucularının desteklememesi dışında
meffect

2
@meffect ... Ancak apache2, nginx, lighttpd ve nodejs dahil olmak üzere pek çok şey var. Bunun yanı sıra, geliştirici HTTPS tünellemesi için hangi ters proxy'yi kullanacağını seçebilir. "Hiçbir istemci desteklemiyor" demek, doğru olsaydı geçerli bir nokta olurdu, çünkü bu, geliştiricinin üzerinde hiçbir kontrolü olmayan ve hesaba katması gereken bir şeydir. Ancak, "bazı sunucular bunu desteklemiyor" demek büyük ölçüde önemsizdir, çünkü tam olarak hesaba katılması gerekmiyor. Özellikle tüm ana sunucuları do aslında destek var.
Parthian Shot

13

SSL / TLS neredeyse yeterince sık kullanılmaz. HTTPS, tüm oturum için kullanılmalıdır , hiçbir noktada bir Oturum Kimliği HTTP üzerinden gönderilemez. Oturum açmak için yalnızca https kullanıyorsanız, 2010 için OWASP ilk 10 "A3: Bozuk Kimlik Doğrulama ve Oturum Yönetimi" ni açıkça ihlal etmiş olursunuz .


Bu çok geniş bir varsayım olabilir. Tek https oturum açma işlemi aracılığıyla http ve https için oturum durumunun ayrı ayrı yönetilememesinin hiçbir nedeni yoktur. Değerinden daha fazla iş olması muhtemeldir ve güvenlikle ilgili hataları davet eder, ancak otomatik olarak açık bir ihlal oluşturmaz.
Einstein

@Einstein lütfen OWASP A3'ü okuyun, çok açık bir şekilde ifade edilmiştir. Kimliği doğrulanmış bir oturumdan gelen tanımlama bilgisine sahipse saldırganın kullanıcı adı / parolaya ihtiyacı olmadığını unutmayın.
kale

Site, karışık https / http sağlar. https oturum açma, ayrı düşük ve yüksek güvenlikli oturum belirteçleri sağlar. Yalnızca http oturumuna atanan düşük güvenlik belirteçleri, yüksek güvenlik gerektiren işlemler için çalışmaz. Okumamdan OWASP A3, düşük güvenlikli ulaşım yoluyla yüksek güvenlikli erişim olasılığının temel sorununu açık bir şekilde aydınlatıyor.
Einstein

@Einstein O halde Oturum kimliklerinin web tarayıcılarını doğrulamak için kullanıldığına katılmıyor musunuz? Bu saldırı modelini göz önünde bulundurun, xss saldırılarında değerini elde etmeye çalışıyorsunuz, document.cookieböylece saldırgan bunu kimlik doğrulaması için kullanabilir. Bu değer, https'nin durduğu trafiğin koklanmasıyla da elde edilebilir. Ne demek istediğinden tam olarak emin değilim.
kale

Senaryonuzda, bir sistemin her iki protokolün de https oturumu ve http oturumu tanımlama bilgisi tarafından açığa çıkan ilişkili kaynaklar olmadan kullanılmasına izin vermek için tek bir kimlik doğrulama eylemi için iki ayrı oturum oluşturması durumunda, http için oturum kimliği, https korumalı kaynaklar için değersiz olacaktır. Örneğin http oturumu, raporlama amacıyla kamu kaynaklarına erişimin belirlenmesi veya genel mesaj panolarına erişim için kullanılabilir, ancak bunlar güvenli kaynaklar için geçerli olmayacaktır.
Einstein

12

Neden her bir salyangoz posta gönderisini, kurcalamaya karşı korumalı, opak bir zarf içinde Kayıtlı Posta ile göndermiyorsunuz? Postaneden biri her zaman onun kişisel velayetini alırdı, bu yüzden hiç kimsenin postanızı gözetlemediğinden emin olabilirsiniz. Açıkçası, cevap şu ki, bazı postalar masrafa değer olsa da çoğu postanın değeri yoktur. Kimsenin "Hapisten çıktığına sevindim!" Joe Amca'ya kartpostal.

Şifreleme ücretsiz değildir ve her zaman yardımcı olmaz.

Bir oturum (alışveriş, bankacılık vb.) HTTPS kullanılarak sona erecekse, tüm oturum HTTPS'yi mümkün olduğunca erken yapmamak için iyi bir neden yoktur.

Benim fikrim HTTPS'nin yalnızca kaçınılmaz olarak gerekli olduğunda kullanılması gerektiğidir, çünkü istek veya yanıtın ara sıra gözetlemeden korunması gerekir. Örnek olarak, Yahoo! anasayfa. Giriş yapmış olsanız bile, etkileşiminizin çoğu HTTP üzerinden olacaktır. HTTPS üzerinden kimlik doğrulaması yaparsınız ve kimliğinizi kanıtlayan çerezler alırsınız, böylece haberleri okumak için HTTPS'ye ihtiyacınız olmaz.


LOL !!! Harika! Bahse girerim "Hapisten çıktığına sevindim" diyerek zarfı açan haydut postacı, pantolonunu biraz
çıldırtacak

19
Kayıtlı posta% 300 yerine% 1 daha pahalı olsaydı , her şey için kullanırdım.
solublefish

3
You authenticate over HTTPS and get cookies that prove your identity, so you don't need HTTPS to read news stories.Oturum kimlik doğrulamasını halletmenin uygun yolu bu değildir. Çerezler GÜVENLİ bayrağıyla ayarlanmalıdır. Ama o korkunç güvenlik tavsiyesini bir saniyeliğine göz ardı ederek ... Posta benzetmeniz birkaç nedenden dolayı gerçekten doğru değil. Genellikle istismarları iade postasına enjekte edemeyeceğiniz veya cezasız bir şekilde bir başkasının kimliğine bürünemeyeceğiniz veya iade postasına bir "Oturumunuzun Süresi Doldu" mesajı gönderemeyeceğiniz, böylece hem Yahoo! ve bankaları.
Parthian Shot

Diğer şeylerin yanı sıra, parola yeniden kullanımı ve oturum sabitleme, salyangoz postada sorun değildir.
Partian Shot

Bunlar iyi noktalar, ancak 2010'daki bir tartışmaya 2016 analizini uyguluyorsunuz.
David M

12

Sistem yükünün ötesinde en büyük nedeni isme dayalı sanal barındırmayı bozmasıdır. SSL ile tek site - tek IP adresi. Bu oldukça pahalıdır ve yönetimi daha zordur.


1 Onun Google App Engine özel alan adlarında https desteklemez nedeni. TLS-SNI'nin daha geniş çapta desteklenmesi bekleniyor.
Sripathi Krishnan

1
Bunu SSL sonlandırma donanımı ile geri alabilirsiniz. Ve eğer sistem yükü bir problemse (birçok insan için!) O zaman donanım SSL'si yine de gitmenin yolu olabilir.
Jason

tek fark, aynı sertifika içinde birden fazla alan adına sahip olabilmenizdir.
lucascaro


7
Gönderideki bilgiler eski olduğu için olumsuz oylama. SNI artık tüm büyük tarayıcılar tarafından desteklenmektedir.
Martin Törnwall

5

Yüksek gecikmeli bağlantılar için ilk TLS el sıkışması, sertifika zincirini doğrulamak (herhangi bir ara sertifika göndermek dahil), şifre paketleri üzerinde anlaşmak ve bir oturum oluşturmak için ek gidiş-dönüşler gerektirir. Bir oturum kurulduktan sonra, sonraki istekler, gidiş dönüş sayısını azaltmak için oturumu önbelleğe almayı kullanabilir, ancak bu en iyi durumda bile, normal bir HTTP bağlantısının gerektirdiğinden daha fazla gidiş dönüş vardır. Şifreleme işlemleri ücretsiz gidiş-dönüş olsa bile, özellikle site http ardışık düzeninden yararlanmıyorsa, daha yavaş ağ bağlantılarında oldukça fark edilebilir ve farkedilebilir. Ağın iyi bağlanmış bir bölümündeki geniş bant kullanıcıları için bu bir sorun değildir. Uluslararası olarak iş yapıyorsanız, https talep etmek, kolayca fark edilir gecikmelere neden olabilir.

Potansiyel olarak önemli ölçüde daha fazla bellek ve tabii ki veri şifreleme işlemleri gerektiren oturum durumunun sunucu bakımı gibi ek hususlar vardır. Herhangi bir küçük sitenin ne sunucu kapasitesi ne de bugünün donanımının maliyeti konusunda endişelenmesi gerekmez. Herhangi bir büyük site, benzer işlevsellik sağlamak için kolayca CPU / w AES yükünü veya eklenti kartlarını karşılayabilir.

Zaman geçtikçe ve donanım ve ağın yetenekleri geliştikçe, tüm bu sorunlar giderek daha fazla sorun olmaktan çıkıyor. Çoğu durumda, bugün somut bir fark olduğundan şüpheliyim.

Https trafiğinde idari kısıtlamalar gibi operasyonel hususlar olabilir (ara içerik filtrelerini düşünün… vb.) Muhtemelen bazı kurumsal veya resmi düzenlemeler olabilir. Bazı kurumsal ortamlar, bilgi sızıntısını önlemek için çevredeki verilerin şifresinin çözülmesini gerektirir ... sıcak nokta ile etkileşim ve https işlemlerinde mesaj enjekte etme yeteneğine sahip olmayan benzer web tabanlı erişim sistemleri. Günün sonunda, benim görüşüme göre, varsayılan olarak https kullanılmama nedenleri oldukça küçük olacaktır.


4

https, normal http'den daha fazla kaynak açtır.

Hem sunuculardan hem de istemcilerden daha fazlasını talep eder.


3

Oturumun tamamı şifrelenmişse, proxy düzeyinde görüntüler ve js gibi statik kaynaklar için önbelleğe almayı kullanamazsınız, örneğin ISP.


Eh, fro SSL sonlandırıcı proxy'ler dışında veya HTTPS özellikli bir CDN kullanıyorsanız.
Parthian Shot

3

HTTPS'yi her yerde kullanmalısınız, ancak aşağıdakileri kaybedeceksiniz:

  1. İHLAL ve SUÇ saldırıları nedeniyle kesinlikle SSL Sıkıştırma veya SSL üzerinden HTTP Sıkıştırma kullanmamalısınız. Dolayısıyla, yanıtınız oturum veya csrf tanımlayıcıları içeriyorsa sıkıştırma yapılmaz. Statik kaynaklarınızı (resimler, js, css) çerezsiz bir alana yerleştirerek ve orada sıkıştırma kullanarak bunu hafifletebilirsiniz. Ayrıca HTML küçültmeyi de kullanabilirsiniz.

  2. Tüm tarayıcılarda (eski android, blackberry 6 vb.) Çalışmayan SNI kullanılmadığı sürece bir SSL sertifikası, tek IP adresi.

  3. Sayfalarınızda SSL üzerinden gelmeyen herhangi bir harici içeriği barındırmamalısınız.

  4. Tarayıcı bir HTTP sayfasına gittiğinde giden HTTP Referer başlığını kaybedersiniz, bu sizin için sorun olabilir veya olmayabilir.


0

Bunun bariz nedeni performanstır: tüm verilerin aktarımdan önce sunucu tarafından şifrelenmesi ve ardından alıcı tarafından şifresinin çözülmesi gerekir, bu da hassas veri yoksa zaman kaybıdır. Ayrıca sitenizin ne kadarının önbelleğe alınacağını da etkileyebilir.

Ayrıca, tüm adreslerin https://tanıdık değil de kullanması son kullanıcılar için kafa karıştırıcı olabilir http://. Ayrıca şu yanıta bakın:

Bir js dosyası eklerken neden her zaman https kullanılmıyor?


9
neden kullanıcıların kafasını karıştırsın? Aslında kaç kişi uri protokolüne bakıyor?
Malfist

Bugün, 10 yıl sonra, https daha yaygın ve http kafa karıştırıcı olabilir
madprops

0

https, sunucunun istemci isteklerini ve yanıtlarını şifrelemesini ve şifresini çözmesini gerektirir. Sunucu çok sayıda istemciye hizmet veriyorsa performans etkisi artacaktır. Bu nedenle, mevcut https uygulamalarının çoğu yalnızca parola kimlik doğrulamasıyla sınırlıdır. Ancak artan bilgi işlem gücüyle bu durum değişebilir, çünkü tüm Gmail site için SSL kullanmaktadır.


0

WhirlWind'in yanıtına ek olarak, SSL sertifikalarının maliyetini ve uygulanabilirliğini, erişim sorunlarını (olası olmasa da bir istemcinin SSL portu üzerinden iletişim kuramaması mümkündür) vb.

SSL kullanmak garantili bir güvenlik örtüsü değildir. Bu tür bir korumanın, sihirli bir mermiye güvenmeye çalışmak yerine, uygulamanın mimarisine dahil edilmesi gerekir.


2
Kullanıcı zaten sitenin bir bölümünü koruduğundan, sertifikanın maliyeti az ya da çok tartışmalı.
futureelite7

2
@ futureelite7 iyi bir nokta, ancak gelecekte bu konuyu araştıracak diğerleriyle muhtemelen alakalı.
3Dave

Özellik, güvenliğin düşmanıdır. Kendi eşyalarımdaki zayıflıkların çoğunun kökleri, benim veya bir önceki kişinin ürün planına kabul ettiği bazı kötü tavsiye edilmiş özelliklerden kaynaklanıyor. Bir güvenlik açığına neden olduğu için bir özelliğin başlatılmasının, sizi en başta reddetmekten daha popüler yapmadığını görüyorum. Popülarite ÖNEMLİ DEĞİL, ama ne yazık ki olabilir ve önemli. Yerinde, güvensiz kullanıcılarla gerçekten ne kadar uğraşmak istediğimi veya uygulamanın şifreleme kullanamayan kullanıcılar için bile uygun olup olmadığını kendime sorardım (düşünün: bankacılık, politika, aktivizm).
Jason

0

Şirketimizdeki bir projede, SSL mesajlarının kapladığı bant genişliğinin düz mesajlardan önemli ölçüde daha fazla olduğunu buldukları söylendi. Sanırım birisi bana bunun 12 kat fazla veri olduğunu söyledi. Bunu kendim doğrulamadım ve kulağa çok yüksek geliyor, ancak her sayfaya bir tür başlık eklenmişse ve çoğu sayfada az miktarda içerik varsa, bu o kadar uzak olmayabilir.

Bununla birlikte, http ile https arasında gidip gelme ve hangi sayfaların olduğunu takip etme zahmeti bana çok fazla çaba gibi geliyor. Sadece bir kez onları karıştıran bir site kurmaya çalıştım ve Javascript tarafından oluşturulan açılır pencereler gibi karmaşık şeylere yanlış protokol eklenmesi gibi karmaşık şeylere takılıp kaldığımızda planı terk ettik. Sonunda tüm siteyi https'yi daha az sorun haline getirdik. Sanırım, sadece bir giriş ekranınız ve korunması gereken bir ödeme ekranınız olduğu ve basit sayfalar olduğu durumlarda, karıştırıp eşleştirmek çok önemli olmaz.

İstemcinin şifresini çözme yükü hakkında fazla endişelenmem. Normalde müşteri, verinin kabloyu işlemek için gerekenden çok daha fazla veri tel üzerinden gelmesini bekler. Kullanıcılar rutin olarak gigabit / sn internet bağlantılarına sahip olana kadar, istemci işlem gücü muhtemelen oldukça önemsizdir. Sayfaları şifrelemek için sunucu tarafından talep edilen CPU gücü farklı bir sorundur. Yüzlerce veya binlerce kullanıcıya yetişememe gibi sorunlar olabilir.


1
Ekstra bant genişliği, en kötü durumda bile küçüktür.
Başkan James K. Polk

0

Bir başka küçük nokta (belki birisi doğrulayabilir), Bir kullanıcı bir metin kutusu gibi bir form öğesine veri yazarsa ve daha sonra herhangi bir nedenle sayfayı yenilerse veya sunucu bir saniye için çökerse, kullanıcının girdiği veriler kaybolur HTTPS, ancak HTTP kullanılarak korunur.

Not: Bunun tarayıcıya özgü olup olmadığından emin değilim, ancak kesinlikle Firefox tarayıcımda oluyor.


0

IIS 8.0 ile Windows Server 2012 artık, IIS'deki birden çok SSL Web Uygulamasının tek bir IP Adresinde barındırılmasına izin veren Sunucu Adı Göstergesi olan SNI'yi sunmaktadır.


1
Bunun soruyla ne alakası var? Bu ilginç bir özellik, ancak alaka düzeyini görmüyorum.
user1618143
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.