Az IIS 6-ban az URL Scan bővítmény számos alkalmazást megcélzó buffer overrun jellegű támadás ellen nyújtott védelmet, melyek az URL-ek vagy az URL paraméterek (query string) hibás feldolgozását használták ki. Az IIS 7-ben a továbbfejlesztett, alapértelmezés szerint beépített és működő Request Filtering modul látja el ugyanezt a feladatot. Az IIS 7 Request Filtering modulja lehetővé teszi a beérkező kérésekre vonatkozóan bizonyos kényszerek meghatározását, amelyek segítségével megvédhetjük alkalmazásainkat a kérés rossz szándékú formázásával elért néhány tipikus támadási formától.
A Request Filtering modul segítségével az alábbiakat tudjuk beállítani:
- A kérés méretének korlátozása: az URL, a query string, egyes fejlécek és a teljes kérés hossza, az URL-ben használható karakterek kódolása és a használható HTTP parancsok (verb).
- Kiterjesztések korlátozása: a handler mappingtől függetlenül megadható, hogy milyen kiterjesztésű fájlokat érhetnek el a kliensek és melyeket nem.
- Rejtett URL szegmensek: megadható, hogy mely URL szegmenseket nem lehet a kliensről elérni (pl. App_Code mappa).
- Tiltott URL minták: megadható, hogy milyen szekvenciák nem szerepelhetnek az URL-ben.
Az IIS 7 alapértelmezett telepítésekor nem kapunk grafikus IIS Managerbeli felhasználói felületet a request filtering beállításához, a konfigurálást vagy közvetlenül a konfigurációs fájlokban vagy az appcmd.exe segítségével kell elvégeznünk.
Demó
A demóban az Administration Pack for IIS 7.0 segítségével, az IIS Managerbe épülő grafikus felületen keresztül mutatjuk be a request filtering modul szolgáltatásait.
Letöltés: Keresek szurese.wmv (13:52, 62.3 MB)
Első lépések
Az IIS 7 Request Filtering modullal leggyorsabban úgy ismerkedhetünk meg, ha letöltjük és telepítjük az Administration Pack for IIS 7.0 bővítményt, amely az IIS Managerbe beépülő grafikus felhasználói felületet ad a request filtering paramétereinek konfigurálásához.
Jó tudni
Amennyiben a request filtering modul valamelyik szabálya miatt meghiúsul egy kérés feldolgozása, az alábbi hibakódokkal értesíti a webkiszolgáló a klienst:
| Error | Status Codes |
| Site not found | 404.1 |
| Denied by policy | 404.2 |
| Denied by mime map | 404.3 |
| No handler | 404.4 |
| Request Filtering: URL Sequence denied | 404.5 |
| Request Filtering: Verb denied | 404.6 |
| Request Filtering: File extension denied | 404.7 |
| Request Filtering: Denied by hidden segment | 404.8 |
| Denied since hidden file attribute has been set | 404.9 |
| Request Filtering: Denied because request header is too long | 404.10 |
| Request Filtering: Denied because URL doubled escaping | 404.11 |
| Request Filtering: Denied because of high bit characters | 404.12 |
| Request Filtering: Denied because content length too large | 404.13 |
| Request Filtering: Denied because URL too long | 404.14 |
| Request Filtering: Denied because query string too long | 404.15 |
További információk