Soru:
HTTPS'ye ek olarak neden HTTP sunmalıyım?
lofidevops
2017-04-18 18:00:56 UTC
view on stackexchange narkive permalink

Yeni bir web sunucusu kuruyorum. TLS / HTTPS'ye ek olarak, Strict-Transport-Security ve diğer HTTPS yaptırım mekanizmalarını uygulamayı düşünüyorum.

Bunların hepsi benim varsayımıma dayanıyor gibi görünüyor https://www.example.com 'a ek olarak http://www.example.com sunma. Neden yalnızca HTTPS sunmuyorum? Yani, HTTP sunmanın güvenliğe dayalı bir nedeni var mı - örneğin, HSTS'yi kurmazsam birisi http://www.example.com 'u taklit edebilir mi?

tarayıcı olmayanların içerik getirme konusunda çok daha fazla sorunu olabilir.Örneğin craigslist gibi siteler mashup'larda başarılı olur.insan olmayan "kullanıcılar" için bazı http bölümlerini açık bırakmanın bir zararı görmüyorum;phishing, xss veya gizlilik umurlarında değil ve HTML sunmanıza bile gerek yok ...
@dandavis - bu gerçekten bir sorun mu?Craigslist yalnızca HTTPS'ye giderse, herkes getirme komut dosyalarını HTTPS'ye dönüştürmez mi?Çoğu HTTP istemci kitaplığı HTTPS desteği içerir.
Yalnızca HTTPS'ye sahip bir siteyi sorunsuz bir şekilde çalıştırırsanız, insanlar HTTPS'nin pratik olmadığı konusunda FUD'yi nasıl yayabilir?Düşün adamım!Peki ya HTTPS'yi her yerde duymamış büyükannelere saldırmak isteyen zavallı hackerlar?Daha güvenli bir web veya başka bir şey tanıtmaya çalışıyor gibisiniz.
@Johnny:, https kadar http'yi http kadar desteklemez, hepsi bu.daha iyi olacak...
@dandavis Bu beni şaşırtan bir şey ... tüm büyük tarayıcılar * http'den önce https * denemeye başlamalı ... bu çok fazla güvenlik problemini çözecektir ...
Altı yanıtlar:
Anders
2017-04-18 18:58:32 UTC
view on stackexchange narkive permalink

Kullanılabilirlik nedenlerinden dolayı, tüm HTTP URL'lerinden HTTPS'ye bir yönlendirme sunmanız gerekir. Aksi takdirde, tarayıcının URL çubuğuna example.com/some/page 'i ilk kez giren ziyaretçiler bir bağlantı hatasıyla karşılanır.

Yönlendirmeyi sunmak sizi yapmaz daha savunmasız. Tarayıcılarında HSTS girişinize sahip olmayan kullanıcılar yine de bir HTTP isteğinde bulunacaktır. HTTP'de gerçek bir hizmet olup olmadığı, ortadaki bir adam için önemli değildir.

Bu nedenle, bir HTTP sunucusu çalıştırmanız gerekir, ancak yönlendirmeler dışında hiçbir şeyle yanıt vermesi gerekmez. .

Yorumlar uzun tartışmalar için değildir;bu konuşma [sohbete taşındı] (http://chat.stackexchange.com/rooms/57580/discussion-on-answer-by-anders-why-should-i-offer-http-in-addition-to-https).
Ronny
2017-04-18 18:44:48 UTC
view on stackexchange narkive permalink

Neden yalnızca https sunmuyorum?

Ana nedenler tarayıcıların varsayılan davranışı ve geriye dönük uyumluluktur .

Varsayılan davranış

Bir son kullanıcı (yani, protokoller veya güvenlik bilgisi olmadan) tarayıcısına web sitesi adresini yazdığında, tarayıcı varsayılan olarak HTTP kullanır. Tarayıcıların neden bu davranışı seçtiğiyle ilgili daha fazla bilgi için bu soruya bakın.

Bu nedenle, kullanıcılar büyük olasılıkla web sitenize erişemeyecektir.

Geriye dönük uyumluluk

Eski sistemlere ve eski tarayıcılara sahip bazı kullanıcıların HTTPS'yi desteklememesi veya büyük olasılıkla güncel bir kök sertifikaları veritabanına sahip olmaması mümkündür veya bazı protokolleri desteklemez.

Bu durumda, ya web sitesine erişemezler ya da bir güvenlik uyarısı alırlar. Son kullanıcılarınızın güvenliğinin HTTPS'yi zorlayacak kadar önemli olup olmadığını belirlemeniz gerekir.

Birçok web sitesi hâlâ HTTP'yi dinler ancak otomatik olarak HTTPS'ye yeniden yönlendirir ve gerçekten eski kullanıcıları yok sayar tarayıcılar.

HSTS'yi kurmazsam birisi http://www.example.com sahtesini yapabilir mi?

Bir saldırgan http://www.example.com 'u taklit etmek isterse, etki alanının kontrolünü ele geçirmesi veya bir şekilde IP adresinin kontrolünü ele geçirmesi gerekir.

Şunu kastettiğinizi varsayıyorum: Bir saldırgan ortadaki adam saldırısı yapabilir mi?

Bu durumda evet, ancak HSTS ile veya HSTS olmadan bile:

  • HSTS olmadan : Bir saldırgan kolaylıkla sunucunuzun ve kullanıcının ortasında olabilir ve aktif (yani içeriği değiştirebilir) veya pasif (ör. kulak misafiri olabilir) olabilir

  • HSTS ile : Bir kullanıcı HTTP kullanarak siteyi ilk kez ziyaret etmeyi denediğinde, bir saldırgan kullanıcıyı HTTP kullanmaya zorlayabilir. Ancak saldırganın saldırısını gerçekleştirebileceği zaman sınırlı bir zaman aralığı vardır.

Ne yapmalısınız?

Pek çok web sitesi gibi, HTTP bağlantılarına izin vermeli ve sunucunuzun kullanıcıyı HTTPS sürümüne yönlendirmesini sağlamalısınız. Bu şekilde, tarayıcıların varsayılan davranışını geçersiz kılarsınız ve kullanıcılarınızın HTTPS sürümünü kullanmasını sağlarsınız.

Uygun protokoller veya kök sertifikaları olmayan eski sistemler siteye erişemez (veya en azından bir uyarı alırsınız) ), ancak kullanıcı tabanınıza bağlı olarak bu bir sorun olmamalıdır.

Sonuç

HTTP'yi devre dışı bırakmak yarardan çok zarar verir. Gerçekte daha fazla güvenlik sağlamaz.

Bir kaynağı korumak için eklenen herhangi bir güvenlik, kullanıcılarının çoğunun ona erişmesini engelliyorsa işe yaramaz. Son kullanıcılarınız, tarayıcıları varsayılan olarak HTTP'ye ayarlı olduğu için web sitenize erişemiyorsa ve siz de HTTP bağlantılarını dinlemiyorsanız, bunun faydası nedir?

HTTPS sürümüne HTTP 301 yönlendirmesini gerçekleştirmeniz yeterlidir.

İlgili sorular

Eğer sunucu HTTP'den HTTPS'ye bir yönlendirme sunarsa daha az güvenlik olduğunu ima eden kalın "HSTS ile" madde işaretinden bahsediyordum.
@BenVoigt Oh tamam görüyorum.Yanlış anlaşılmayı önlemek için "HTTP hizmet ediyorsanız" öğesini kaldırdım.Teşekkürler
Ek olarak, bazı kullanıcılar "https" sitelerine erişemeyebilir.Örneğin, Çin daha önce Wikimedia projelerine yönelik tüm https trafiğini engelliyordu.
Sadece kelime seçimi için bir düzeltme: Kullanıcı bir "URL" değil, bir "web adresi" giriyor.(Varsayılan şema / protokol diye bir şey yoktur.)
@OskarSkog "Web sitesi adresi" olarak değiştirdim, teşekkürler.
"HSTS ile" için, önceden yüklenmiş HSTS'nin aslında sitenize ilk kez gelen ziyaretçileri bile MITM saldırılarından koruyacağını unutmayın.
Taul
2017-04-18 23:40:49 UTC
view on stackexchange narkive permalink

Yukarı oylanan cevaplar çok iyi. HTTP'yi tamamen kapatırsanız, güvenlik üzerinde büyük bir etki yaratmadan kullanılabilirlikten ödün verirsiniz.

Ancak, bunu HSTS Ön Yükleme seçeneğiyle azaltabilirsiniz. Web sitenizi önceden yüklemek, etki alanınızı tarayıcı satıcılarına kaydettirmeniz ve tarayıcılarını yalnızca HTTPS aracılığıyla web sitenizi ziyaret etmeleri için sabit kodlayacakları anlamına gelir. Bu, bir kullanıcı web sitenize HTTP üzerinden erişmeye çalışırsa, tarayıcının isteği HTTPS olarak değiştireceği anlamına gelir. Kullanıcının güvenli hale gelmeden önce HSTS başlığını alması gerekmez. Size her zaman güvenli bir kanal üzerinden bağlanacaklar.

Artık bu, yalnızca HTTPS web siteleri listelerini güncellememiş tarayıcıları kullanan kullanıcıları korumuyor. Önceden yüklemeyi kullanırken bile, eski veya güncellenmemiş tarayıcıları kullanan birkaç kişi için HTTP'yi kapatmamanızı öneririm.

Ancak dikkatli olun, ön yükleme kalıcıdır! Ön yükleme listesinden çıkmak son derece zordur.

Ön yükleme listesine girmek için: https://hstspreload.org/

Önyükleme listesinden çıkıldığında hangi sorun çözülür?Demek istediğim, neden biri istesin ki?(Ben teknik bir soru soruyorum; retorik değil. Anladığım kadarıyla, yalnızca herhangi bir nedenle HTTPS sunmayı * durdurmaya * karar verirlerse iptal etmek isteyecekler - değil mi?)
@Wildcard bu doğru.Aklıma gelen bir kullanım durumu, bir etki alanının X kişisi tarafından kaydedilmiş olması durumunda, etki alanının geçersiz olmasına veya başka bir şekilde Y kişisine aktarılmasına izin vermeleridir. Artık Y kişisi, maliyet gibi herhangi bir nedenle istemeseler bile https kullanmak zorunda kalmaktadır, sürükle ve bırak web sitesi oluşturucusuyla ilgili teknik sınırlamalar vb.
@Erik, teşekkürler.O halde, çok uzun vadeli bir tasarım perspektifinden, HSTS önyüklemesinin * kasıtlı bir seçimle * kalıcı olduğundan şüpheleniyorum - nihai hedef olan http'yi uygulamada * tam olarak * kullanımdan kaldırarak popüler tarayıcıların "gelişmiş ayarlardan geçmenizi gerektirmesi""hatta etkinleştirmek için menüler.En azından hayal edebiliyoruz.:)
@Wildcard Muhtemelen hedefin bu olduğuna katılıyorum.Varsayılan olarak IPv6 veya yalnızca https olsa da ilk internet genelinde hangisinin olacağını merak ediyorum;) İkisine de ihtiyaç var ama zorlu bir savaş ......
Scott Hemle bu konuda harika bilgilere sahip.Lütfen bununla ilgili blog sayfasını okuyun: https://hpkp.scotthelme.co.uk/death-by-copy-paste/ Kısacası, Scott üç neden veriyor.1) yönettiğiniz tüm alt alanlar üzerindeki etkileri dikkate almamak 2) 3. tarafların yönetmesine izin verdiğiniz tüm alt alanlar üzerindeki etkileri dikkate almamak.3) başlık yapılandırmalarını ön yüklemeyi içerecek şekilde kopyalayın / yapıştırın (ve daha sonra birisi sitenizi izninizle veya izniniz olmadan kaydettirir).
Root
2017-04-18 18:05:02 UTC
view on stackexchange narkive permalink

Buna gerek yok.

Bazı eski tarayıcılar ve işletim sistemleri (bunlar genellikle el ele gider) daha yeni sertifika kök yetkililerine sahip değildir, ancak genellikle daha yeni HTTPS'yi desteklemezler standartlar, yani gerçekten hiçbir şey kaybolmaz.

HTTPS, özel komut dosyası vb. desteklemeyen bir cihazınız olabilir.

DNS kaydı size aittir ve A kaydı, belirli IP adresinizi gösterir (mükemmel bir dünyada).

Bunu sadece uyumluluğu korumak için yaparsınız, hepsi bu.

"Kimse http sahtesini yapamaz" - "Kimse yapamaz" mı yoksa "Herkes yapamaz" mı demek istiyorsun?"DNS kaydı size aittir ve a kaydı özel IP adresinizi işaret eder" - Bu nedenle, ortadaki adam saldırıları asla gerçekleşmez, bu nedenle sertifika yetkililerine ve güven zincirine gerek yoktur.
"DNS kaydı size ait olduğu için kimse http sahtesini yapamaz" - Doğru.Birisi DNS girişini taklit etmediği sürece, bu durumda kimlik sahteciliği yapılabilir.
user3496510
2017-04-18 22:12:54 UTC
view on stackexchange narkive permalink

HTTP'yi yalnızca geriye dönük uyumluluğu desteklemek için desteklemelisiniz. Ve arka uç sunucusunda HTTPS'ye doğru yeniden yönlendirme yaptığınızdan emin olun. Bunu uygulamanın en iyi yolu, HTTP desteğini yalnızca ana sayfanıza veya hassas bilgiler içermeyen herhangi bir sayfaya sağlamaktır. Kullanıcıların Kimlik Doğrulamadan sonra erişebileceği sayfalara HTTP isteklerini desteklememelisiniz.

Sunucunuzun hassas verilerine erişen cihazlar (IoT) olsa bile, onları TLS kullanmaya zorlamalısınız (mevcut birçok cihaz sertifikanızı saklayabilir ve TLS bağlantısı oluşturabilir). 3.0'dan önceki SSL sürümlerinin poodlebug vb. Gibi birçok güvenlik açığı olduğunu unutmayın. Bu nedenle, Web sunucunuzdaki tüm önceki sürümleri devre dışı bırakın ve yalnızca> TLS 1.1'e izin verin.

HSTS'yi uygulamanız iyi bir şey. HPKP'yi sitenize uygulamanın fizibilitesine de göz atmanızı tavsiye ederim.

Russell Hankins
2017-04-22 01:19:21 UTC
view on stackexchange narkive permalink

https'ye ek olarak http'yi iki amaçla kullanıyorum:

  1. http'yi https web sitesine yönlendirin. Bu, birisinin sitenizin adını tarayıcıya yazması içindir.
  2. http için, birisinin nokta com adını kullanmadan web sitesine erişmeye çalışması için ayrı bir web sitesi oluşturuyorum. (Gerçek bir kullanıcı bunu yapmayacaktır.) Bu web sitesi basit bir Çok Yakında mesajı gösterecektir. Ayrıca bu IP'yi sunucudan kalıcı olarak yasaklamak için IP adreslerini IP Tabloları reddetme listesine ekleyecektir. Bu durdurur , masscan kullanan bilgisayar korsanlarını yavaşlatır. (Başka bir programcıya bunun google taraması olmadığını kanıtlamak için engellediğim tüm IP'lerin kullanıcı aracısı dizelerini depolayarak kitlesel tarama buldum, ama aslında, IP taraması yapan yabancı bilgisayar korsanları, hacklemeye çalışmak için web sunucuları arıyor).


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...