Jak nakonfigurovat nástroj URLScan

Důrazně doporučujeme, aby všichni uživatelé upgradovali na Internetovou informační službu (IIS) verze 7.0 běžící na systému Microsoft Windows Server 2008. Služba IIS 7.0 výrazně zvyšuje zabezpečení webové infrastruktury. Další informace o tématech souvisejících se zabezpečením služby IIS naleznete na následujícím webu společnosti Microsoft:Další informace o službě IIS 7.0 naleznete na následujícím webu společnosti Microsoft:

Souhrn

Tento podrobný článek vysvětluje, jak nakonfigurovat nástroj URLScan chránit před útoky a zneužití webového serveru.

Instalace nástroje URLScan

Chcete-li nainstalovat nástroj URLScan, naleznete následujícím webu Microsoft Developer Network (MSDN):Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
307608 pomocí nástroje URLScan ve službě IIS

Upravte soubor URLScan.ini

Všechny konfigurace nástroje URLScan se provádí v souboru URLScan.ini, který je umístěn ve složce %WINDIR%\System32\Inetsrv\URLscan. Chcete-li nakonfigurovat nástroj URLScan, otevřete tento soubor v textovém editoru, například programu Poznámkový blok, proveďte příslušné změny a pak soubor uložte.

Poznámka: Internetová informační služba (IIS) pro změny se projeví po restartování. Jedním způsobem, můžete to rychle provést je spuštěním příkazu IISRESET na příkazovém řádku.

URLScan.ini soubor obsahuje následující oddíly:
  • [Možnosti]: Tato část popisuje obecné možnosti URLScan.
  • [AllowVerbs] a [DenyVerbs]: Tato část definuje operace (také známé jako metody HTTP), které umožňuje URLScan.
  • [DenyHeaders]: Tato část obsahuje seznam záhlaví HTTP, které nejsou povoleny v požadavku HTTP. Pokud požadavek HTTP obsahuje jeden z hlavičky protokolu HTTP, které jsou uvedeny v tomto oddíle, URLScan požadavek odmítne.
  • [AllowExtensions] a [DenyExtensions]: Tato část definuje přípony názvů souborů, které umožňuje URLScan.
  • [DenyURLSequences]: Tato část obsahuje seznam řetězců, které nejsou povoleny v požadavku HTTP. Nástroj URLScan odmítne požadavky HTTP, které obsahují řetězec, který se zobrazí v této části.
Jednotlivé části budou popsány podrobněji v tomto dokumentu.

Oddíl [Options]

V oddílu [Options] můžete nakonfigurovat několik možností nástroje URLScan. Každý řádek v této části má následující formát:
OptionName=OptionValue
Dostupné možnosti a výchozí hodnoty jsou:
  • UseAllowVerbs=1

    Ve výchozím nastavení je tato možnost nastavena na 1. Pokud je tato možnost nastavena na 1, povolí URLScan pouze požadavků HTTP, které používají příkazy, které jsou uvedeny v části [AllowVerbs] . Nástroj URLScan blokuje všechny požadavky, které nepoužívají tyto slovesa. Pokud je tato možnost nastavena na 0, URLScan ignoruje v části [AllowVerbs] a namísto toho blokuje pouze požadavky, které použít slovesa, které jsou uvedeny v části [DenyVerbs] .
  • UseAllowExtensions=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 0, blokuje nástroj URLScan požadavky pro přípony názvů souborů, které jsou uvedeny v části [DenyExtensions] , ale umožňuje požadavky na jiný soubor přípony názvů. Pokud je tato možnost nastavena na 1, URLScan povoluje pouze požadavky na soubory s příponami, které jsou uvedeny v části [AllowExtensions] a blokuje požadavky na jiné soubory.
  • NormalizeUrlBeforeScan=1

    Služba IIS přijme požadavky, které jsou zakódována adresa URL. To znamená, že určité znaky může být nahrazen znakem procenta (%) následovaný určitým číslem. Například % 20 odpovídá prostoru, tak požadavek na http://myserver/My%20Dir/My%20File.htm je stejný jako požadavek http://myserver/My Dir/My File.htm. Normalizace je proces dekódování požadavky se zakódovanou adresou URL. Ve výchozím nastavení je tato možnost nastavena na 1. Pokud je možnost NormalizeUrlBeforeScan nastavena na 1, analyzuje URLScan dekódovanou požadavek. Pokud je nastavena na hodnotu 0, analyzuje URLScan požadavek na undecoded. Nastavení této možnosti na hodnotu 0, omezuje schopnost URLScan blokovat určité typy útoků.
  • VerifyNormalization=1

    Protože znak procenta (%), samotné může být zakódována adresa URL, může útočník odeslat pečlivě vytvořený požadavek na server, který je v podstatě dvojité kódování. V tomto případě může služba IIS přijímat požadavek, který by jinak odmítnout jako není platný. Ve výchozím nastavení je tato možnost nastavena na 1. Pokud je možnost VerifyNormalization nastavena na 1, URLScan normalizuje adresu dvakrát. Pokud po druhé normalizace se liší od adresy URL adresu URL po první normalizace, URLScan požadavek odmítne. To zabraňuje útokům, které spoléhají na dvojité kódování požadavků.
  • AllowHighBitCharacters=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 0, URLScan odmítne všechny požadavky, které obsahují jiné znaky než ASCII. To může zabránit některé typy útoků, ale mohou také zablokovat požadavky na některé legitimní soubory, například soubory s názvy jiné než anglické.
  • AllowDotInPath=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 0, URLScan odmítne jakoukoli žádost, která obsahuje více teček (.). To zabrání pokusům o skrytí žádosti o nebezpečných přípon vložením informací nebo dotazu řetězec části cesty adresy URL příponu názvu souboru bezpečné. Například pokud je tato možnost nastavena na 1, URLScan může umožnit žádosti o http://servername/BadFile.exe/SafeFile.htm protože předpokládá, že je požadavek na stránku HTML, když je ve skutečnosti požadavek pro spustitelný soubor (.exe) soubor s názvem v oblasti PATH_INFO stránky HTML. Pokud tato možnost nastavena na 0, URLScan může také odmítnout požadavky pro adresáře, které obsahují období.
  • RemoveServerHeader=0

    Ve výchozím webovém serveru vrátí záhlaví, který určuje, jaký software webového serveru běží všechny odpovědi. Chyba zabezpečení serveru může zvětšit protože útočník můžete určit, že server se službou IIS a pak útoku známé problémy služby IIS namísto pokouší zaútočit prostřednictvím zneužití, které jsou určeny pro jiné webové servery na serveru služby IIS. Ve výchozím nastavení je tato možnost nastavena na 0. Pokud nastavíte možnost RemoveServerHeader 1, můžete zabránit serveru odesílání záhlaví, které označuje jako server služby IIS. RemoveServerHeader nastavíte na hodnotu 0, toto záhlaví je odeslána stále.
  • AlternateServerName = (není uvedeno ve výchozím nastavení)

    Pokud RemoveServerHeader je nastavena na hodnotu 0, je v AlternateServerName možnost určit, co bude předáno zpět v záhlaví Server zadat řetězec. Pokud RemoveServerHeader je nastavena na hodnotu 1, tato možnost je ignorována.
  • EnableLogging=1

    Ve výchozím nastavení nástroj URLScan udržuje celý protokol všech požadavků, blokované ve složce % WINDIR%\System32\Inetsrv\URLScan. EnableLogging lze nastavit na hodnotu 0, pokud nechcete, aby tento protokol.
  • PerProcessLogging=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 1, URLScan vytvoří samostatné protokolu pro každý proces hostící URLScan.dll. Pokud je nastavena na hodnotu 0, všechny procesy do stejného souboru protokolu.
  • PerDayLogging=1

    Ve výchozím nastavení je tato možnost nastavena na 1. Pokud tato hodnota nastavena na 1, URLScan vytvoří nový soubor protokolu každý den. Každý soubor protokolu je pojmenován Urlscan. MMDDRR.log, kde
    MMDDRR je datum souboru protokolu. Pokud je tato hodnota nastavena na 0, všechny protokolování je uložen ve stejném souboru, bez ohledu na datum.
  • AllowLateScanning=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 0, URLScan pracuje jako prioritní filtru, což znamená, že spustí před ostatní filtry Internet (Server Application Programming Interface ISAPI), které jsou nainstalovány na serveru. Pokud je tato možnost nastavena na 1, spustí URLScan jako filtr s nízkou prioritou, aby ostatní filtry můžete změnit adresu URL před URLScan provádí analýzu. FrontPage Server Extensions (FPSE) vyžaduje tuto možnost, chcete-li nastavit na 1.
  • RejectResponseUrl = (není uvedeno ve výchozím nastavení)

    Tato možnost určuje virtuální cestu k souboru, který se spustí, jakmile nástroj URLScan blokuje požadavek. To umožňuje přizpůsobit odpověď odesílanou ke klientovi pro blokované požadavky. RejectResponseUrl musíte zadat jako virtuální cestu k příslušnému souboru, například /Path/To/RejectResponseHandler.asp. Můžete určit soubor, který obvykle blokuje nástroj URLScan, jako je stránka Active Server Pages (ASP). Můžete také použít následující proměnné server ze stránky:
    • HTTP_URLSCAN_STATUS_HEADER: Určuje, proč je blokován požadavek.
    • HTTP_URLSCAN_ORIGINAL_VERB: Tato hodnota Určuje původní příkaz z blokovaných požadavků (například GET, POST, HEAD nebo ladění).
    • HTTP_URLSCAN_ORIGINAL_URL: Určuje původní adresu URL z blokovaných požadavků.
    Pokud nastavíte RejectResponseUrl zvláštní hodnotu / ~ *, nástroj URLScan používá režim pouze pro protokolování. To umožňuje služba IIS obsluhovala všechny požadavky, ale přidá položku do protokolu nástroje URLScan pro všechny požadavky, které jsou obvykle blokovány. To je užitečné, pokud chcete otestovat soubor URLScan.ini.

    Pokud neurčíte hodnotu pro RejectResponseUrl, URLScan používá výchozí hodnotu < Rejected By UrlScan > /.

  • UseFastPathReject=0

    Ve výchozím nastavení je tato možnost nastavena na 0. Pokud je tato možnost nastavena na 1, URLScan ignoruje nastavení RejectResponseUrl a okamžitě 404 chybovou zprávu vrátí do prohlížeče. To je rychlejší než zpracování RejectResponseUrl, ale neumožňuje tolik možností protokolování. Pokud je tato možnost nastavena na 0, URLScan používá nastavení RejectResponseUrl požadavek zpracovat.

[AllowVerbs] a [DenyVerbs] sekcí

Oddíly [AllowVerbs] a [DenyVerbs] definujte akce protokolu HTTP (metody), které umožňuje URLScan. Společná akce protokolu HTTP zahrnout GET, POST, HEAD a PUT. Jiných aplikací, například FPSE a protokol WebDAV (Web Distributed Authoring and Versioning) (WebDAV) použít další slovesa.

[AllowVerbs] a [DenyVerbs] oddíly mají stejnou syntaxi. Se skládají ze seznamu akcí protokolu HTTP a každé akce se zobrazí na vlastním řádku.

URLScan rozhodne, která část použít na základě hodnoty možnosti UseAllowVerbs v oddílu [Options] . Ve výchozím nastavení je tato možnost nastavena na 1. Pokud UseAllowVerbs nastavena na 1, povolí URLScan pouze požadavky, které používají příkazy, které jsou uvedeny v části [AllowVerbs] . Se zamítá žádost, který nepoužívá jeden z těchto operací. Oddíl [DenyVerbs] v tomto případě je ignorována.

Pokud UseAllowVerbs nastavena na 0, URLScan odepře požadavky používající slovesa, které jsou výslovně uvedeny v části [DenyVerbs] . Jsou povoleny žádné požadavky, které používají příkazy, které nejsou uvedeny v této části. V tomto případě nástroj URLScan ignoruje v části [AllowVerbs] .

V části [DenyHeaders]

Pokud klient požádá o stránku z webového serveru, obvykle odesílá přes některé hlavičky protokolu HTTP, které obsahují další informace o požadavku. Běžné záhlaví HTTP patří:
  • Hostitel:

    Toto záhlaví obsahuje název webového serveru.
  • Přijmete:

    Toto záhlaví definuje typy souborů, které klient může zpracovávat.
  • User-Agent:

    Toto záhlaví obsahuje název prohlížeče, který požaduje stránku.
  • Povolení:

    Toto záhlaví definuje metody ověřování, které klient podporuje.
Klientů může odeslat jiné záhlaví server Chcete-li zadat další informace.

V části [DenyHeaders] je definovat hlavičky protokolu HTTP, které nástroj URLScan bude zamítnout. Pokud nástroj URLScan obdrží požadavek, který obsahuje všechny hlavičky, která je uvedena v této části, požadavek zamítne. Tato část je tvořena seznam záhlaví HTTP u jednotlivých záhlaví, které jsou uvedeny na samostatném řádku. Názvy záhlaví musí následovat dvojtečka (:) (například název hlavičky:).

[AllowExtensions] a [DenyExtensions] sekcí

Většina souborů mají příponu názvu souboru, který určuje, jaký typ souboru se jedná. Například názvy souborů pro aplikace Word dokumenty obvykle končit doc názvy souborů HTML obvykle končit htm nebo HTML, a názvy souborů ve formátu prostého textu obvykle končit txt. Oddíly [AllowExtensions] a [DenyExtensions] umožňují definovat rozšíření, která blokuje nástroj URLScan. Můžete například nakonfigurovat nástroj URLScan odmítnout požadavky na .exe soubory webu uživatelům zabránit ve spouštění aplikací v systému.

[AllowExtensions] a [DenyExtensions] oddíly mají stejnou syntaxi. Se skládají ze seznamu přípon názvů souborů a každé rozšíření se zobrazí na vlastním řádku. Rozšíření začíná tečkou (.) (například .ext).

URLScan rozhodne, která část použít na základě hodnoty z UseAllowExtensions v oddílu [Options] . Ve výchozím nastavení je tato možnost nastavena na 0. Pokud UseAllowExtensions nastavena na 0, URLScan pouze odepře požadavky na soubor přípony názvů, které jsou uvedeny v části [DenyExtensions] . Přípony názvů souborů, které nejsou uvedeny v této části jsou povoleny. V části [AllowExtensions] je ignorována.

Pokud UseAllowExtensions nastavena na 1, URLScan odepře požadavky pro libovolný soubor přípony názvů, které nejsou výslovně uvedeny v části [AllowExtensions] . Jsou povoleny pouze požadavky pro příponu názvu souboru, který je uveden v této části. V části [DenyExtensions] je ignorována.

Další informace o konfiguraci URLScan povolit požadavky na soubory, které nemají rozšíření klepněte na následující číslo článku databáze Microsoft Knowledge Base:
312376 jak nakonfigurovat nástroj URLScan ve službě IIS povolit požadavky s příponou null

V části [DenyUrlSequences]

Můžete nakonfigurovat nástroj URLScan blokovat požadavky, které obsahují určité sekvence znaků v adrese URL. Můžete například blokovat požadavky, které obsahují dvě po sobě jdoucí tečky (.), které jsou často používány s zneužití, které využívají chyb zabezpečení funkce traversal adresáře. Pokud chcete zadat posloupnost znaků, který chcete blokovat, umístěte pořadí v řádku sám v části [DenyUrlSequences] .

Všimněte si, že přidání sekvence znaků může nepříznivě ovlivnit aplikace Outlook Web Access (OWA) pro Microsoft Exchange. Při otevření zprávy v aplikaci OWA řádek Předmět zprávy je obsažen v adrese URL požadavku ze serveru. Protože soubor URLScan.ini blokuje všechny požadavky, které obsahují znak procenta (%) a znak ampersand (&), uživatelé 404 chybová zpráva při pokusu o otevření zprávy s předmět jako "Prodej zvýšit o 100 %" nebo "Bob & Sue jsou zvány města". Tento problém vyřešíte odebráním těchto sekvencí z oddílu [DenyUrlSequences] . Poznámka: To snižuje zabezpečení, protože umožňuje potenciálně škodlivé požadavky přístup k serveru.

Další informace získáte kliknutím na následující číslo v článku databáze Microsoft Knowledge Base:
325965 nástroje URLScan způsobuje potíže v aplikaci Outlook Web Access

Pro použití s aplikacemi IIS závislé nakonfigurovat nástroj URLScan

Aplikace Exchange, rozšíření FPSE a Microsoft Visual Studio .NET je pro správnou funkčnost závisí na službě IIS. Pokud neprovedete konfiguraci URLScan správně, může tato aplikace přestat fungovat správně.


Další informace o konfiguraci URLScan pracovat s těmito aplikacemi získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
Konfigurace 309508 IIS Lockdown a URLscan v prostředí serveru Exchange

Jak pomocí nástroje URLScan s aplikací FrontPage 2000 309394

Jak 318290 použití nástroje URLScan aplikaci FrontPage 2002

310588 konce zabezpečení toolkit ASP.NET ladění v aplikaci Visual Studio .NET

Další informace

Pokud Urlscan.ini neexistuje ve složce %WINDIR%\System32\Inetsrv\URLscan, klient obdrží odpověď na chybu 404. Chcete-li tento problém vyřešit, soubor Urlscan.ini obnovit ze zálohy nebo ze stejné serveru zkopírujte soubor Urlscan.ini.

Odkazy

Další informace získáte kliknutím na následující číslo v článku databáze Microsoft Knowledge Base:
325864 jak nainstalovat a používat Průvodce uzamčením služby IIS

Vlastnosti

ID článku: 326444 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor