Kategoriler
Windows Server Yazılar

Web Güvenliği İçin IIS Üzerinde Server Header’ını Kaldırma

Günümüzde, web güvenliği her zamankinden daha önemli hale gelmiştir. Bir web sunucusunun işletim sistemini ve sürümünü açıkça belirten Server header’ı, potansiyel saldırganlar için değerli bir bilgi kaynağı olabilir. Bu nedenle, IIS (Internet Information Services) kullanıyorsanız, Server header’ını kaldırmak iyi bir güvenlik uygulamasıdır.

Adım 1: IIS Manager’ı Açın
İlk adım olarak, IIS Manager’ı açın. Başlat menüsünden “IIS Manager” yazarak kolayca erişebilirsiniz.

Adım 2: Web Sunucu ve Site Seçimi
Sol taraftaki menüden sunucunuzu ve üzerinde çalıştırdığınız web sitesini seçin.

Adım 3: HTTP Response Headers
Sağ tarafta, “HTTP Response Headers” (HTTP Yanıt Başlıkları) öğesini bulun ve tıklayın.

Adım 4: Server Header’ını Düzenleyin
“Server” başlığını bulun, üzerine sağ tıklayarak “Remove” veya “Edit Feature Settings” seçeneğini kullanarak değeri temizleyin veya özelleştirin.

Adım 5: Değişiklikleri Kaydedin
Yapılan değişiklikleri uygulamak için sağ üst köşedeki “Actions” menüsünden “Apply” seçeneğini kullanın.

Adım 6: IIS’i Yeniden Başlatın
Gerekirse, IIS’i yeniden başlatarak değişikliklerin etkili olmasını sağlayın.

Alternatif Adım: Web.config Dosyası ile
Web.config dosyanıza doğrudan müdahale ederek de Server header’ını kaldırabilirsiniz. Aşağıdaki örneği kullanarak bu ayarı gerçekleştirebilirsiniz:

<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="Server" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>

Bu XML bloğunu web.config dosyanızın <configuration> elementi içine ekleyerek Server header’ını kaldırabilirsiniz.

Bu basit adımları takip ederek, web sunucunuzun güvenliğini artırabilir ve potansiyel saldırganların elde edebileceği bilgileri minimuma indirebilirsiniz. Unutmayın ki, bu değişiklikleri uygulamadan önce daima bir yedekleme almak iyi bir uygulamadır. Güvenliğinizi ön planda tutarak web uygulamalarınızı korumanın önemini asla göz ardı etmeyin.


Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.

Kategoriler
Windows Windows Server Yazılar

SSL/TLS Protokollerinin Evrimi ve Windows Sunucularda TLS 1.0 ve TLS 1.1’in Devre Dışı Bırakılması ile TLS 1.2’nin Aktive Edilmesi

SSL/TLS Tarihçesi

SSL (Secure Sockets Layer) ve TLS (Transport Layer Security), internet üzerindeki iletişimi güvenli hale getirmek için kullanılan kriptografik protokollerdir. İkisi de benzer ama farklı güvenlik protokolleridir ve genellikle “SSL/TLS” olarak bir arada anılırlar.

  1. SSL (Secure Sockets Layer):
  • SSL, Netscape Communications Corporation tarafından 1994 yılında geliştirilmeye başlandı.
  • İlk sürümü SSL 1.0 hiçbir zaman halka sunulmadı çünkü birçok güvenlik açığı içeriyordu.
  • SSL 2.0, 1995 yılında ortaya çıktı ve daha yaygın olarak kullanıldı, ancak güvenlik açıkları nedeniyle kısa bir ömre sahipti.
  • SSL 3.0, 1996 yılında tanıtıldı ve daha güvenliydi. Ancak, zamanla çeşitli güvenlik açıkları keşfedildi ve SSL 3.0’nın kullanımı terk edildi.

2. TLS (Transport Layer Security):

  • TLS, SSL’in geliştirilmiş ve güvenli bir versiyonu olarak kabul edilebilir.
  • TLS 1.0, SSL 3.0’ın güvenlik açıkları düzeltilerek geliştirilmiş bir sürümüdür ve 1999 yılında tanıtıldı.
  • TLS 1.1, 2006 yılında, TLS 1.2 ise 2008 yılında geldi ve her ikisi de protokolün güvenliğini artırdı.
  • TLS 1.3, 2018 yılında yayınlandı ve birçok güvenlik ve performans iyileştirmesi getirdi. TLS 1.3, önceki sürümlere göre daha hızlı ve daha güvenlidir.

SSL ve TLS, internet trafiğini şifreleyerek, veri alışverişini güvence altına alarak ve güvenlik protokollerini güncelleyerek internet üzerindeki iletişimi korur. Ancak, güvenlik açıkları ve zayıflıklar ortaya çıktıkça, bu protokoller sürekli olarak güncellenir ve iyileştirilir.


TLS 1.2 mi TLS 1.3 mü kullanmalıyız ?

TLS 1.0 ve TLS 1.1’in de 2021’de resmi olarak kullanımdan kaldırılmıştır.
Kaynak

TLS 1.2:

  • Daha önceki bir sürümdür ve birçok uygulama ve sistem tarafından desteklenir.
  • Güvenli bir bağlantı sağlamak için iyi bir seçenektir, ancak bazı güvenlik açıkları içerebilir.
  • Güvenlik uzmanları, mümkünse TLS 1.2 yerine TLS 1.3’ü kullanmayı önerir.

TLS 1.3:

  • Daha yeni bir sürümdür ve bir dizi güvenlik geliştirmesi sunar.
  • Daha hızlı bağlantı kurma süreleri ve daha güvenli şifreleme algoritmaları içerir.
  • Güvenlik açıklarıyla mücadele etmek için tasarlanmıştır ve birçok modern tarayıcı ve sunucu tarafından desteklenir.

Hangi sürümü kullanmanız gerektiği, kullanılan sistemlere, uygulamalara ve gereksinimlere bağlıdır. Ancak genel olarak, mümkünse TLS 1.3’ü tercih etmek isteyebilirsiniz çünkü daha güvenli ve performans açısından daha iyidir. Ancak, eski sistemlerle uyumluluk sorunları veya spesifik gereksinimler nedeniyle TLS 1.2 kullanmak zorunda kalabilirsiniz.

Web sunucuları ve tarayıcılar genellikle güncel ve desteklenen TLS sürümlerini otomatik olarak kullanır. Eğer bir web sunucusu yönetiyorsanız, en güncel ve desteklenen TLS sürümünü kullanmanız önerilir. Kullanıcılar olarak, güvenliği artırmak ve en iyi performansı sağlamak için tarayıcılarınızı ve sistemlerinizi güncel tutmalısınız.


Web yayını yaptığımız platformların SSL/TLS güvenlik seviyelerini kontrol etmek ve bir puanlama yapmak için kullanılan https://www.ssllabs.com/ssltest adresinin sunduğu genel SSL/TLS uyarılarına nasıl çözüm getireceğimizi inceleyeceğiz. Ayrıca, test amaçlı kullanılan https://ahmetorhan.xyz adresinde bu kontrolleri gerçekleştireceğiz. Makalede, sistemimizde RC4 protokolü ile TLS 1.0 ve TLS 1.1’i devre dışı bırakma adımlarını özellikle Windows Sunucularda nasıl uygulayacağımızı basitleştirerek ele alacağız. Çıktılarda belirtildiği gibi, bu protokollerin devre dışı bırakılması gerektiğini göreceğiz.

Buradaki amacımız aşağıdaki bölümleri yani desteği kaldırılan TLS 1.0 ve TLS 1.1 kapatmak.

SSL Güvenliği için Registry konfigürasyonu

Verdiğim kodları “security_enable.txt” adlı bir metin belgesine yapıştırın. Dosyanın adını “security_enable.reg” olarak değiştirin ve “.txt” uzantısını silin.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000001
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
"ServerMinKeyBitLength"=dword:00000800

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000
  • security_enable.reg dosyamızı çalıştırdığımızda yukarıdaki tüm kayıtlar register ye otomatik olarak eklenecek ve aşağıdaki gibi eklendiğini görebilirsiniz.
  •  Başlat–>Çalıştır yolunu izleyerek regedit’i açıyoruz.

  • Bu işlemlerden sonra yaptığımız değişiklerin aktif olabilmesi için sunucumuzu restart etmemiz gerekiyor.
  • Restart işlemi tamamlandıktan sonra https://ahmetorhan.xyz domainimiz için test işlemini tekrar başlatıyorum. İlk başta B olarak sınıflandırmıştı şuan A olarak görmekteyiz.

  • TLS 1.0 ve TLS 1.1 protokollerinin devre dışı bırakıldığını görebilirsiniz.

  • Yaptığımız regedit değişiklerini geri almak isterseniz aşağıdaki kayıtları çalıştırıp tekrar restart etmeniz yeterli olacaktır.
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
"ServerMinKeyBitLength"=dword:00000800

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000

Herhangi bir sorunuz veya eklemek istediğiniz detaylar varsa bana yazmaktan çekinmeyin.