Günümüz internet tarayıcıları, web uygulama zafiyetlerinden son kullanıcıyı korumak için General Header tagında belirli başlıkları kontrol ederek atak vektörlerini filtrelemektedir. Güvenli bir web uygulaması için son kullanıcı ile iletişimi sağlayan internet tarayıcılara güvenlik opsiyonları kazandıran,
Content-Security-Policy
X-Frame-Options,
X-Content-Type-Options,
X-XSS-Protection,
Feature-Policy
Başlıklarının kullanılması gerekmektedir.
Bu header başlıklarını ve IIS üzerinde nasıl aktif hale getireceğimizi anlatmaya çalışacağım.
HTTP güvenlik başlıkları nedir?
Bir tarayıcı bir web sunucusundan bir sayfa istediğinde, sunucu içerikle birlikte HTTP yanıt üstbilgileriyle yanıt verir . HTTP başlıkları, istemci ve sunucunun istek veya yanıtla birlikte ek bilgiler iletebilmesini sağlar.
Bunların yanı sıra, web sitenizin içeriğini kullanırken tarayıcınıza nasıl davranacağınızı söyleyen HTTP güvenlik başlıkları da vardır. Örneğin Strict-Transport-Security, tarayıcıyı kullanarak tarayıcıyı yalnızca HTTPS üzerinden iletişim kurmaya zorlayabilirsiniz. Bazı HTTP güvenlik başlıklarını işleyelim.
Content-Security-Policy
Sitenizi XSS saldırılarından korumak için etkili bir önlemdir. Onaylı içeriğin kaynaklarını beyaz listeye alarak, tarayıcının zararlı dom varlıklarını yüklemesini engelleyebilirsiniz.
Bu politika, onaylanan içerik kaynaklarını tanımlayarak ve böylece tarayıcının bunları yüklemesine izin vererek Siteler Arası Komut Dosyası (XSS) ve diğer kod enjeksiyon saldırıları gibi saldırıları önlemeye yardımcı olur .
Tüm büyük tarayıcılar şu anda content security policy için tam veya kısmi destek sunmaktadır . Ve daha eski bir tarayıcıya teslim edilirse içeriğin dağıtımını bozmaz, sadece yürütülmez.
X-XSS-Protection
X-XSS-Protection siteler arası komut dosyası (XSS) filtresi etkinleştirmek için tasarlanmıştır.
Çoğu tarayıcıda yerleşik olan siteler arası komut dosyası filtresi yapılandırmasını ayarlar.
Önerilen değer;
X-XSS-Protection: 1; mode=block
Strict-Transport-Security
Bağlantının saldırılara açık olabilecek güvenli olmayan bir HTTP bağlantısı üzerinden kurulamamasını sağlar.
Son kullanıcı ile iletişimde HTTPS bağlantısını kullanmaya zorlayarak “MITM” benzeri ataklara karşı kullanıcıyı korur ve TLS uygulamanızı güçlendirebilir

Önerilen değer;
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Frame-Options
Tarayıcıya sitenizin çerçevelenmesine izin vermek isteyip istemediğinizi söyler. Bir tarayıcının sitenizi çerçevelemesini önleyerek clickjacking gibi saldırılara karşı savunabilirsiniz.
Önerilen değer;
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Tarayıcının içerik türünü MIME-Sniff ataklarına karşı önlem alınması için kullanılır.
Bu başlık için geçerli değer;
X-Content-Type-Options: nosniff
Feature-Policy
Feature Policy ile konum bilgilerine erişim, mikrofon ve kamera kullanımı, multi medya oynatma özellikleri, jiroskop vb sensörler gibi pek çok tarayıcı özelliğinin etkin olup olmayacağı kullanıcının global tarayıcı ayarları dışında, sitelerdeki talimatlar ile de yönetilebilecek.
Örnek Değer,
Feature-Policy: autoplay ‘none’; camera ‘none’
IIS ÜZERİNDE YAPILIŞI
IIS üzerinde HTTP Response (Http Yanıt Üstbilgileri) nesnesine istediğiniz başlık değerlerini girerek uygulayabilirsiniz.



ANALİZ
Yaptığınız işlemlerden sonra header güvenliğinin analizi için aşağıdaki siteyi kullanabilirsiniz.

Kaynak : https://www.keycdn.com/blog/http-security-headers
Faydalı olması dileğiyle…
Leave a Reply