JAK: Konfigurowanie narzędzia URLScan

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 326444 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule opisano krok po kroku sposób konfigurowania narzędzia URLScan w celu zabezpieczenia serwera sieci Web przed atakami i nadużyciami.

Instalowanie narzędzia URLScan

Aby uzyskać dodatkowe informacje dotyczące sposobu instalowania narzędzia URLScan, kliknij numery artykułów poniżej w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
315522 HOW TO: Extract the URLScan Tool and Lockdown Template Files from the IIS Lockdown Tool
307608 INFO: Availability of URLScan Version 2.5 Security Tool

Modyfikowanie pliku URLScan.ini

Wszystkie czynności konfiguracyjne narzędzia URLScan są wykonywane przy użyciu pliku URLScan.ini znajdującego się w folderze %WINDIR%\System32\Inetsrv\URLscan. Aby skonfigurować narzędzie URLScan, otwórz ten plik w edytorze tekstu, na przykład w programie Notatnik, dokonaj odpowiednich zmian, a następnie zapisz plik.

UWAGA: Aby zmiany zostały zastosowane, należy ponownie uruchomić Internetowe usługi informacyjne (IIS). Jednym ze sposobów, aby dokonać tego szybko, jest uruchomienie polecenia IISRESET w wierszu polecenia.

Plik URLScan.ini zawiera następujące sekcje:
  • [Options]: W tej sekcji opisane są ogólne opcje narzędzia URLScan.
  • [AllowVerbs] i [DenyVerbs]: W tych sekcjach określa się słowa kluczowe (zwane też metodami HTTP) dopuszczane przez narzędzie URLScan.
  • [DenyHeaders]: Ta sekcja zawiera listę nagłówków HTTP niedozwolonych w żądaniach HTTP. Jeśli żądanie HTTP zawiera jeden z nagłówków HTTP wymienionych w tej sekcji, narzędzie URLScan odrzuca żądanie.
  • [AllowExtensions] i [DenyExtensions]: W tych sekcjach określa się rozszerzenia nazw dopuszczanych przez narzędzie URLScan.
  • [DenyURLSequences]: Ta sekcja zawiera listę ciągów niedozwolonych w żądaniach HTTP. Narzędzie URLScan odrzuca żądania HTTP zawierające ciąg, który umieszczono w tej sekcji.
Każda z tych sekcji zostanie szczegółowo opisana w niniejszym dokumencie.

Sekcja [Options]

W sekcji [Options] można skonfigurować kilka opcji narzędzia URLScan. Każdy wiersz w tej sekcji ma następujący format:
Nazwa_opcji=wartość_opcji
Dostępne są następujące opcje i ich wartości:
  • UseAllowVerbs=1

    Domyślnie ta opcja jest ustawiona na 1. Jeśli ta opcja jest ustawiona na 1, narzędzie URLScan dopuszcza jedynie te żądania HTTP, w których użyto słów kluczowych wymienionych w sekcji [AllowVerbs]. Narzędzie URLScan blokuje każde żądanie, w którym nie użyto tych słów kluczowych. Jeśli ta opcja jest ustawiona na 0, narzędzie URLScan ignoruje wpisy w sekcji [AllowVerbs] i blokuje tylko żądania korzystające ze słów kluczowych wymienionych w sekcji [DenyVerbs].
  • UseAllowExtensions=0

    Domyślnie ta opcja jest ustawiona na 0. Jeśli ta opcja jest ustawiona na 0, narzędzie URLScan blokuje żądania dotyczące rozszerzeń nazw plików wymienionych w sekcji [DenyExtensions], ale dopuszcza żądania dotyczące wszystkich innych rozszerzeń nazw plików. Jeśli ta opcja jest ustawiona na 1, narzędzie URLScan dopuszcza jedynie żądania dotyczące plików o rozszerzeniach wymienionych w sekcji [AllowExtensions], a blokuje żądania dotyczące wszystkich innych plików.
  • NormalizeUrlBeforeScan=1

    Usługi IIS otrzymują żądania w postaci zakodowanych adresów URL. Oznacza to, że pewne znaki mogą być zastąpione określoną liczbą poprzedzoną znakiem procentu (%). Na przykład, %20 odpowiada spacji, zatem żądanie zawierające adres http://mojserver/Moja%20kart/Moj%20plik.htm jest identyczne z żądaniem dotyczącym adresu http://mojserver/Moja kart/Moj plik.htm. Normalizacja to proces dekodowania żądań zawierających zakodowane adresy URL. Domyślnie ta opcja jest ustawiona na 1. Jeśli opcja NormalizeUrlBeforeScan jest ustawiona na 1, narzędzie URLScan analizuje żądanie zdekodowane. Jeśli jest ustawiona na 0, narzędzie URLScan analizuje żądanie nie zdekodowane. Ustawienie tej opcji na 0 ogranicza możliwość blokowania przez narzędzie URLScan niektórych rodzajów ataków.
  • VerifyNormalization=1

    Ponieważ sam znak procentu (%) może być zakodowany w adresie URL, atakujący może przysłać do serwera umiejętnie przygotowane żądanie, które zostało podwójnie zakodowane. W takim przypadku usługi IIS mogą zaakceptować żądanie, które w innym razie zostałoby odrzucone jako nieprawidłowe. Domyślnie ta opcja jest ustawiona na 1. Jeśli opcja VerifyNormalization jest ustawiona na 1, narzędzie URLScan dokonuje normalizacji adresu URL dwa razy. Jeśli adres URL po pierwszej normalizacji różni się od adresu URL po drugiej normalizacji, narzędzie URLScan odrzuca żądanie. Zapobiega to atakom opartym na podwójnie zakodowanych żądaniach.
  • AllowHighBitCharacters=0

    Domyślnie ta opcja jest ustawiona na 0. Jeśli ta opcja jest ustawiona na 0, narzędzie URLScan odrzuca wszystkie żądania zawierające znaki spoza zestawu ASCII. Może to zapobiegać pewnym typom ataków, lecz może też powodować blokowanie żądań dotyczących pewnych dozwolonych plików, takich jak pliki o nazwach w języku innym niż angielski.
  • AllowDotInPath=0

    Domyślnie ta opcja jest ustawiona na 0. Jeśli ta opcja jest ustawiona na 0, narzędzie URLScan odrzuca wszystkie żądania zawierające wiele kropek (.). Zapobiega to próbom maskowania żądań dotyczących niebezpiecznych rozszerzeń nazw plików przez umieszczenie bezpiecznego rozszerzenia nazwy pliku w informacji dotyczącej ścieżki lub w części ciągu zapytania zawartego w adresie URL. Na przykład, jeśli ta opcja jest ustawiona na 1, narzędzie URLScan może dopuścić żądanie dotyczące pliku http://nazwa_serwera/niebezp_plik.exe/bezp_plik.htm, ponieważ uzna, że jest to żądanie dotyczące strony HTML, podczas gdy w rzeczywistości jest to żądanie dotyczące pliku wykonywalnego (.exe) mającego nazwę strony HTML w obszarze PATH_INFO. Gdy ta opcja jest ustawiona na 0, narzędzie URLScan może także odrzucać żądania dotyczące katalogów, których nazwy zawierają kropkę.
  • RemoveServerHeader=0

    Domyślnie serwer sieci Web zwraca nagłówek wskazujący, jakie oprogramowanie serwera sieci Web jest używane we wszystkich odpowiedziach. Może to powiększyć lukę w zabezpieczeniach, ponieważ atakujący może stwierdzić, że na serwerze działają usługi IIS, a następnie zaatakować, wykorzystując znane problemy z usługami IIS, zamiast próbować atakować serwer usług IIS, korzystając z ataków przeznaczonych do innych serwerów sieci Web. Domyślnie ta opcja jest ustawiona na 0. Dzięki ustawieniu opcji RemoveServerHeader na 1 można zapobiec wysyłaniu przez serwer nagłówka wskazującego, że jest to serwer usług IIS. Ustawienie opcji RemoveServerHeader na 0 powoduje wysyłanie takiego nagłówka.
  • AlternateServerName=(domyślnie nie określone)

    Jeśli opcję RemoveServerHeader ustawiono na 0, w opcji AlternateServerName można określić ciąg określający, jaka treść będzie zwracana w nagłówku serwera. Jeśli opcja RemoveServerHeader jest ustawiona na 1, ta opcja jest ignorowana.
  • EnableLogging=1

    Domyślnie narzędzie URLScan prowadzi pełny dziennik żądań zablokowanych, umieszczony w folderze %WINDIR%\System32\Inetsrv\URLScan. Ustawienie opcji EnableLogging na 0 spowoduje, że ten dziennik nie będzie prowadzony.
  • PerProcessLogging=0

    Domyślnie ta opcja jest ustawiona na 0. Po ustawieniu tej opcji na 1 narzędzie URLScan tworzy oddzielny dziennik dla każdego procesu obsługiwanego przez program URLScan.dll. Jeśli jest ona ustawiona na 0, dziennik dla wszystkich procesów jest zapisywany w tym samym pliku.
  • PerDayLogging=1

    Domyślnie ta opcja jest ustawiona na 1. Jeśli jej wartość zostanie ustawiona na 1, narzędzie URLScan tworzy codziennie nowy plik dziennika. Każdy z plików dziennika nosi nazwę Urlscan.MMDDRR.log, gdzie MMDDRR jest datą dziennika. Jeśli wartość tej opcji zostanie ustawiona na 0, Wszystkie wpisy dziennika są zapisywane w tym samym pliku, niezależnie od daty.
  • AllowLateScanning=0

    Domyślnie ta opcja jest ustawiona na 0. Ustawienie tej opcji na 0 powoduje, że narzędzie URLScan działa jako filtr o wysokim priorytecie, to znaczy jest wykonywane przed wszystkimi innymi filtrami interfejsu ISAPI (Internet Server Application Programming Interface) zainstalowanymi na serwerze. Ustawienie tej opcji na 1 powoduje, że narzędzie URLScan działa jako filtr o niskim priorytecie, tak że inne filtry mogą modyfikować adres URL zanim narzędzie URLScan dokona jakiejkolwiek analizy. Rozszerzenia serwera FrontPage (FPSE, FrontPage Server Extensions) wymagają, by ta opcja była ustawiona na 1.
  • RejectResponseUrl=(domyślnie nie określone)

    Opcja ta określa wirtualną ścieżkę do pliku uruchamianego, gdy narzędzie URLScan blokuje żądanie. Pozwala to na dostosowanie odpowiedzi wysyłanej do klienta odnośnie zablokowanych żądań. Opcję RejectResponseUrl należy określić w postaci wirtualnej ścieżki do odpowiedniego pliku, na przykład /sciezka/do/obslugi_odrzucania_zadan.asp. Można określić plik blokowany zwykle przez narzędzie URLScan, na przykład stronę ASP (Active Server Pages). Za pomocą tej strony można też użyć następujących zmiennych serwera:
    • HTTP_URLSCAN_STATUS_HEADER: określa przyczynę zablokowania żądania.
    • HTTP_URLSCAN_ORIGINAL_VERB: określa oryginalne słowo kluczowe w zablokowanym żądaniu (na przykład GET, POST, HEAD lub DEBUG).
    • HTTP_URLSCAN_ORIGINAL_URL: określa oryginalny adres URL w zablokowanym żądaniu.
    Ustawienie opcji RejectResponseUrl na specjalną wartość /~* powoduje, że narzędzie URLScan korzysta tylko z trybu rejestrowania. Pozwala to usługom IIS obsługiwać wszystkie żądania, lecz dodaje wpis do dziennika narzędzia URLScan dla wszystkich żądań, które są zwykle blokowane. Jest to przydatne do testowania pliku URLScan.ini.

    Jeśli wartość opcji RejectResponseUrl nie zostanie określona, narzędzie URLScan korzysta z wartości domyślnej /<Rejected-By-UrlScan>.

  • UseFastPathReject=0

    Domyślnie ta opcja jest ustawiona na 0. Ustawienie tej opcji na 1 powoduje, że narzędzie URLScan ignoruje ustawienie opcji RejectResponseUrl i od razu zwraca przeglądarce komunikat o błędzie 404. Odbywa się to szybciej niż przetwarzanie opcji RejectResponseUrl, ale udostępniana jest mniejsza liczba opcji rejestrowania. Ustawienie tej opcji na 0 powoduje, że przy przetwarzaniu żądania narzędzie URLScan korzysta z ustawienia opcji RejectResponseUrl.

Sekcje [AllowVerbs] i [DenyVerbs]

W sekcjach [AllowVerbs] i [DenyVerbs] określa się słowa kluczowe HTTP (zwane także metodami ) dopuszczone przez narzędzie URLScan. Najczęściej spotykane słowa kluczowe HTTP to GET, POST, HEAD i PUT. Inne aplikacje, na przykład rozszerzenia FPSE i usługa Web Distributed Authoring and Versioning (WebDAV), korzystają z dodatkowych słów kluczowych.

W obu sekcjach, [AllowVerbs] i [DenyVerbs] obowiązuje ta sama składnia. Składają się one z list słów kluczowych HTTP, przy czym każde słowo kluczowe jest wpisane w osobnym wierszu.

Narzędzie URLScan decyduje, która sekcja zostanie zastosowana w oparciu o wartość opcji UseAllowVerbs w sekcji [Options]. Domyślnie ta opcja jest ustawiona na 1. Ustawienie opcji UseAllowVerbs na 1 powoduje, że narzędzie URLScan dopuszcza jedynie słowa kluczowe wymieniona na liście w sekcji [AllowVerbs]. Żądanie nie zawierające jednego z tych słów kluczowych jest odrzucane. W tym przypadku sekcja [DenyVerbs] jest ignorowana.

Jeśli opcja UseAllowVerbs jest ustawiona na 0, narzędzie URLScan odrzuca żądania, w których występują słowa kluczowe wymienione w sposób jawny w sekcji [DenyVerbs]. Wszystkie żądania zawierające słowa kluczowe nie występujące w tej sekcji są dopuszczane. W tym przypadku narzędzie URLScan ignoruje sekcję [AllowVerbs].

Sekcja [DenyHeaders]

Gdy klient wysyła żądanie strony z serwera sieci Web, wysyła on zwykle w nagłówkach HTTP dodatkowe informacje dotyczące żądania. Najczęściej spotykane nagłówki HTTP zawierają następujące informacje:
  • Host:

    Ten nagłówek zawiera nazwę serwera sieci Web.
  • Accept:

    Ten nagłówek określa typy plików obsługiwanych przez klienta.
  • User-Agent:

    Ten nagłówek zawiera nazwę przeglądarki wysyłającej żądanie dotyczące strony.
  • Authorization:

    Ten nagłówek określa metody uwierzytelniania obsługiwane przez klienta.
Klienci mogą przysyłać do serwera inne nagłówki w celu przekazania dodatkowych informacji.

W sekcji [DenyHeaders] określa się nagłówki HTTP, które będą odrzucane przez narzędzie URLScan. Gdy narzędzie URLScan otrzymuje żądanie zawierające dowolny nagłówek wymieniony w tej sekcji, żądanie to zostaje odrzucone. Sekcja ta składa się z listy nagłówków HTTP, z których każdy jest wpisany w oddzielnym wierszu. Nazwy nagłówków muszą być zakończone dwukropkiem (:) (na przykład Nazwa-naglowka:).

Sekcje [AllowExtensions] i [DenyExtensions]

Większość plików ma rozszerzenie nazwy określające rodzaj danego pliku. Na przykład, nazwy plików dokumentów programu Word są zwykle zakończone rozszerzeniem .doc, nazwy plików HTML są zwykle zakończone rozszerzeniem .htm lub .html, a nazwy zwykłych plików tekstowych są zwykle zakończone rozszerzeniem .txt. Sekcje [AllowExtensions] i [DenyExtensions] umożliwiają określenie rozszerzeń, które będą blokowane przez narzędzie URLScan. Na przykład, narzędzie URLScan można skonfigurować tak, by odrzucane były wszystkie żądania dotyczące plików .exe, aby zapobiec wykonywaniu aplikacji na danym systemie przez użytkowników sieci Web.

W obu sekcjach, [AllowExtensions] i [DenyExtensions] obowiązuje ta sama składnia. Składają się one z list rozszerzeń nazw plików, z których każde jest wpisane w oddzielnym wierszu. Rozszerzenia rozpoczynają się od kropki (.) (na przykład .roz).

Narzędzie URLScan decyduje, która sekcja zostanie zastosowana w oparciu o wartość opcji UseAllowExtensions w sekcji [Options]. Domyślnie ta opcja jest ustawiona na 0. Ustawienie opcji UseAllowExtensions na 0 powoduje, że narzędzie URLScan odrzuca jedynie żądania dotyczące rozszerzeń nazw plików wymienionych w sekcji [DenyExtensions]. Wszystkie rozszerzenia nazw plików nie wymienione w tej sekcji są dopuszczane. Sekcja [AllowExtensions] jest ignorowana.

Ustawienie opcji UseAllowExtensions na 1 powoduje, że narzędzie URLScan odrzuca żądania dotyczące rozszerzeń wszystkich nazw plików nie wymienionych jawnie w sekcji [AllowExtensions]. Dopuszczane są wyłącznie żądania dotyczące rozszerzeń nazw plików wymienionych w tej sekcji. Sekcja [DenyExtensions] jest ignorowana.

Aby uzyskać dodatkowe informacje na temat sposobu konfigurowania narzędzia URLScan w celu dopuszczania żądań dotyczących plików nie posiadających rozszerzeń, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
312376 JAK: Konfigurowanie filtru URLScan, tak aby zezwalał na żądania z pustym rozszerzeniem w programie IIS

Sekcja [DenyUrlSequences]

Narzędzie URLScan można skonfigurować tak, aby blokowało żądania zawierające pewne sekwencje znaków w adresie URL. Na przykład, można spowodować blokowanie żądań zawierających dwie kolejne kropki (..) stosowanych często w atakach wykorzystujących luki związane ze zmianą katalogu. Aby określić sekwencję znaków, która ma być blokowana, należy ją umieścić w oddzielnym wierszu w sekcji [DenyUrlSequences].

Należy zwrócić uwagę, że dodanie sekwencji znaków może wpłynąć niekorzystnie na działanie programu Outlook Web Access (OWA) w odniesieniu do serwera Microsoft Exchange. Po otwarciu wiadomości za pomocą programu OWA wiersz tematu wiadomości jest zawarty w adresie URL wysyłanym jako żądanie do serwera. Ponieważ plik URLScan.ini powoduje blokowanie wszystkich żądań zawierających znak procentu (%) i znak handlowe „i” (&), użytkownikom wyświetlany jest komunikat o błędzie 404, gdy próbują oni otworzyć wiadomość z wierszem tematu w rodzaju „Wzrost sprzedaży o 100%” lub „Jan & Ewa jadą do miasta”. Aby rozwiązać ten problem, można usunąć te sekwencje z sekcji [DenyUrlSequences]. Należy zauważyć, że powoduje to obniżenie poziomu zabezpieczeń, ponieważ stwarza możliwość dojścia do serwera żądań powodujących uszkodzenia.

Konfigurowanie narzędzia URLScan do stosowania z aplikacjami zależnymi od usług IIS


Aplikacje takie jak Exchange, FPSE i Microsoft Visual Studio .NET są pod względem poprawności działania zależne od usług IIS . Jeśli narzędzie URLScan nie zostało poprawnie skonfigurowane, aplikacje te mogą przestać działać prawidłowo.

Aby uzyskać dodatkowe informacje dotyczące sposobu konfigurowania narzędzia URLScan do pracy w tymi aplikacjami, kliknij numery artykułów poniżej w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
309508 XCCC: IIS Lockdown and URLscan Configurations in an Exchange Environment
309394 JAK: Używanie narzędzia URLScan z programem FrontPage 2000
318290 HOW TO: Use URLScan with FrontPage 2002
310588 PRB: Security Toolkit Breaks ASP.NET Debugging in Visual Studio .NET

Materiały referencyjne

Aby uzyskać dodatkowe informacje, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
325864 JAK: Instalowanie i używanie Kreatora blokady programu IIS

Właściwości

Numer ID artykułu: 326444 - Ostatnia weryfikacja: 26 września 2003 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Internet Information Server 4.0
  • Internetowe usługi informacyjne Microsoft 5.0
Słowa kluczowe: 
kbhowto kbhowtomaster KB326444

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com