HTTP Güvenlik Başlıkları
HTTP'de istemci güvenliği sağlayan başlıklar
Bir sitenin güvenlik başlıkları kullanıp kullanmadığı https://securityheaders.com/ adresinden kontrol edilebilir.
HTTP güvenlik başlıkları, belli başlı zaafiyetlerin önüne geçmek için geliştirilmiş başlıklardır. Bunlardan bazıları:
Content-Security-Policy
Web'den gelen her içeriğe güvenmeyip; sadece belirlenen içeriklere güvenme (whitelisting) sağlayan güvenlik başlıklarıdır.
Strict-Transport-Security
Bu başlığı gören tarayıcı isteği istinasız https'e götürür.
X-XSS-Protection
XSS ataklarını engellemeye yönelik bir başlıktır.
X-Frame-Options
Sitenin bir IFRAME'de çalıştırılıp çalıştırılamayacağını sanırlayan bir güvenlik başlığıdır.
Aşağıda pentest.blog sitesine sadece başlık bilgilerin getirilmesi için GET isteği yapılmış:
Gelen yanıt ise aşağıdaki gibi:
Gelen yanıt başlığında Set-Cookie, HttpOnly, X-Frame-Options, XSS-Protection gibi önemli güvenlik başlıkları kullanılmış.
HttpOnly güvenlik başlığı flag'i ile javascript üzerinden örn XSS atağı aracılğıyla document.cookie ile oturum bilgileri çerez(cookie) çalınamamasını sağlamaya çalışır.
X-Frame-Options güvenlik başlığı ise <IFRAME> in scope'una ayar getirir. Örneğin, X-Frame-Options: SAMEORIGIN ise sadece sitenin kendi IFRAME'e kendini ekleyebilir. Öte yanda DENY ise sitenin kendi dahil hiçbir site IFRAME ile ekleme yapamaz.
X-XSS-Protection güvenlik başlığı ise XSS'i önlemeye yardımcı bir güvenlik başlığıdır. Tarayıcılar XSS auditor yapıyor. Ancak 0 verildiğinde bilgi ifşası gibi durumlar olabiliyor. https://portswigger.net/daily-swig/google-deprecates-xss-auditor-for-chrome sitesinde detaylara bakılabilir. Bazı büyük siteler bu ifşa durumundan dolayı bu güvenlik başlığını kullanmamaktadır.
Örneğin facebook için başlıklara bakılırsa:
Gelen yanıt da aşağıdaki gibi:
Görüldüğü gibi X-XSS-Protection: 0 yapılmış. X-Frame-Options da DENY yapılmış. Ayrıca Set-Cookie ile sunucudan istemciye gelen yanıtta çerezler secure ile sadece HTTPS üzerinden ve HttpOnly ile tarayıcıdan javascript ile çerezlerin alınanaması sağlanıp gönderilmiş.
Strict-Transport-Security ise SSL ile ilgili güvenlik başlığı. Sunucularda genellikle http ile yapılan istekleri https'e yönlendiren direktifler bulunur. Dolayısıyla https ile güvenlik şifreli iletişime geçmeden önce http ile iletişim kurulması mümkündür. Dolayısıyla bu iletişim ortadaki adam (man in the middle) saldırısına açıktır. Tarayıcının doğrudan iletişimi https üzerinden yapmasını sağlamak için bu sihilrli güvenlik başlığı da kullanılmalıdır.
Subresource Integrity ile web sitesinin kullandığı harici javascript dosyalarının bütünlüğü kontrol edilebilir. Örneğin,
Diğer çok önemli bir güvenlik başlığı da Content-Security-Policy'dir. Programalada stongly type mevzusunun html tarayıcılarda hayat bulmuş halidir de denebilir. Siteye eklenen harici kaynakların yüklenmesine sınırlandırma getirir. Ana amaç XSS'e engel olmaktır.
Kaynaklar:
Last updated
Was this helpful?