Rehberler

Eksik Güvenlik Başlıklarını Düzeltme Rehberi

Eksik HTTP güvenlik başlıkları, web uygulamalarını siteler arası betik çalıştırma (XSS), clickjacking, protokol düşürme ve oturum hırsızlığı gibi kritik güvenlik açıklarına maruz bırakır.

Kısa Yanıt

Bir yıllık HSTS ve preload kurallarını etkinleştirin, katı bir CSP belirleyin, X-Content-Type-Options: nosniff ekleyin ve yetkisiz gömmeleri engellemek için frame-ancestors 'none' kuralını tanımlayın.

Eksik yanıt başlıklarını tespit edin

Herhangi bir sunucu yapılandırmasını değiştirmeden önce, geçerli HTTP yanıt başlıklarını curl -IL komutu veya güvenilir bir güvenlik denetleyicisi ile inceleyin. TLS sonlandırmasının ve başlık enjeksiyonunun nerede gerçekleştiğini belirleyin: kaynak web sunucusu (Nginx, Apache), ters proxy veya CDN uç noktaları. Ağ geçitlerinin veya yük dengeleyicilerin güvenlik başlıklarını kaldırmadığından emin olun.

Strict-Transport-Security (HSTS) kuralını güvenle yapılandırın

HSTS, tarayıcıların web sitesiyle yalnızca güvenli HTTPS protokolü üzerinden iletişim kurmasını zorunlu kılar ve ortadaki adam (MitM) saldırılarını engeller. İlk aşamada max-age=86400 (bir gün) ile test edin. Tüm alt alan adlarının ve statik kaynakların HTTPS üzerinden sorunsuz çalıştığını doğruladıktan sonra, üretim yapılandırmasına geçin: max-age=31536000; includeSubDomains; preload. Üretimde asla max-age=0 kullanmayın.

Kapsamlı bir Content Security Policy (CSP) politikası tasarlayın

CSP, tarayıcıda hangi kaynakların betik çalıştırabileceğini sıkı biçimde sınırlandırır. Sayfa işlevlerini kesintiye uğratmadan ihlalleri izlemek için işe Content-Security-Policy-Report-Only başlığıyla başlayın. default-src 'self' ile başlayıp, 'unsafe-inline' yerine tek kullanımlık rastgele belirteçler (nonce) veya SHA-256 karmaları kullanın. Güvenilmeyen eklentileri object-src 'none' ile engelleyin ve frame-ancestors yönergesini yapılandırın.

Clickjacking ve MIME türü koklama saldırılarını engelleyin

Sitenizin kötü niyetli kişilerce şeffaf iframe çerçeveleri içine yerleştirilmesini önlemek için CSP içinde frame-ancestors 'none' ve eski tarayıcı uyumluluğu için X-Frame-Options: DENY kullanın. Tarayıcıların stil veya görsel gibi güvenli dosyaları tehlikeli betik olarak yorumlamasını engellemek için X-Content-Type-Options: nosniff başlığını ekleyin. Dış bağlantılarda Referrer-Policy: strict-origin-when-cross-origin uygulayın.

Web sunucusu düzeyinde uygulama ve doğrulama

Nginx üzerinde kuralları HTTPS sunucu bloğunda add_header yönergesi ve always parametresiyle tanımlayın (örneğin: add_header X-Content-Type-Options "nosniff" always;). always parametresi, 4xx ve 5xx hata sayfalarında da başlıkların korunmasını sağlar. Apache üzerinde Header always set yönergesini kullanın. Değişiklikleri nginx -t ile doğrulayın ve yapılandırmayı sorunsuz şekilde yeniden yükleyin.

Güvenlik başlıkları: HTTPS, CSP, clickjacking, MIME, yönlendiren ve tarayıcı izolasyon denetimleri.

Ücretsiz denetim başlat →

Sorular

Sıkça Sorulan Sorular

HSTS preload ana etki alanında doğrudan etkinleştirilebilir mi?

Hayır. Önce Strict-Transport-Security: max-age=86400 ile başlayıp tüm alt alan adlarının ve API uçlarının HTTPS üzerinde çalıştığını doğrulayın, ardından hstspreload.org listesine ekleme yapın.

Üçüncü taraf betikleri bozmadan CSP nasıl uygulanır?

Önce Content-Security-Policy-Report-Only başlığını kullanarak tüm ihlalleri kaydedin, harici kaynakları tespit edin ve engelleme modunu etkinleştirmeden önce nonce veya karma ekleyin.