Önce http:// yazan ve bir yönlendirme sonrasında https://'ye ulaşan bir tarayıcı zaten açık bir istek göndermiştir ve VPN bunu değiştirmez. Tünel, bacağı istemciden çıkış düğümüne kadar korur; taşıma katmanının üzerindeki hiçbir şeyi şifrelemez, bu nedenle çıkış ile başlangıç noktası arasındaki gözlemci hala düz metin sıçramasını görür. HTTPS'yi ilk istek haline getirmek, istemci tarafında üç bölümden oluşan bir değişikliktir: gerçek bir HTTPS adresi, tarayıcının yükseltme modu ve sitenin kendi politikası. Aşağıdaki adımlar benim kullandığım sıralamadır ve her birinde bunun gerçekleştirilip gerçekleştirilmediğini belirten bir kontrol bulunur.

1. Adım: İlk isteğin gerçekte ne olduğunu onaylayın

Herhangi bir şeyi değiştirmeden önce tarayıcının ne gönderdiğine bakın. Sayfanın soğuk önbellekten yeniden yüklendiği ağ panelini açın ve ilk satırı okuyun: şema http ise ve durum 301 veya 308 ise, bu satırdan sonraki her şey ikinci bir istektir. curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com aynı sırayı tarayıcının dışında yeniden üretir ve ulaştığınız URL'yi yazdırır.

İki sonuç mümkündür ve bunların farklı düzeltmelere ihtiyacı vardır. Site aynı ana bilgisayarda HTTPS hizmeti veriyorsa çözüm, HTTP formunu yayınlamayı durdurmaktır: yer işaretini, wiki bağlantısını, masaüstü kısayolunu ve insanların tıkladığı e-posta şablonunu güncelleyin. Site hiç HTTPS sunmuyorsa, hiçbir tarayıcı ayarı bunu oluşturamaz ve dürüst cevap, sorunun hedef olduğudur. Bir hesap sayfasındaki sertifika istisnası aktarım sorununu kimlik bilgisi sorununa dönüştürdüğünden, ikinci durumu bir istisna dışında ele almayın. Bir ayara dokunmadan önce hangi durumda olduğunuzu yazın.

2. Adım: Tarayıcının yalnızca HTTPS modunu açın

Yükseltme modu ikinci kısımdır ve modlar birbiriyle değiştirilemez. Etkinleştirmeden önce sizinkinin ne yaptığını kontrol edin: sessizce yükseltin, bir uyarıyla yükseltin veya yüklemeyi reddedin.

Firefox'ta kontroller about:config'nin arkasında ve gizlilik ayarları sayfasında bulunur; anahtar olarak dom.security.https_only_mode bulunur ve asma kilit menüsünden yönetilen site bazında istisnalar bulunur. Chrome ve Edge'de aynı fikir Ayarlar, Gizlilik ve güvenlik, Güvenlik altında Her zaman güvenli bağlantıları kullan etiketli olarak bulunur. Etiket ne olursa olsun, yalnızca 80 numaralı bağlantı noktasında yanıt veren bir ana bilgisayara karşı davranışı doğrulayın; çünkü yükseltilen ve ardından sessizce geri çekilen bir mod, etkinleştirdiğinizi düşündüğünüz koruma değildir. Yalnızca Firefox HTTPS belgeleri söz konusu tarayıcının yükseltme, uyarı ve istisna davranışını açıklamaktadır.

3. Adım: Yalnızca adres çubuğunu değil, kaynakları da düzeltin

Yükseltme başarısız olduğunda, adres çubuğu yerine hatanın tamamını okuyun. HTTPS dinleyicisi olmayan bir ana bilgisayar, sertifikayla eşleşmeyen bir ana bilgisayar adı ve süresi dolmuş bir zincir, farklı mesajlar üretir ve farklı sahiplere aittir. Yalnızca ilki sunucu tarafında bir boşluktur; ikincisi genellikle hiçbir zaman güncellenmeyen bir yer imidir; üçüncüsü ise VPN bağlantısının ilgisiz olduğu bir yenileme sorunudur.

VPN açık olduğundan hesap sitesine sertifika istisnası eklemeyin. Bu istisna, bir VPN'in engellemesi gereken müdahaleyi tam olarak yakalayacak kontrolü devre dışı bırakır.

Üçüncü bölüm sayfanın içindedir ve insanların gözden kaçırdığı bölümdür. HTTPS üzerinden yüklenen bir sayfa yine de bir http URL'sinden görseller, yazı tipleri veya komut dosyaları çekebilir ve tarayıcı ya bunları engelleyecek ya da tüm sayfanın güvenlik göstergesinin düzeyini düşürecektir. Ağ panelindeki başarısız istekleri inceleyin ve adres çubuğunun her isteği açıkladığını varsaymak yerine kaynak referanslarını sahiplerine sabitleyin. Çalıştırdığınız bir sitede bu, tarayıcıda yeniden yazmak yerine CMS'de veya şablonda saklanan URL'leri düzeltmek anlamına gelir. Kaynağı değiştiremiyorsanız karışık içeriği bilinen bir boşluk olarak kaydedin; çünkü düz metin kaynaklarını çeken bir sayfanın üzerindeki asma kilit yanlış bir sinyaldir.

4. Adım: HSTS neleri ekler ve neleri eklemez

HSTS, tarayıcı tercihinden ziyade bir site politikasıdır ve yeni bir profilde yazılan http://'den sonra hayatta kalan tek mekanizmadır. Bir tarayıcı bir ana bilgisayar için Strict-Transport-Security başlığını gördüğünde, daha sonraki istekleri göndermeden önce https'ye yeniden yazar; bu tam olarak istediğiniz özelliktir. Tarayıcının hiç ziyaret etmediği bir ana bilgisayar için hiçbir şey yapmaz ve aynı uygulamayı sunan farklı bir ana makine adı için de hiçbir şey yapmaz.

Kökenin curl -sSI https://example.com | grep -i strict-transport-security ile ne gönderdiğini kontrol edin. Eksik başlık bir sunucu değişikliğidir ve istemcinin yükleyebileceği bir şey değildir. Varsa, max-age'yi ve includeSubDomains'nin ayarlanıp ayarlanmadığını okuyun, çünkü ziyaretler arasında kısa bir maksimum yaş sona erer ve eksik bir includeSubDomains her alt alanı korumasız bırakır. RFC 6797, bir kullanıcı aracısının politikayı nasıl uygulayacağını ve neleri göz ardı edebileceğini tanımlar. Ön yükleme ayrı bir taahhüttür, bu nedenle, herhangi birine bir alan adının listede olduğuna dair söz vermeden önce durumu hstspreload.org API'si aracılığıyla kontrol edin.

Doğrulama ve geri alma

Geri alma, istemci ayarları açısından ucuz, HSTS için ise pahalıdır. Yalnızca HTTPS modunu kapatmak, önceki davranışı hemen geri yükler; uzun bir maksimum yaş geçerli değildir ve zaten bu hakkı almış olan ziyaretçiler, süresi dolana kadar yükseltmeye devam eder.

Bu nedenle, işlemi tamam olarak çağırmadan önce sırayla doğrulayın. Soğuk önbellekten yeniden yükleyin ve ağ panelindeki ilk isteğin, önceden yönlendirme olmadan https olduğunu onaylayın. Ardından bir alt alan adını kontrol edin, çünkü includeSubDomains, bu politikaların genellikle varsayılandan daha dar olduğu ortaya çıkar. Ardından, karma içerik diğer tüm düzeltmelerden sonra da hayatta kalan bir başarısızlık olduğundan, üçüncü taraf öğeleri çeken bir sayfayı kontrol edin.

Tüm bunlardan sonra ilk istek hala http ise, istemci artık değişken değildir: insanların tıkladığı bağlantıdır. Ana bilgisayar adının http formunu kontrol ettiğiniz yerlerde arayın, güncelleyin ve aynı soğuk önbellek yeniden yüklemesiyle yeniden test edin. VPN sorusunu baştan sona ayrı tutun çünkü tünel, isteği kimin görebileceğini değiştirir ve isteğin şifrelenip şifrelenmediğini asla değiştirmez. Bilete eklenecek satır, önemli olanın ilk istek olduğu ve yönlendirmenin yalnızca önceden gönderilmiş bir isteğe ilişkin makbuz olduğudur.

İlgili makaleler