IIS Hardening

Özet Bu döküman içerisinde Windows işletim sistemlerinde çalışması hedeflenen web sunucusu 'IIS' yazılımı üzerinde güvenlik önerileri yer almaktadır. Her öneri, belirli ortam gereksinimlerine göre değerlendirilmelidir.
Güvenlik Sıkılaştırması
Web sunucusu bilgi ifşalarını önleyecek şekilde yapılandırılmalıdır. Varsayılan hata ve kurulum sayfaları kaldırılmalıdır. Web sunucu teknolojisi hakkında bilgi ifşasına neden olan HTTP başlıkları kaldırılmalıdır. Hatalı HTTP isteklerine dönen cevaplarda bilgi ifşasına izin verilmemelidir.
Güncel Web Sunucu Yazılımlarının Kullanılması
Web sunucu yazılımlarının güncel, zafiyet içermeyen ve üreticisi tarafından desteği devam eden kararlı sürümleri kullanılmalıdır. Ayrıca, sunucuda kullanımda olan tüm araçların/paket programların güvenlik yamaları için düzenli aralıklarla kontrol yapılmalıdır.
Güvenlik Bağlantı Zorlanmalı, SSL/TLS Doğru Yapılandırılmalıdır.
SSL/TLS Kullanımı Sunucu SSL/TLS kullanımına elverişli yapılandırılmalıdır. Bu kapsamda, sunucuda sadece, bilinen zafiyet içermeyen güvenilir sürüme sahip SSL/TLS versiyonları kullanılmalıdır. İsteklerin HTTP’den HTTPS’e Yönlendirilmesi Web sunucusundaki herhangi bir HTTP bağlantı noktası, şifreleme kullanan bir sunucu bağlantı noktasına yönlendirmelidir.
HTTP İsteği Filtreleme Seçeneklerini Yapılandırın;
POST, GET, OPTIONS ve HEAD metotları dışında diğer HTTP metotları desteklenmemelidir. PUT, DELETE, PROPFIND gibi metotlar web servisi için kullanılıyorsa, kullanımlarının sadece web servis ihtiyaçları ile sınırlı olup olmadığı kontrol edilmelidir. Bu metotların dosya yükleme veya silme gibi farklı amaçlarla kullanımı engellenmelidir.
Sunucuda HTTP Güvenlik Başlıklarının Kullanımı;
Sunucu tarafında koruyucu HTTP başlıkları (X-Frame- Options, Strict-Transport-Security vb.) yapılandırılmalıdır
X-XSS-Protection: siteler arası komut dosyası (XSS) filtresi etkinleştirmek için tasarlanmıştır.
X-FRAME-OPTIONS: Tarayıcıya sitenizin çerçevelenmesine izin vermek isteyip istemediğinizi söyler. Bir tarayıcının sitenizi çerçevelemesini önleyerek clickjacking gibi saldırılara karşı savunabilirsiniz.
X-Content-Type-Options: Tarayıcının içerik türünü MIME-Sniff ataklarına karşı önlem alınması için kullanılır.
Sunucu Bilgilerinin Gizlenmesi;
Kullanılan ASP.net, IIS versiyonlarının aktörler tarafından kontrol edildiği, söz konusu altyapıdaki zafiyetlerin tespiti yapılarak kötü niyetli amaçlar gerçekleştirdiği bilinmektedir.
Hata Sayfalarının, Debug Fonkisyonların Kısıtlanması;
Web sunucu yazılımı debug (hata ayıklama) modunda çalıştırılmamalıdır.
Hata durumunda kullanıcının özel olarak oluşturulmuş hata sayfasına yönlendirilmesi'de yapılabilmektedir.
İstek Limitlerinin Sınırlandırılması
Web sunucu yazılımının desteklediği ölçüde, istekler için limitler belirlenmelidir.
Bağımlılıkların Kontrol Edilmesi;
Kullanılmayan Modüllerin Kaldırılması, sunucuda sadece kullanılan modüllerin aktif olmalıdır.
Kullanıcı/Grup Yetkilerinin Sınırlanması;
Web sunucu yazılımı yönetici hesabıyla değil, bu amaç için özel olarak oluşturulmuş bir hesap ile çalıştırılmalıdır. Web sunucusunda bulunan varsayılan hesaplar/parolalar kullanım dışı bırakılmalıdır.
Dosya Uzantılarının Kısıtlanması;
IIS tarafından güvenli kabul edilen bir çok uzantıya varsayılan olarak izin verilir. Eğer uygulamanızda çok fazla dosya çeşitliliği yok ise bunları kısıtlayabilirsiniz.
Dosya/Dizin Erişiminin Kısıtlanması;
Dizin listelemesi pasif hale getirilmelidir.
Sıkılaştırmanın otomatize olarak gerçekleştirilmesi amaçlana powershell betiği; https://github.com/zahav/powershell-iis-hardening
Web sunucunuzdan kurum dışına doğru (outbound) her türlü trafiğin başlatılmasının engellenmesi önerilmektedir. Kullanılmayan bir eklenti de ortaya çıkabilecek olası bir zaafiyet web sunucunuzun ele geçirilmesine neden olabilir bu yüzden web uygulamalarınızın bulunduğu klasörleri sistem diski haricinde disk bölümlerinde tutun. Önerilerimiz içerisinde en önemli olanın her web sitesi için ayrı ASP.NET temp klasörleri kullanmanız ve IIS loglarına erişimi kısıtlayın, mümkün olduğunca detaylı log tutmanızdır.