|
Tulajdonképpen egy ISAPI szűrőről van szó, amelyen átmegy az összes beérkező HTTP kérés, amennyiben nem felel meg a feltételeknek, a kiszolgáló visszautasítja "404-es HTTP-hiba - A fájl nem található" üzenettel.
Hogy juthatunk hozzá a programhoz?
A program letölthető a Microsoft webhelyéről. Mivel az oldalak folyamatosan változnak, javasoljuk a www.microsoft.com cím elérése után a keresőbe beírni: "urlscan" vagy "urlscan.exe".
Telepítés:
A letöltés utáni egyetlen önkicsomagoló ".exe" az installálást is elvégzi egyben. Eredményként a %windir%\system32\inetsrv\urlscan könyvtárat és a benne lévő fájlokat kapjuk. Amikor minden fájl a helyére került, szükségessé válik az IIS újraindítása, ezt is megteszi a telepítő helyettünk, csak előtte engedélyt kér tőlünk. A sikeres végrehajtást úgy ellenőrizhetjük, hogy megnyitjuk a Felügyeleti eszközök > Internet szolgáltatáskezelő konzolt, rákattintunk a kiszolgáló nevére a jobb oldali egérgombbal, kiválasztjuk a "Tulajdonságok" menüt, az "Örökölhető tulajdonságok" legördülő menüjében válasszuk a "WWW szolgáltatás"-t, utána kattintsunk a "Szerkesztés" gombra. Megjelennek a WWW szolgáltatás alapértelmezett beállításai, itt válasszuk az "ISAPI szűrők" oldalt és a szűrőlistában kell látnunk egy "URLScan" bejegyzést előtte egy felfelé mutató zöld nyíllal (ez jelzi, hogy a szűrő sikeresen betöltődött). Mivel alapértelmezett beállításokról van szó, így ez érvényes lesz az IIS-en belül létrehozott minden webhelyre, hacsak egyéni konfigurációval ezt nem bíráljuk felül.
Konfigurálás:
Linux-os környezetben általános, de Windows felhasználóknak talán szokatlan módon, egy szövegfájlon keresztül lehet elvégezni a szűrő beállítását. A %windir%\system32\inetsrv\urlscan\urlscan.ini fájlról van szó. Szerkesztése javasolt a Jegyzettömb (Notepad) programmal.
A bejegyzéseket csak az IIS inicializálása alatt olvassa ki a rendszer, ezért a módosítások után újra kell indítani a szolgáltatást: az Internet szolgáltatáskezelő konzolon a kiszolgáló nevére és a Művelet > Az IIS újraindítása menüpontjára kattintva.
Az urlscan.ini fájl első, "Options" szekcióját nézzük meg figyelmesen. Van néhány beállítás, amivel azt is konfigurálhatjuk, hogy a további beállításcsoportok közül melyiket érvényesítse és melyiket hagyja figyelmen kívül az IIS.
Nézzük meg példának az első sort:
UseAllowVerbs=1 beállítás mellett az [AllowVerbs] beállításai kerülnek be a rendszerbe a [DenyVerbs] pedig kimarad, mintha ott sem lenne (1=igaz, 0=hamis).
Az alábbi beállításokat és csoportokat használhatjuk:
UseAllowVerbs:
HTTP parancsokat engedélyezhetünk, vagy tilthatunk le (GET, HEAD, POST). Használatához a HTTP ismerete alapkövetelmény, de itt is, mint mindenhol találunk használható alapbeállításokat.
A beállításhoz tartozó csoportok: AllowVerbs, DenyVerbs.
UseAllowExtensions:
A kiszolgálón található fájlok kiterjesztés szerinti engedélyezése illetve tiltása. Például beállíthatjuk, hogy csak a htm, html és gif fájlok kiszolgálása történjen meg.
A beállításhoz tartozó csoportok: AllowExtensions, DenyExtensions
NormalizeUrlBeforeScan:
Ha az értéke 1, akkor az URLScan az IIS által feldolgozott URL-t veti alá a szűrőfeltételeknek, ellenkező esetben a beérkezett nyers kérést dolgozza fel.
VerifyNormalization:
Ha az értéke 1, akkor az URLScan is ellenőrzi az IIS kérés feldolgozását. Léteznek olyan duplán csomagolt támadások, amelyek első rétege az IIS dekódolása után eltávolítódik és a második ekkor aktivizálódik és fejti ki hatását. A beállítás megadásával ez kivédhető.
AllowHighBitCharacters:
Ha az értéke 1, akkor bármilyen karakter szerepelhet az URL-ben, ha 0, akkor csak az ASCII karakterkészletben találhatók. Sok támadásnál használják azt a lehetőséget, hogy programokat küldenek az URL-ben a kiszolgálóra, ez ezzel a módszerrel (is) megakadályozható. Azonban előfordulhat, hogy a szerverünk egyik oldalának eléréséhez szükség van a kiterjesztett karakterkészletre, ezért is van alapértelmezésben ennek megfelelően állítva ez a paraméter.
AllowDotInPath:
Ha az értéke 1, akkor a pontot (".") csak a fájlkiterjesztésekben engedélyezi. Megakadályozza a tényleges fájlok lekérését és a könyvtárszerkezetben való mozgást. A DenyUrlSequences részben (a fájl utolsó tagja) további karaktereket is kitilthatunk.
RemoveServerHeader:
Ha az értéke 1, akkor egy kérésre küldött válaszban eltávolítja a szerver fejlécüzenetét. Az [Options] beállítások között megadhatunk helyette valami mást az "AlternateServerName" paraméter után.
EnableLogging:
Ha az értéke 1, akkor készül az eseményekről naplóbejegyzés a %systemroot%\system32\inetsrv\urlscan\urlscan.log fájlba.
PerProcessLogging:
Ha az értéke 1, akkor az URLScan folyamat (processz) azonosítója hozzáfűződik a naplófájl nevéhez. Akkor van haszna, ha több processzben fut az URLScan.
AllowLateScanning:
Ha az értéke 1, akkor az URLScan alacsony prioritású szűrőként fut és így lehetővé válik más szűrők számára, hogy módosítsák az URL-t mielőtt az eljut hozzá. Eredetileg az URLScan kapja a legmagasabb prioritást.
A program eltávolítása:
Feltelepítés után a Vezérlőpult > Programok telepítése/törlése ablakában megjelenik az "IIS UrlSan Tool 1.0 (Uninstall)" bejegyzés, amellyel elvégezhető az eltávolítása. Az IIS-ből is kikerül az ISAPI szűrő és a %systemroot%\system32\inetsrv\urlscan könyvtárból is törlődnek a fájlok egy kivétellel és ez a naplóállomány.
|