0850 840 98 64 WhatsApp

HTTP Güvenlik Başlıkları Nasıl Eklenir ve Yapılandırılır?

HTTP güvenlik başlıkları, web uygulamalarınızı yaygın saldırılara karşı daha korumalı hale getirir. Bu makalede, temel güvenlik başlıkları ve sunucunuza nasıl ekleyeceğiniz adım adım açıklanıyor.

HTTP Güvenlik Başlıklarına Giriş

HTTP güvenlik başlıkları, web uygulamalarını çeşitli tehditlere karşı daha dirençli hale getirmek için kullanılan önemli savunma mekanizmalarıdır. Bu başlıklar, sunucudan istemciye gönderilen HTTP yanıtlarında yer alır ve tarayıcıya belirli güvenlik kurallarını uygulatır. Özellikle 2026 yılında yaygın olan web saldırılarına karşı koruma sağlamak için doğru şekilde yapılandırılmaları gereklidir.

Temel HTTP Güvenlik Başlıkları ve Fonksiyonları

  • Content-Security-Policy (CSP): Yalnızca izin verilen kaynaklardan içerik yüklenmesini sağlar. Özellikle XSS (Cross-Site Scripting) saldırılarına karşı önemlidir.
  • X-Frame-Options: Sitenizin başka bir sitede iframe ile gömülmesini engelleyerek tıklama korsanlığı (clickjacking) riskini azaltır.
  • X-Content-Type-Options: Tarayıcıların dosya türlerini kendi başlarına tahmin etmesini engeller, MIME tipi tabanlı saldırıların önüne geçer.
  • Strict-Transport-Security (HSTS): Tarayıcıların siteye yalnızca HTTPS üzerinden bağlanmasını zorunlu kılar. Yanlış yapılandırılırsa erişim sorunlarına yol açabilir.
  • Referrer-Policy: Hangi referrer bilgisinin üçüncü taraflara iletileceğini kontrol eder. Veri sızıntısını önlemeye yardımcı olur.
  • Permissions-Policy: Tarayıcı API’larının (kamera, mikrofon, konum vb.) hangi alanlarda kullanılabileceğini sınırlar.
  • Cross-Origin-Resource-Policy: Kaynakların başka alan adları tarafından nasıl kullanılabileceğini belirler. CORS ile birlikte çalışır.

Sunucuya HTTP Güvenlik Başlıkları Ekleme Yöntemleri

Apache (.htaccess) ile Ekleme

Apache sunucusunda, .htaccess dosyasına aşağıdaki gibi satırlar ekleyerek başlıkları tanımlayabilirsiniz:


Header set Content-Security-Policy "default-src 'self';"
Header always set X-Frame-Options "DENY"
Header set X-Content-Type-Options "nosniff"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Nginx Konfigürasyonu ile Ekleme

Nginx sunucusunda ise nginx.conf dosyasındaki server bloğuna şu satırlar eklenebilir:


add_header Content-Security-Policy "default-src 'self';";
add_header X-Frame-Options "DENY";
add_header X-Content-Type-Options "nosniff";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

Sunucu Tarafı Uygulamalar Üzerinden Ekleme

Eğer başlıkları uygulama seviyesinde yönetmek isterseniz, çeşitli framework ve kütüphaneler kullanılabilir. Örneğin, Node.js ile Helmet kütüphanesi kullanılarak şu şekilde başlıklar eklenebilir:


const helmet = require('helmet');
app.use(helmet());

PHP'de ise başlık eklemek için header() fonksiyonu tercih edilebilir:


header("X-Frame-Options: DENY");
header("X-Content-Type-Options: nosniff");

Güvenlik Başlıklarının Test Edilmesi ve İzlenmesi

Eklediğiniz başlıkların doğru çalışıp çalışmadığını çeşitli yöntemlerle kontrol edebilirsiniz:

  • Tarayıcı Geliştirici Araçları: Ağ (Network) sekmesinde HTTP başlıklarını görüntüleyebilirsiniz.
  • curl komutu ile terminal üzerinden test edebilirsiniz:
    curl -I https://siteniz.com
  • Online Araçlar: securityheaders.com gibi sitelerle başlıklarınızı analiz edebilirsiniz.

Bazı başlıklar yanlış yapılandırıldığında, sitenizde erişim sorunları veya beklenmeyen hatalar oluşabilir. Özellikle HSTS gibi başlıkları dikkatli test etmek gerekir.

HTTP Güvenlik Başlıkları ile İlişkili Ek Güvenlik Katmanları

Güvenlik başlıkları önemli bir savunma katmanıdır; ancak tek başına yeterli değildir. Web uygulamanızın daha kapsamlı korunması için ek önlemler almanız önerilir:

  • Web Application Firewall (WAF): SQL injection, XSS gibi saldırıları filtreleyerek uygulama güvenliğini güçlendirir.
  • DDoS Koruma: Yoğun trafik saldırılarına karşı web sitenizi erişilebilir kılar.

Bu tür ek güvenlik hizmetlerine ihtiyaç duyarsanız, DDoS Koruma ve Web Uygulama Güvenliği için WAF çözümlerini inceleyebilirsiniz.

Sıkça Sorulan Sorular

Hangi başlıklar mutlaka eklenmeli?

Genelde Content-Security-Policy, X-Frame-Options, X-Content-Type-Options ve Strict-Transport-Security başlıklarının temel olarak uygulanması önerilir. Ancak uygulamanızın ihtiyaçlarına göre diğer başlıkları da eklemelisiniz.

Yanlış yapılandırmanın riskleri nelerdir?

Yanlış yapılandırılmış başlıklar, istemci tarafında erişim sorunlarına, kullanıcı deneyimi kaybına veya bazı işlevlerin bozulmasına neden olabilir. Özellikle HSTS ve CSP başlıkları dikkatli yönetilmelidir.

Otomasyon ve güncelleme önerileri

Başlıkların güncel tutulabilmesi için otomatik testler ve güvenlik taramaları kullanabilirsiniz. CI/CD süreçlerine başlık kontrolleri eklemek, değişikliklerin güvenliğini artırır.

Sonuç ve Faydalı Kaynaklar

HTTP güvenlik başlıkları, web uygulamanızın temel güvenliğini artırmak için önemli adımlardır. Ancak tek başlarına yeterli değildir, uygulamanızın genel güvenlik mimarisinde tamamlayıcı bir rol oynar. Yapılandırma öncesi ve sonrası mutlaka testler yapın ve güncel güvenlik rehberlerini takip edin.

Ek olarak, uygulamanızın güvenliğini bir üst seviyeye taşımak için DDoS koruma veya WAF gibi hizmetlere göz atmak isteyebilirsiniz.

Paylaş:

Daha Fazla İçerik

Top