Güvenliği Artırmak İçin Kullanmanız Gereken 8 HTTP Güvenlik Başlığı
Yayınlanan: 2022-04-08HTTP Güvenlik başlığı, web güvenliğinin en temel ancak güçlü bölümlerinden biridir. Bu güvenlik önlemlerinin yardımıyla, web uygulama güvenliğinizi bir üst düzeye çıkarabileceksiniz. Web sitenizi muhtemelen karşılaşmak zorunda olduğu tüm saldırılara karşı korur.
Bu HTTP güvenlik başlıkları o kadar güçlüdür ki, etkinleştirdiğinizde web sitenizi tıklama, kod yerleştirme, siteler arası komut dosyası çalıştırma ve daha pek çok yaygın saldırıdan korurlar.
Bu yazıda size HTTP güvenlik başlıkları listesi, bunların nasıl faydalı olabileceği ve bunları nasıl uygulayabileceğiniz hakkında her şeyi açıklayacağız.
Bizi izlemeye devam edin ve başlayalım!
HTTP Güvenlik Başlığı nedir?
Temel olarak, bir HTTP güvenlik başlığı, HTTP iletişiminin güvenlikle ilgili ayrıntılarını belirtmek için web tarayıcınız (veya herhangi bir web istemcisi) ve bir web sunucusu arasında değiş tokuş edilen bir dizi komut veya yönergedir. Bu bilgi alışverişi veya paylaşımı, HTTP protokolünün bir parçasıdır. Bu komutlar veya yönergeler, web siteniz için güvenliğini ve kötü amaçlı yazılım enjeksiyonu olmamasını sağlamak için tarayıcınıza nelerin gösterilip gösterilmeyeceğini bilmesini sağlar.
Bu HTTP güvenlik başlığı komutları, hem web tarayıcısını hem de web sitenizi, bilgisayar korsanlarının saldırısı veya kötü amaçlı kod yerleştirme gibi güvenlik tehditlerinden korumaya yardımcı olur. Dolayısıyla, bu güvenlik stratejisi genel bir savunma sistemi görevi görür.
Neden HTPP Güvenlik Başlığını Uygulamanız Gerekiyor?
Daha önce fark ettiğiniz gibi, son yıllarda siber saldırılar ve veri ihlali vakalarındaki en yüksek artış hakkında internette dolaşan çok sayıda makale ve rapor var. Ve tüm bu aksiliklerin ana suçlularından biri, zayıf güvenlik önlemleri ve yanlış yapılandırmalardır.
Bu HTTP güvenlik başlıkları, en yaygın korsan saldırıları, kötü amaçlı yazılım enjeksiyonları, tıklama hırsızlığı, kötü amaçlı komut dosyası yerleştirme vb. bazılarının durdurulmasına yardımcı olur. Web uygulaması çalışırken sunucu ve web tarayıcısı arasındaki bazı etkinlikleri kısıtlayarak ekstra bir koruma katmanı sağlarlar. koşma.
Kullanılabilir birçok HTTP başlığı olmasına rağmen, asıl mesele daha iyi koruma elde etmek için hangisini uygulamanız gerektiğidir. Zamanla değişen herhangi bir web teknolojisi gibi, yeni HTTP başlıkları görünecek ve tarayıcının desteğine bağlı olarak gidecektir.
Bu nedenle, hangi HTTP başlığını uygulayıp hangilerini uygulamayacağınızı belirlemeniz sizin için önemli hale geliyor, ancak şimdilik, en yaygın tehditlerden bazılarından korunmak için bu 8 HTTP güvenlik başlık listesini uygulamalısınız.
Buna ek olarak, HTTP Güvenlik başlığı da web sitenizin SEO puanını artırmanıza yardımcı olabilir.
Güvenlik Başlıkları Kontrolünü Çalıştırın
Devam etmeden önce yapmanız gereken ilk şey, web sitenizde bir güvenlik başlığı kontrolü yapmaktır. Bunun yardımıyla, web sitenizde hangi temel güvenlik başlıklarının eksik olduğunu görmeniz kolay olacaktır.
Bunu yapmak için, güvenlik başlıkları web sitesini ziyaret etmeniz ve aşağıdaki resimde gösterildiği gibi web sitenizin adresini girmeniz gerekir:

Web sitenizin URL'sini girip Tara düğmesine bastığınızda, varsa tüm hayati eksik HTTP güvenlik başlıklarını kırmızı renkte ve web sitenizin ne kadar güvenli olduğunu gösteren bir Dereceyi gösteren kapsamlı bir rapor oluşturulur.

Yukarıdaki görüntüden HTTP güvenlik başlıklarının algılanmadığını görebilirsiniz. hangi bölümde açıkladık ve listeledik.
En Önemli HTTP Güvenlik Başlık Listesi
Güvenliği artırmak ve ekstra bir koruma katmanı sağlamak için web uygulamalarınıza uygulamanız gereken en önemli HTTP güvenlik başlıklarından bazılarına göz atalım.
1. X-Çerçeve Seçenekleri
Microsoft ilk kez, kötü amaçlı komut dosyası yerleştirme veya siteler arası komut dosyası çalıştırma saldırılarına karşı korunmaya yardımcı olan X-Frame Seçeneklerini Microsoft internet gezgininde tanıttı. Bu HTTP güvenlik başlığı, tarayıcılara iFrame'i web sitesinde işleyip işlemeyeceklerini sormaları talimatını vererek web sitenizin iFrame'lerini korur.
Esas olarak, bir saldırganın kullanıcıları başka bir sayfaya yönlendirmek ve önemli bilgilerini çalmak için bir bağlantı veya düğme üzerinde birden çok katman uyguladığı tüm tıklama saldırılarından korur.
İzlenecek sözdizimi:
1 2 3 |
X - Frame - Options : DENY X - Frame - Options : SAMEORIGIN X - Frame - Options : ALLOW - FROM < em > URL < / em > |
Talimatlar Açıklama:
DENY : Bu yönerge iFrame'in oluşturmasına izin vermez
SAMEORIGIN: Bu yönerge sadece aynı orijinli iFrame'lerin oluşturulmasına izin verir.
ALLOW- FROM: Bu yönerge, iFrame'in yalnızca belirli bir URL'den oluşturulmasına izin verir.
2. Sıkı-Ulaşım-Güvenlik
Strict-Transport-Security veya HTTPS Strict Transport Security başlığı, etkinleştirildiğinde MIM saldırılarına ve çerez kaçırmaya karşı korunmaya yardımcı olur. Bu yönerge, tarayıcıyı HTTP iletişimi yerine HTTPS kullanmaya zorlar.
HTTP'de herhangi bir web sitesi çalıştırıyorsanız ve HTTPS'de bu siteye geçtiyseniz, nasıl çalıştığını anlayalım. Eski ziyaretçileriniz yine de eski URL'ye HTTP ile erişmeye çalışacak. Web sitenizi zaten HTTPS'ye taşıdığınız için eski URL onu yenisine yönlendirecektir.
Ancak mesele şu ki, ziyaretçileriniz yeni şifreli URL'ye yeniden yönlendirmeden önce web sitenizin şifrelenmemiş sürümüne erişebilir. İşlemler arasında, bilgisayar korsanları orta saldırılarda MIM veya Man yapma fırsatı elde eder.
Ancak Strict-Transport-Security'yi etkinleştirdiğinizde, tarayıcı HTTP web sitelerini yüklememek için talimatlar alır, bunun yerine tarayıcıyı HTTPS üzerinden iletişim kurmaya zorlar.
İzlenecek sözdizimi:
1 2 3 |
Strict - Transport - Security : max - age = < expire - time > Strict - Transport - Security : max - age = < expire - time > ; includeSubDomains Strict - Transport - Security : max - age = < expire - time > ; preload |
Talimatlar Açıklama
max-age=<expire-time> : Bu yönerge, tarayıcının HTTPS üzerinden ona ne kadar süreyle (saniye olarak) erişebileceğine karar vermenizi sağlar.
max-age=<sona erme-zamanı>; includeSubDomains : Bu yönergeden bahsediliyorsa, yukarıdaki kuralın sitenin tüm alt alanları için de geçerli olduğu anlamına gelir.
max-age=<sona erme-zamanı>; preload : Bu yönerge, web sitesinin global HTTPS siteleri listesinde listelendiğini gösterir.
3. İçerik Güvenliği Politikası
Bu HTTP güvenlik Başlığı, tarayıcıya yalnızca ilkede belirtilen içerikleri yüklemesi talimatını verir. Bu, web sitenizin kaynaklarını kontrol etme gücüne sahip olacağınız ve tarayıcıların yalnızca beyaz listeye eklediğiniz içerik kaynaklarını yüklemesine izin vereceğiniz anlamına gelir.
Tarayıcıların komut dosyaları, resimler veya CSS gibi içerik kaynaklarının nereden yükleneceğine karar vermelerine yardımcı olur. Bu HTTP güvenlik başlığını başarıyla uygulayabilirseniz, web sitenizi Clickjacking, Siteler Arası Komut Dosyası Çalıştırma (XSS) ve herhangi bir kötü amaçlı kod enjeksiyonundan koruyacaktır.
%100 koruma garantisi vermese de olası zararları önlemeye ve sınırlandırmaya yardımcı olur. Hatta tarayıcıların çoğu artık bu ciddi sorunu tespit ediyor ve desteklemeye başladı.
İzlenecek sözdizimi:
1 |
Content - Security - Policy : < policy - directive > ; < policy - directive > |
Talimat Açıklama
<policy-directive> : script-src(CSS) , img-src (Images) veya style-src (stil sayfası) gibi herhangi bir politika direktifini ekleyebilir ve bunların yüklenmesine izin verebilirsiniz.
4. X-içerik-Türü-Seçenekler
Bu başlık türü, tarayıcıya MIME türlerinin kasıtlı olarak sunucuda yapılandırıldığını söyleyerek MIME türü koklamayı kısıtlamanıza veya önlemenize olanak tanır. Temel olarak, MIME koklamada, saldırganların herhangi bir yürütülebilir kötü amaçlı komut dosyasını enjekte etmesi için bir fırsat sağlar.
Örneğin, bir saldırgan, masum bir kaynağın yanıtını değiştiren herhangi bir kötü amaçlı kaynağı enjekte etti. MIME koklama nedeniyle, tarayıcı, enjekte edilen kötü amaçlı kaynakları yürütmeye başlamak yerine görüntü içerik türünü oluşturmayı durduracaktır.
Bu üstbilgiyi etkinleştirdiğinizde, tarayıcıyı yalnızca İçerik türü üstbilgilerinde belirtilen MIME türlerini takip etmeye zorlar. Bu şekilde, kötü amaçlı komut dosyası yerleştirme veya siteler arası komut dosyası çalıştırma saldırılarını kolayca koruyabilir ve önleyebilirsiniz.
İzlenecek sözdizimi:
1 |
X - Content - Type - Options : nosniff |
Talimat Açıklaması:
nosniff yönergesi, isteğin hedefi aşağıdaki türdeyse, bir isteği hemen engeller:
- stil
- MIME türü metin/CSS değil veya Komut Dosyası türü değil
- MIME türü JavaScript MIME türü değil
5. Yönlendirme Politikası
Bu başlık güvenliği, yönlendiren bilgilerinin ortaya çıkıp çıkmayacağını kontrol etmenize izin verecek mi? Evet ise ne kadar.
Ancak, diğer istekler için tarayıcı yalnızca kaynakla ilgili bilgileri paylaşacaktır.
İzlenecek sözdizimi:
1 2 |
Referrer - Policy : origin - when - cross - origin Referrer - Policy : no - referrer - when - downgrade |
Talimat açıklaması:
Origin-When-cross-origin: Tarayıcı, aynı kaynaktan gelen istekler ve diğer istekler için tam yönlendirme bilgilerini paylaşacak, tarayıcı yalnızca Kaynak hakkında paylaşacaktır.
no-referrer-while-downgrade: Tarayıcı, daha az güvenli hedeflere istekler için Referrer
başlığı gönderirken yönlendirme bilgilerini paylaşmaz.
6. Özellik veya İzinler-Politika
Bu güvenlik başlığı, bir web sitesinin, tarayıcıdaki herhangi bir belirli özelliğe veya API'ye erişim sağlayıp sağlayamayacağına karar vermesini sağlar. Bu başlığın yardımıyla, tarayıcınızdaki herhangi bir uygulamanın işlevselliğini kolayca kontrol edebilirsiniz, gizliliğinize zarar verebilir ve yalnızca yasal ve gerekli bulursanız izin verebilirsiniz.
Örneğin, web sitesinin mikrofonunuza, web kameranıza veya konumunuza erişmesini istemiyorsanız ve aşağıda verilen sözdizimini izleyerek işlevlerini kısıtlamak istiyorsanız:
1 2 3 |
Feature - Policy : microphone 'none' ; camera 'none' Feature - Policy : geolocation 'self' ; vibrate 'none' Permissions - Policy : geolocation = ( self ) , vibrate = ( ) |
izlenecek sözdizimi:
1 |
Feature - Policy : < directive > < allowlist > |
Talimat Açıklaması:
<yönerge> , İvmeölçer, otomatik oynatma, ortam ışığı sensörü, pil, kamera, mikrofon veya konum belirleme gibi herhangi bir şey olabilir.

<izin verilenler listesi> ise 'none', 'self' gibi bir veya daha fazla değeri ayrı ayrı alabilen bir köken listesidir. Referans olması için, direktiflerin tam listesine ve buradan izin verilenler listesine göz atabilirsiniz.
7. X-İzin Verilen Etki Alanları Arası
Bu HTTP güvenlik Başlığı yardımıyla, tarayıcıya talimatlar verebilir ve etki alanlarından gelen tüm istekleri kontrol edebilirsiniz. Bu başlığı etkinleştirdiğinizde, diğer alanlardan gelen gereksiz web sitesi varlıklarını yüklemek için web sitenizi sınırlamış olacaksınız. Böylece web sitesi kaynakları verimli bir şekilde kullanılabilir.
Bu güvenlik başlığı isteğe bağlıdır ve bunlara sahip olmak gerekli değildir, ancak bunları kurmak ve etkinleştirmek iyidir.
İzlenecek sözdizimi:
1 |
X - Permitted - Cross - Domain - Policies : "none" |
8. XSS koruması
XSS koruması veya siteler arası komut dosyası çalıştırma koruması üstbilgisi, siteler arası komut dosyası çalıştırma saldırılarından korunmak için tanıtıldı. Bu saldırıların çok yaygın ve etkili olduğu düşünülür, bu nedenle web tarayıcılarının çoğu varsayılan olarak XSS korumasını etkinleştirmiştir.
Bir saldırgan, işlem verileri, kişisel veriler vb. gibi gizli bilgileri çalmak için bir HTTP isteği sırasında kötü amaçlı javascript kodu enjekte ederek bir web sitesine bulaşmaya çalıştığında. Siteler arası komut dosyası çalıştırma saldırıları algılandığında, XSS koruma başlığı filtrelenir ve durur. onları hemen.
Ancak bu filtre sadece eski tarayıcılarda mevcuttu ve artık modern tarayıcılar için gereksiz hale geldi. Özellikle zaten gerçekten iyi bir güvenlik politikası uyguladıysanız ve ziyaretçilerinizin hala içerik güvenliği politikasını anlamayan eski tarayıcıları kullanması durumunda devam etmek ve sahip olmak iyidir.
İzlenecek sözdizimi:
1 2 3 4 |
X - XSS - Protection : 0 X - XSS - Protection : 1 X - XSS - Protection : 1 ; mode = block X - XSS - Protection : 1 ; report = < reporting - uri > |
Açıklama:
0 – bu, XSS korumasını devre dışı bırakır
1 – XSS korumasını etkinleştir
1; mode=block – Siteler arası komut dosyası çalıştırma saldırısı algılandığında web sayfasını tamamen yüklemek için tarayıcıları durdurun.
1; rapor=<reporting-uri> – XSS saldırısı tespit edildiğinde, güvenli olmayan kısım tarayıcı tarafından engellenir ve rapor edilir
Web sitenizde HTTP Güvenlik Üstbilgileri Güvenlik Açığı düzeltmesi nasıl uygulanır?
Web barındırma hizmeti sağlayıcınız, .htaccess veya wp-config.php dosyasından herhangi birine erişmenize izin veriyorsa. Ardından, herhangi bir yere HTTP güvenlik üstbilgileri ekleyerek bir HTTP Güvenlik Üstbilgisi Güvenlik Açığı düzeltmesini web sitenize uygulamak kolay olabilir.
WPOven'da Dosya Yöneticisine kolayca erişebileceğiniz ve .htaccess dosyanızı düzenleyebileceğiniz SSH erişimi sağlayacaksınız.
Adım 1 : Öncelikle site için SSH erişimini etkinleştirmeniz gerekiyor. Bunu yapmak için siteye WPOven panosundan erişmeniz gerekir.

'Araçlar' bölümüne gidin.

Ardından 'Araçlar' bölümünden sayfanın alt kısmında bulunan 'SSH erişimini etkinleştir' butonuna basmanız gerekiyor.

Adım 2 : Site için SSH erişimi etkinleştirildiğinde, sitenizin SFTP oturum açma kimlik bilgilerini kullanarak Putty veya PenguiNet gibi 3. taraf uygulamalar aracılığıyla oturum açabilirsiniz.
Ancak, .htaccess veya wp-config.php dosyanıza doğrudan popüler olarak File Zilla olarak bilinen bir FTP istemcisi aracılığıyla da erişebilirsiniz.
Yapmanız gereken tek şey aşağıda verilen adımları takip etmek:
- İlk olarak, FTP istemcisini kullanarak WordPress web sitenize bağlanmanız gerekir. Bu, .htaccess dosyanızı düzenlemenizi sağlar. Bu dosya, WordPress web sitenizin kök dizininde bulunabilir.
- .htaccess dosyasının görünmemesi durumunda, gizli dosyaları kontrol etmek isteyebilirsiniz.
- Herhangi bir özel düzenleyiciye sahip olmanıza gerek yoktur, kodu Notepad gibi herhangi bir metin düzenleyicide yazabilirsiniz.
- Bu kodu yazıp .htaccess dosyasına eklemeniz gerekiyor. .htaccess dosyasının sonuna eklemeniz önerilir.
- Siteyi bulduğunuzda, yerel sürücünüze indirin ve ardından herhangi bir metin düzenleyicide açın. En basit seçenek standart bir Not Defteri'dir. Dosyanın en altına aşağıdaki kodu ekleyin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
X - Frame - Options : DENY X - Frame - Options : SAMEORIGIN X - Frame - Options : ALLOW - FROM URL Strict - Transport - Security : max - age = < expire - time > Strict - Transport - Security : max - age = < expire - time > ; includeSubDomains Strict - Transport - Security : max - age = < expire - time > ; preload Content - Security - Policy : < policy - directive > ; < policy - directive > X - Content - Type - Options : nosniff Referrer - Policy : origin - when - cross - origin Referrer - Policy : no - referrer - when - downgrade Feature - Policy : < directive > < allowlist > X - Permitted - Cross - Domain - Policies : "none" X - XSS - Protection : 0 X - XSS - Protection : 1 X - XSS - Protection : 1 ; mode = block X - XSS - Protection : 1 ; report = < reporting - uri > |
Nitelikleri, yönergeleri ve değerleri gerektiği gibi değiştirin, kaydedin ve yükleyin.
Alternatif olarak, web sunucusu yapılandırma dosyalarınıza da erişebilir ve bu güvenlik başlıklarını uygulayabilirsiniz. Ancak, kendi başınıza değişiklik yapmaktan hoşlanmıyorsanız ve bir WPOven müşterisiyseniz, bir destek bileti açabilirsiniz ve bunu sizin için hızlı bir şekilde yapabiliriz.
Özet
Yukarıdaki gönderiden, web sitenizde bir HTTP güvenlik başlığının etkinleştirilmesinin ne kadar önemli olduğunu görebilirsiniz. Ve web sitesi güvenliği sağlamlaştırmasını ne ölçüde sağladıkları. Ancak, bu teminatlar varsayılan olarak mevcut en yeni ve gelişmiş tarayıcılarda uygulanmıştır. Ama yine de, onları kullanmaman gerektiğini bulmam için hiçbir sebep yok.
Web sitenizin sunucularına erişiminiz yoksa zor bulursunuz. Profesyonellerden yardım istemek her zaman daha iyidir. Web barındırma sağlayıcınıza ulaşmanız ve onlardan web sitenize HTTP güvenlik başlıklarını uygulamalarını istemeniz daha iyi olur.
Sıkça Sorulan Sorular
HTTP üstbilgileri güvenli mi?
Evet, HTTP güvenlik başlıkları en önemli siber güvenlik güçlendirme direktiflerinden biridir. HTTP başlıklarındaki tüm bilgiler şifrelenir.
Güvenlik ekleyen bazı başlıklar nelerdir?
Web sitesine güvenlik katan Başlıklardan bazıları şunlardır:
1. X-Çerçeve Seçenekleri
2. Sıkı-Ulaşım-Güvenlik
3. İçerik Güvenliği Politikası
4. X-içerik-Türü-Seçenekler
5. Yönlendirme Politikası
6. Özellik veya İzinler-Politika
7. X-İzin Verilen Etki Alanları Arası
8. XSS koruması
CSP başlığı nedir?
CSP veya İçerik Güvenliği İlkesi başlığı, tarayıcıya yalnızca ilkede belirtilen içerikleri yüklemesi talimatını verir. Bu, web sitenizin kaynaklarını kontrol etme gücüne sahip olacağınız ve tarayıcıların yalnızca beyaz listeye eklediğiniz içerik kaynaklarını yüklemesine izin vereceğiniz anlamına gelir.