Apache Security Headers Ayarları

Mina

Astsubay Başçavuş
Admin
Katılım
25 Kasım 2025
Mesajlar
996
Reaksiyon puanı
34

Güvenlik Başlıkları Neden Önemli?​


Modern web uygulamaları, siber saldırganların sürekli hedefindedir ve bu nedenle güvenlik her zaman öncelikli olmalıdır. Güvenlik başlıkları, web sunucularının tarayıcılara gönderdiği HTTP yanıtlarına eklenen özel direktiflerdir. Bu direktifler, tarayıcının web sitenizle nasıl etkileşime gireceğini belirleyerek çeşitli saldırı türlerine karşı koruma sağlar. Örneğin, siteler arası komut çalıştırma (XSS), clickjacking ve MIME tipi koklama gibi yaygın güvenlik zafiyetlerini önlemeye yardımcı olurlar. Bu başlıklar, uygulamanızın kodunda doğrudan bir değişiklik yapmadan ekstra bir güvenlik katmanı ekler. Sonuç olarak, güvenlik başlıklarını doğru şekilde yapılandırmak, kullanıcılarınızın verilerini korumak ve web sitenizin bütünlüğünü sağlamak için kritik bir adımdır.

İçerik Güvenlik Politikası (CSP) Nedir?​


İçerik Güvenlik Politikası (CSP), bir web sayfasının yükleyebileceği kaynakları (betikler, stil sayfaları, görseller vb.) tanımlayan önemli bir güvenlik başlığıdır. Bu politika, tarayıcının yalnızca güvenilir kaynaklardan içerik yüklemesini sağlayarak siteler arası komut çalıştırma (XSS) saldırılarını ve veri enjeksiyonu tehditlerini büyük ölçüde azaltır. Örneğin, 'script-src self' direktifi, tarayıcının yalnızca aynı kaynaktan gelen betikleri çalıştırmasına izin verirken, dış kaynaklı betiklerin çalışmasını engeller. Bu nedenle, CSP’yi doğru yapılandırmak, web sitenizin güvenlik duruşunu ciddi şekilde iyileştirir. Ancak yanlış yapılandırma, sitenizin işlevselliğini bozabileceğinden dikkatli olunması gerekir. Başka bir deyişle, iyi düşünülmüş bir CSP, savunmanızda sağlam bir kaledir.

X-Content-Type-Options'ın Rolü​


X-Content-Type-Options başlığı, tarayıcıların MIME tipi koklamasını (MIME-sniffing) önlemek için tasarlanmıştır. Tarayıcılar genellikle bir dosyanın içeriğine bakarak MIME tipini tahmin etmeye çalışır; bu da bazen güvenlik zafiyetlerine yol açabilir. Örneğin, bir saldırgan, bir sunucuya zararsız görünen bir dosya yükleyebilir ve tarayıcının bu dosyayı yanlış MIME tipiyle yorumlamasını sağlayarak kötü amaçlı kod çalıştırma girişiminde bulunabilir. `X-Content-Type-Options: nosniff` başlığı, tarayıcıya "bu kaynağın Content-Type başlığını değiştirmeyin" talimatını verir. Bu basit ama etkili başlık, içeriğin olması gerektiği gibi işlenmesini sağlayarak potansiyel güvenlik açıklarını kapatır. Sonuç olarak, bu başlık, tarayıcı ve sunucu arasındaki güvenli iletişimi pekiştirir.

X-Frame-Options ile Clickjacking Önleme​


X-Frame-Options başlığı, özellikle clickjacking saldırılarını engellemek için geliştirilmiştir. Clickjacking, bir saldırganın şeffaf veya gizlenmiş bir katmanı kullanarak kullanıcıları, aslında görmek istedikleri bir şey yerine başka bir şeye tıklamaya kandırdığı bir tekniktir. Bu başlık, sitenizin bir `<frame>`, `<iframe>` veya `<object>` içinde görüntülenip görüntülenemeyeceğini kontrol etmenizi sağlar. `DENY` değeri, sitenizin hiçbir şekilde çerçeve içinde görüntülenmesini engellerken, `SAMEORIGIN` değeri ise yalnızca aynı kökenden gelen sayfaların sitenizi çerçeve içinde görüntülemesine izin verir. Bu sayede, kötü niyetli web siteleri, kullanıcılarınızı kandırarak hassas eylemler gerçekleştirmelerini önleyebilir. Bu nedenle, X-Frame-Options, kullanıcı etkileşimini ve veri bütünlüğünü korumak için vazgeçilmez bir güvenlik katmanıdır.

HSTS (Strict-Transport-Security) Kullanımı​


HTTP Strict Transport Security (HSTS) başlığı, web sitelerinin yalnızca HTTPS protokolü üzerinden erişilebilir olmasını sağlayarak önemli bir güvenlik katkısı sunar. Bir kullanıcı bir kez HTTPS üzerinden sitenizi ziyaret ettiğinde, tarayıcı bir sonraki ziyaretlerde otomatik olarak HTTPS kullanmaya zorlanır, hatta kullanıcı URL'ye "http" yazsa bile. Bu, SSL stripping gibi saldırıları ve araya girme (man-in-the-middle) saldırılarını önler. `Strict-Transport-Security: max-age=31536000; includeSubDomains` şeklinde bir yapılandırma, tarayıcıya bir yıl boyunca (31536000 saniye) tüm alt alan adları dahil olmak üzere sitenizle her zaman güvenli bir bağlantı kurması gerektiğini bildirir. Sonuç olarak, HSTS uygulamak, web sitenizin şifrelenmiş iletişimi kalıcı hale getirerek kullanıcı güvenini artırır ve hassas verilerinizi korur.

Referrer-Policy ile Bilgi Sızıntısını Önleme​


Referrer-Policy başlığı, bir kullanıcı bir sayfadan başka bir sayfaya geçtiğinde, tarayıcının "Referer" HTTP başlığı aracılığıyla hangi bilgiyi göndereceğini kontrol eder. "Referer" başlığı, kullanıcının nereden geldiğini belirtir ve bazen hassas bilgiler içerebilir, bu da gizlilik endişelerine yol açar. `Referrer-Policy` başlığı, bu bilgi sızıntısını önlemek için farklı seviyelerde kontrol sağlar. Örneğin, `no-referrer` değeri hiçbir yönlendiren bilgisi göndermezken, `same-origin` yalnızca aynı kaynaktan gelen istekler için yönlendiren bilgisini gönderir. `strict-origin-when-cross-origin` gibi daha dengeli politikalar ise, güvenlik ve işlevsellik arasında makul bir denge kurar. Bu sayede, üçüncü taraf sitelere gereksiz veri aktarımını önleyerek kullanıcı gizliliğini daha iyi koruyabilirsiniz.

Apache'de Güvenlik Başlıklarını Uygulama​


Apache web sunucusunda güvenlik başlıklarını uygulamak oldukça basittir ve genellikle `mod_headers` modülü kullanılarak yapılır. Bu modül, HTTP yanıt başlıklarını eklemenize, değiştirmenize veya kaldırmanıza olanak tanır. Güvenlik başlıklarını yapılandırmak için `httpd.conf`, `apache2.conf` dosyalarına veya sanal ana bilgisayar yapılandırma dosyalarınıza `Header always set` direktifini ekleyebilirsiniz. Örneğin, `Header always set X-Frame-Options "SAMEORIGIN"` komutu, X-Frame-Options başlığını belirler. Değişikliklerin etkili olması için Apache sunucusunu yeniden başlatmanız gerekebilir. Ek olarak, `.htaccess` dosyaları aracılığıyla da başlıkları belirlemek mümkündür, ancak bu performans üzerinde küçük bir etkiye sahip olabilir. Uygulama sonrası, başlıkların doğru şekilde eklendiğini doğrulamak için web tarayıcınızın geliştirici araçlarını veya online güvenlik tarayıcılarını kullanmanız önemlidir.
 
Geri
Üst Alt