güvenlik önlemi – IIS üzerinde çalışan WordPress HTTP üstbilgileri nasıl düzenlenmeli?

Bir Web sitesi oluşturmak çok uzun zaman ve emek harcanması gereken bir mevzudur. Özellikle WordPress gibi popiler bir içerik yönetimi sistemi kullanıyorsanız sürekli çeşitli saldırı girişimlerine maarus kalmanız muhtemeldir.

Elbette hiç bir zaman yüzde yüz güvenli bir sistem oluşturmak tam anlamı ile mümkün olmasa da, saldırı girişimlerinin başarı şansını en aza indirmek için bütün güvenlik açıklarını kapatmak en elzem yapılması gereken işlerden olmalıdır.
Güvenlik önlemlerini ihmal ettiğimizde, aylarca emek harcayarak oluşturduğumuz içeriğin sadece tek bir başarılı saldırı girişiminde yok olup gitme ihtimalini göz önünde bulundurmamız gerekir.
İşte bu yazımızda, en önemli güvenlik önlemlerinden birisi olan, HTTP üstbilgileri (http headers) İİS Web serveri üzerinde nasıl düzenlenmeli mevzusunu irdelemeye çalışacağız.
Önce

buradan

Web sitemizin URL adresini tarayarak ne durumda olduğumuzu öğrenmek ile işe başlayalım.
Elde edilen rütbeler: “A+, A, B, C, D, E, F” şeklindedir, yani “A+” derecesine ne kadar yakında bir yerlerde isek o kadar güvendeyiz demektir. Tersine, “F” rütbesine doğru yaklaştığımızda ise, daha az güvenli olduğumuz anlamındadır.
HTTP üstbilgilerini düzenlemeden önce test uyguladığınızda, IIS üzerinde kurulu bir WordPress sitesine karşı çalıştırıldığını görebilirsiniz ancak varsayılan olarak herhangi bir önlem alınmadığından, “F” şeklinde görünecektir.
İnternette konu ile ilgili arama yaptığınızda, bu düzenlemelerin Apache Web sunucusunun “.htaccess” dosyası kullanarak yapıldığını anlatan çokca yazıya ulaşmanız mümkün.
, ancak . htaccess” temel olarak Apache web sunucusu tarafından kullanıldığından IIS’de kullanılamaz.
IIS için Apache’nin “.htaccess” dosyasına karşılık “web.config” dosyası gelir. Dolayısıyla her nerede “.htaccess” değişikliği yapmanız gerekiyor ise, ayarları buraya yazacaksınız.
Ayar kodlamalarını doğrudan web.config dosyasına yazabilirsiniz ancak, bu anlatıda ayarları eklemek için Internet Information Services (IIS) Yöneticisini kullanacağız ve ardından web.config dosyasında nasıl göründüğünü de ayriyeten göstermeye çalışacağız.

IIS Yöneticisi’ndeki Ayarlar

Başlat menüsünden Internet Information Services (IIS) Manager tıklayın.
Soldaki ağaçtan “WordPress”in çalıştığı siteyi seçin ve açmak için ortadaki listeden “HTTP Yanıt Başlıkları”na çift tıklayın.
Aşağıda belirtilen tüm isim ve parametrelerini sırası ile “Add” düğmesine tıklayarak gerekli alanlara yazın ve tamam’a tıklayın.

  • X-Content-Type-Options
    nosniff
  • X-Frame-Options
    SAMEORIGIN
  • X-XSS-Protection
    1; mode=block
  • Referrer-Policy
    no-referrer-when-downgrade
  • Content-Security-Policy
    upgrade-insecure-requests
  • Strict-Transport-Security
    max-age=31536000
  • Permissions-Policy
    fullscreen=(self), accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=()

Yapmış olduğumuz düzenlemelerden özellikle “Permissions-Policy” Web siteniz olumsuz etkilenir ise, seçenekleri kendi çalışma ortamınıza göre değiştirebilirsiniz.
uyguladığımız değişikliklerin “web.config” dosyasında aşağıdaki şekilde kodlanmış olması gerekiyor.

<httpProtocol>
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
<add name="X-Frame-Options" value="SAMEORIGIN" />
<add name="X-XSS-Protection" value="1; mode=block" />
<add name="Referrer-Policy" value="no-referrer-when-downgrade" />
<add name="Content-Security-Policy" value="upgrade-insecure-requests" />
<add name="Strict-Transport-Security" value="max-age=31536000" />
<add name="Permissions-Policy" value="fullscreen=(self), accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=()" />
</customHeaders>

Eğer bu kodları yönetimsel ayarlamalar ile uğraşmaksızınn doğrudan dosyaya eklemek isterseniz, en doğru yer WordPress “rewrite” kurallarının hemen alt kısmı olmalıdır.

Bu yazımızda, esasında ayrıntılı bir şekilde ele alınması – fikir yürütülmesi gereken “Web Site Güvenliği” başlığındaki dikkat etmemizi gerektiren en önemli mevzulardan birini görmeye çalıştık…

Farsça