Merhabalar,
Bu yazımızda IIS 8.0 üzerinde IP engelleme konusundan bahsedeceğiz.
IIS7 ve önceki versiyonlarda gömülü olarak Yöneticilerin belli bir IP adresinden veya IP aralığından erişime izin verip, red edebileceği bir modül bulunmakta idi. IP adresi bloke edildiği zaman, o IP adresindeki bütün HTTP kullanıcıları sunucudan ”403.6 Forbidden” HTTP hatasını alır ve erişim sağlayamazlardı. Bu fonksiyon yöneticilerin sunucularına girişleri dilediği gibi konfigüre etmesine, Loglardan ya da site üzerindeki aktivitelerden takip ettikleri şüpheli kullanıcıların erişimlerini engellemelerine yarardı. Ancak, bu manuel bir işlem. Şüpheli kullanıcıları IIS log dosyalarını inceleyerek tespit edecek bu tip bir fonksiyon scriptlenebilse dahi yine de bir uzmanın manuel incelemesine gereksinim duymaktadır. Peki IIS 8.0 de neler değişti?
İçerik Erişimi
IIS 8
IIS 8.0 de ise, Microsoft bu fonksiyonu bir kaç ek özellik ile geliştirmiştir;
- Dynamic IP address filtering, ki yöneticilerin sunucularını bir IP adresinden belli bir istek sonrası IP adresini bloke edebilmelerine yarar.
- IP addresi filtreleme yöneticilerin sunucuyu şu yönde ayarlamalarını sağlar, Şüpheli olarak tespit edilen kullanıcıların isteklerine HTTP 403.6 forbidden hatası dönmek yerine direkt olarak bağlantı sonlanır.
- IP filtreleme işlemi artık bir proxy moduna da sahip, ki bu IP adreslerinin sadece IIS in gördüğü kullanıcı IP si bazında değil, HTTP header, başlığı tarafından iletilen bilgi ve değerlere göre de bloke edilebilmesini sağlamaktadır.
Adım Adım Nasıl Yapılır?
Gerekli Olanlar:
- IIS 8.0 yüklü Windows Server 2012 bir sunucu
- Dikkat: IP and Domain Restrictions özelliği feature olarak IIS in bir parçası şeklinde yüklenmelidir.
Bilinen sorun ve buglar:
Şu an için bu özellik üzerine bilinen bir bug ya da sorun olmamaktadır.
IIS’i Erişim isteyen HTTP isteklerini Reddetmesi için Konfigüre Etme
IIS 8.0 artık belli bir HTTP clientinin belirtilen bir süreç içerisinde ki giriş sayısına göre reddetmesi ya da anlık olarak HTTP clientinin bağlantı sayısına göre reddetmesi yönünde ayarlanabilir.
IIS’i bu yönde , aldığı istek sayısına göre reddetmesi adına konfigüre etmek için;
- Windows Server 2012 sunucunuza Admin olarak giriş yapın..
- Internet Information Services (IIS) Manager’ı açın.
- Sunucunuzu, ilgili siteyi, nerede işlem yapmak istiyor iseniz Connections panelinde seçin, ve IP Address and Domain Restrictions ‘a çift tıklayarak giriş yapınız.
- Edit Dynamic Restriction Settings’e Actions Panelinden giriş yapınız.
- Dynamic IP Restriction Settings diyalog kutusu gözlendiğinde eğer HTTP Clientinin aynı anda çok fazla giriş yapmasını engellemek için Deny IP Address based on the number of concurrent requests ‘i seçiniz. HTTP clientinin belirtilen bir süreç içerisinde ki giriş sayısına göre reddetmesi için ise Deny IP Address based on the number of requests over a period of time ‘ı seçiniz ve milisaniye bazında kaç giriş sağlayabileceğini belirtiniz.
- OK‘a tıklayınız.
IIS’in IP Adresini Reddederken ki Davranışını Ayarlamak
IIS 7 ve önceki sürümlerde, IIS daima bloke edilmiş bir IP adresine cevap verecek iken HTTP error “403.6 Forbidden” hatasını dönerdi. IIS 8.0 da ise, Yönetici sunucuyu pek çok şekilde IP adresini reddedecek konfigürasyonu sağlayabilir.
IP Adresslerini reddeder iken sunucunun ne şekilde davranacağını ayarlamak için:
- Windows Server 2012 sunucunuza Admin olarak giriş yapın..
- Internet Information Services (IIS) Manager’ı açın.
- Sunucunuzu, ilgili siteyi, nerede işlem yapmak istiyor iseniz Connections panelinde seçin, ve IP Address and Domain Restrictions ‘a çift tıklayarak giriş yapınız.
- Actions Panelinden Edit Feature Settings‘e tıklıyoruz.
- Edit IP and Domain Restriction Settings diyalog kutusu gözlendiğinde, Deny Action Type ‘e tıklayın ve aşağıuya doğru açılan drop-down menü üzerinden IIS’in ne şekilde davranacağını seçin:
- Unauthorized: IIS, HTTP 401 cevabı ve hatasını iletir.
- Forbidden: IIS, HTTP 403 cevabı ve hatasını iletir.
- Not Found: IIS, HTTP 404 cevabı ve hatasını iletir.
- Abort: IIS, HTTP bağlantısını sonlandırır.
- Click OK.
IIS’i Proxy Modu için Ayarlamak
IP Filtreleme yönündeki en büyük problemlerden biri, pek çok kullanıcının IIS’e bir veya birden fazla firewall arkasından gelmesi, load-balancer arkasından gelmesi, proxy kullanarak erişmesi vb. durumlardır; böylece IP adresi IIS sunucusu üzerinde erişmek istediği yola daima yakın gözükmeyi başarabilir. IIS 8.0’de Yöneticiler sunucularını IP bazlı bloklama dışında x-forwarded-for HTTP header işlemini incelemesi için ayarlayabilmektedir. Bu davranış “Proxy Mode.” olarak adlandırılmaktadır.
IIS’i proxy modunda ayarlamak için aşağıdaki yönergeyi takip ediniz:
- Windows Server 2012 sunucunuza Admin oalrak giriş yapın..
- Internet Information Services (IIS) Manager’ı açın.
- Sunucunuzu, ilgili siteyi, nerede işlem yapmak istiyor iseniz Connections panelinde seçin, ve IP Address and Domain Restrictions ‘a çift tıklayarak giriş yapınız.
- Actions Panelinden Edit Feature Settings‘e tıklıyoruz.
- Edit IP and Domain Restriction Settings diyalog kutusu gözlendiği zaman, Enable Proxy Mode.’u aktif ediyoruz.
- OK‘a tıklayınız.
Sonuç
Bu makalede, IIS’in dinamik olarak sunucu bazında ya da site bazında nasıl IP adreslerinden gelen istekleri nasıl ve ne şekilde reddedebileceğinizi, ayrıca kötü niyetli olabilecek kullanıcılara karşı etkili olan IIS’in bağlantıları reddeder iken ne şekilde davranacağını öğrenmiş olduk.
Hayırlı Çalışmalar