IIS 7 ve 7.5 ile birlikte gelen (rol servisi olarak yüklerseniz tabi) Request Filtering güvenlik özelliği ile yapılabileceklere devam edelim.
"Rules" sekmesi web sunucunuza gönderilen HTTP isteklerinde URL,Header,Query string gibi metinlerde kelime bazlı filtreleme yapmaya imkan verir. Örnek olması bakımından "User-Agent" Header değeri "Attack" ( piyasada kolaylıkla bulunabilecek acunetix gibi güvenlik tarayıcıları varsayılan olarak User-Agent header'ına belli değerler atarlar,benzer şekilde http saldırı araçları da öyle, bu tip basit saldırıları bu özelliği kullanarak engelleyebilirsiniz) ise web sunucumuzun erişilmek istenen sayfayı engellemesi için kullanılacak kural ekran görüntüsündeki gibi olmalı;
Kural tanımında "Scan URL","Scan Query String" işaretlenmediği için request-filtering modülü URL ve Query Stringi taramayacak.Benzer şekilde "Applies To" hanesinde "html,htm,asp,aspx" gibi dosya uzantısı da belirtmediğimiz için kural tüm dosya uzantılarına erişim isteklerine etki edecek.
"Header" hanesinde kontrol edilmesini istediğimiz header değerini yani "User-Agent" satırını ekledikten sonra, bu header değerinde reddedilecek kelimeyi "Deny Strings" alanında satır olarak ekliyoruz. Özetle kural, kendisine gelen isteklerin Header değerlerini kontrol edecek, "User-Agent: Attack" header'ı ile gelen istekleri reddedecek yani isteği 404 kodu ile cevaplayacak, daha kesin konuşmak gerekirse bu istek ve akabinde gönderilen cevap kayıt dosyasına 404.19 koduyla kaydedilecek. Daha önceki yazıdan hatırlarsanız 404.19 "Denied by filtering rule" anlamına geliyor.