SSL stripping saldırısında saldırgan, kullanıcı ile sunucu arasına girer; sunucuyla HTTPS konuşurken kullanıcıya HTTP üzerinden yanıt verir. Kullanıcı ilk istekte genellikle http:// yazdığı veya eski bir bağlantıya tıkladığı için bu açık pencere oluşur. Şifresiz sayfada girilen parola ve çerezler saldırganın eline geçebilir.
Saldırının zayıf noktası
İlk HTTP isteği ve sunucunun verdiği 301 yönlendirmesi korumasızdır. Saldırgan bu yönlendirmeyi yakalayıp kullanıcıyı HTTP'de tutabilir. Çözüm, tarayıcının hiç HTTP isteği göndermemesini sağlamaktır.
Koruma adımları
- Tüm HTTP isteklerini HTTPS'e 301 ile yönlendirin:
server {
listen 80;
server_name alanadi.com www.alanadi.com;
return 301 https://$host$request_uri;
}
- HTTPS yanıtlarına HSTS ekleyin:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
- Tarayıcı bu başlığı bir kez gördükten sonra süre boyunca siteye doğrudan HTTPS ile bağlanır; HTTP isteği hiç ağa çıkmaz.
- İlk ziyaret riskini de kapatmak için HSTS preload listesine başvurmayı düşünün. Bunun için
preloadifadesi ve yeterlimax-agegerekir; listeye girdikten sonra geri çıkmak zordur, bu yüzden tüm alt alan adlarının HTTPS sunduğundan emin olun. - Çerezleri
Securebayrağıyla işaretleyin; böylece HTTP üzerinden gönderilmezler.
Doğrulama
curl -sI https://alanadi.com | grep -i strict-transportbaşlığı gösterir.curl -sI http://alanadi.comyanıtı 301 ve https:// adresine yönlendirme içermelidir.
Sık hatalar
- HSTS'i yalnızca HTTP yanıtına eklemek; başlık yalnızca HTTPS yanıtlarında geçerlidir.
- Çok kısa
max-agekullanmak. - www olmayan veya alt alan adlarını atlamak.
İstemci tarafı alışkanlıklar
Kullanıcıları yer imlerinde ve e-posta bağlantılarında https:// adreslerini kullanmaya yönlendirin. Uygulamalarınızda (mobil, API istemcileri) varsayılan şemayı https yapın ve HTTP'ye düşmeye izin vermeyin. Bu, ilk istek açığını istemci tarafında da kapatır. Kullanıcılara halka açık ağlarda adres çubuğundaki uyarılara dikkat etmelerini hatırlatmak da faydalıdır.
Geçerli bir sertifika bu korumanın ön koşuludur; SSL sertifikaları sayfasına, kontrol için SSL denetleyici aracına bakabilirsiniz.