DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 326444 - Ultima modifica: lunedì 7 luglio 2008 - Revisione: 6.1

 
È vivamente consigliabile che tutti gli utenti eseguire l'aggiornamento per Microsoft Internet Information Services (IIS) 7.0 in esecuzione su Microsoft Windows Server 2008. IIS 7.0 aumenta notevolmente la protezione dell'infrastruttura Web. Per ulteriori informazioni su argomenti relativi alla protezione IIS, visitare il sito di Web di Microsoft:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx (http://www.microsoft.com/technet/security/prodtech/IIS.mspx)
Per ulteriori informazioni su IIS 7.0, visitare il sito di Web di Microsoft:
http://www.iis.net/default.aspx?tabid=1 (http://www.iis.net/default.aspx?tabid=1)

In questa pagina

Sommario

In questo articolo viene illustrato come configurare lo strumento URLScan per impedire che il server Web attacchi e minacce.

Installare URLScan

Per installare URLScan, visitare il seguente Microsoft Developer sito Web Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa302368.aspx (http://msdn2.microsoft.com/en-us/library/aa302368.aspx)
Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
307608  (http://support.microsoft.com/kb/307608/ ) Using URLScan on IIS

Modificare il file URLScan.ini

La configurazione di URLScan avviene tramite il file URLScan.ini file, che si trova nella cartella %WINDIR%\System32\Inetsrv\URLscan. Per configurare URLScan, aprire il file in un editor di testo, ad esempio il blocco note, apportare le modifiche desiderate e quindi salvare il file.

Nota Riavviare Internet Information Services (IIS) per le modifiche abbiano effetto. È possibile eseguire questa operazione rapidamente in un modo consiste nell'eseguire il comando IISRESET dal prompt dei comandi di.

Il file URLScan.ini contiene le sezioni seguenti:
  • [opzioni] : questa sezione viene descritto opzioni generali di URLScan.
  • [AllowVerbs] e [DenyVerbs] : questa sezione definisce i verbi (noto anche come metodi HTTP) che consente di URLScan.
  • [DenyHeaders] : questa sezione sono elencate le intestazioni HTTP che non sono consentite in una richiesta HTTP. Se una richiesta HTTP contiene una delle intestazioni HTTP che sono elencate in questa sezione, URLScan rifiuta la richiesta.
  • [AllowExtensions] e [DenyExtensions] : questa sezione definisce le estensioni di file che consente di URLScan.
  • [DenyURLSequences] : questa sezione sono elencate le stringhe che non sono consentite nel HTTP richiesta. URLScan rifiuta le richieste HTTP che contengono una stringa visualizzata in questa sezione.
Ogni sezione verrà descritta in dettaglio in questo documento.

La sezione [Options]

Nella sezione [Options] , è possibile configurare numerose opzioni di URLScan. In ogni riga in questa sezione presenta il seguente formato:
OptionName= OptionValue
Le opzioni disponibili e i valori predefiniti sono i seguenti:
  • UseAllowVerbs = 1

    Per impostazione predefinita, questa opzione è impostata su 1. Se questa opzione è impostata su 1, URLScan consente solo le richieste HTTP che utilizzano i verbi sono elencati nella sezione [AllowVerbs] . URLScan blocca tutte le richieste che non utilizzano tali verbi. Se questa opzione è impostata su 0, URLScan Ignora la sezione [AllowVerbs] e invece blocca solo le richieste che utilizzare i comandi elencati nella sezione [DenyVerbs] .
  • UseAllowExtensions = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 0, URLScan blocca le richieste di estensioni di file che sono elencate nella sezione [DenyExtensions] , ma consente le richieste di tutte le altre estensioni di file. Se questa opzione è impostata su 1, URLScan consente solo le richieste di file con estensioni elencate nella sezione [AllowExtensions] e blocca le richieste di tutti gli altri file.
  • NormalizeUrlBeforeScan = 1

    IIS riceve le richieste codificato in URL. Ciò significa che alcuni caratteri potrebbero essere sostituite con un segno di percentuale (%) seguito da un determinato numero. Ad esempio, % 20 corrisponde a uno spazio, in modo che una richiesta di http://myserver/My%20Dir/My%20File.htm sia lo stesso una richiesta di http://myserver/My Dir/My File.htm. La normalizzazione è il processo di decodifica le richieste con codifica URL. Per impostazione predefinita, questa opzione è impostata su 1. Se l'opzione NormalizeUrlBeforeScan è impostata su 1, URLScan analizza la richiesta decodificata. Se è impostata su 0, URLScan analizza la richiesta di undecoded invece. L'impostazione di questa opzione su 0 si impedisce la capacità di URLScan di bloccare alcuni tipi di attacchi.
  • VerifyNormalization = 1

    Poiché il segno di percentuale (%) stesso può essere codificato in URL, un utente malintenzionato può di inoltrare una richiesta di attentamente predisposta a un server che è sostanzialmente doppia codifica. In questo caso, IIS può accettare una richiesta in caso contrario potrebbe rifiutare come non validi. Per impostazione predefinita, questa opzione è impostata su 1. Se l'opzione VerifyNormalization è impostata su 1, URLScan normalizza l'URL due volte. Se l'URL dopo la normalizzazione prima è diverso dall'URL dopo la normalizzazione seconda, URLScan rifiuta la richiesta. Questo impedisce gli attacchi che utilizzano le richieste di doppia codifica.
  • AllowHighBitCharacters = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 0, URLScan rifiuta le richieste che contengono caratteri non ASCII. Questo può impedire determinati tipi di attacchi, ma potrebbe bloccare anche le richieste di determinati file legittimi, ad esempio file con nomi non in lingua inglese.
  • AllowDotInPath = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 0, URLScan rifiuta le richieste che contiene più punti (.). Ciò impedisce tentativi di nascondere le richieste di estensioni di file pericolosi l'inserimento di estensione di file sicuro nella parte di stringa di informazioni o la query del percorso dell'URL. Ad esempio, se questa opzione è impostata su 1, URLScan potrebbe consentire una richiesta di http://servername/BadFile.exe/SafeFile.htm perché esisto negativo che è una richiesta per una pagina HTML, quando si tratta di effettivamente una richiesta per un file eseguibile (exe) con il nome di una pagina HTML nell'area di PATH_INFO. Quando questa opzione è impostata a 0, URLScan potrebbero rifiutare le richieste di directory che contengono i periodi.
  • RemoveServerHeader = 0

    Per impostazione predefinita, un server Web restituisce un'intestazione che identifica quale software del server Web è in esecuzione in tutte le risposte. Questo può migliorare la vulnerabilità del server in quanto un utente malintenzionato può determinare che un server è in esecuzione IIS e quindi problemi di IIS, anziché tentare di attaccare un server IIS con gli attacchi sono progettati per altri server Web di attacco. Per impostazione predefinita, questa opzione è impostata su 0. Se l'opzione RemoveServerHeader è impostato su 1, si impedisce al server di invio dell'intestazione che la identifica come un server IIS. Se RemoveServerHeader è impostato su 0, questa intestazione viene comunque inviata.
  • AlternateServerName =(not specified by default)

    Se RemoveServerHeader è impostato su 0, è possibile specificare una stringa con l'opzione AlternateServerName per specificare che verrà passato nuovamente nell'intestazione del server. Se RemoveServerHeader è impostato su 1, questa opzione viene ignorata.
  • EnableLogging = 1

    Per impostazione predefinita, URLScan conserva un registro completo di tutte le richieste bloccate in % WINDIR%\System32\Inetsrv\URLScan. È possibile impostare EnableLogging su 0 se non si desidera mantenere questo registro.
  • PerProcessLogging = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 1, URLScan crea un registro separato per ogni processo che ospita URLScan.dll. Se è impostato su 0, tutti i processi di accedere allo stesso file.
  • PerDayLogging = 1

    Per impostazione predefinita, questa opzione è impostata su 1. Se questo valore è impostato su 1, URLScan crea un nuovo file di log ogni giorno. Ciascun file registro è denominato URLScan. MMDDYY .log, dove MMDDYY è la data del file di registro. Se questo valore è impostato su 0, tutte le registrazione viene salvato nello stesso file, indipendentemente dalla data.
  • AllowLateScanning = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 0, URLScan che viene eseguita come un filtro a priorità alta, che significa che viene eseguito prima di eventuali altri ISAPI Internet Server Application Programming Interface () i filtri che viene installati sul server. Se questa opzione è impostata su 1, URLScan viene eseguito come un filtro a bassa priorità, in modo che altri filtri possono modificare l'URL prima che URLScan esegua un'analisi. Le estensioni del server di FrontPage (FPSE) richiede questa opzione per essere impostato su 1.
  • RejectResponseUrl =(not specified by default)

    Questa opzione specifica il percorso virtuale a un file viene eseguita quando URLScan blocca una richiesta. Consente di personalizzare la risposta inviata al client per le richieste bloccate. È necessario specificare un percorso virtuale del file appropriato, ad esempio /Path/To/RejectResponseHandler.asp RejectResponseUrl . È possibile specificare un file che URLScan in genere blocchi, ad esempio una pagina ASP (Active Server Pages). È inoltre possibile utilizzare le seguenti variabili server dalla pagina:
    • HTTP_URLSCAN_STATUS_HEADER : la specifica perché è stata bloccata la richiesta.
    • HTTP_URLSCAN_ORIGINAL_VERB : si specifica il verbo originale dalla richiesta bloccato (ad esempio GET, POST, HEAD o DEBUG).
    • HTTP_URLSCAN_ORIGINAL_URL : la specifica dell'URL originale della richiesta bloccati.
    Se è impostata RejectResponseUrl sul valore speciale di / ~ * , URLScan utilizza la modalità di sola registrazione. Questo consente a IIS di fornire tutte le richieste, ma aggiunge una voce nel Registro di URLScan per tutte le richieste sono in genere bloccate. Ciò risulta utile se si desidera verificare il file URLScan.ini file.

    Se non si specifica un valore per RejectResponseUrl , URLScan utilizza il valore di impostazione predefinita di /<Rejected-By-UrlScan>.

  • UseFastPathReject = 0

    Per impostazione predefinita, questa opzione è impostata su 0. Se questa opzione è impostata su 1, URLScan ignora l'impostazione di RejectResponseUrl e restituisce immediatamente un messaggio di 404 errore al browser. Questo è più veloce rispetto all'elaborazione di RejectResponseUrl , ma non consente di tante opzioni di registrazione. Se questa opzione è impostata su 0, URLScan utilizza l'impostazione di RejectResponseUrl per elaborare la richiesta.

[AllowVerbs] e [DenyVerbs] sezioni

Le sezioni [AllowVerbs] e [DenyVerbs] definiscono i verbi HTTP (noto anche come metodi) che consente di URLScan. I verbi HTTP comuni sono GET, POST, HEAD e PUT. Altre applicazioni, ad esempio FPSE e Web Distributed Authoring and Versioning (WebDAV), utilizzare verbi aggiuntivi.

Sia sezioni [DenyVerbs] di [AllowVerbs] e hanno la stessa sintassi. Sono state backup di un elenco di HTTP verbi e ciascun verbo viene visualizzato sulla propria riga.

URLScan decide quale sezione utilizzare in base al valore dell'opzione UseAllowVerbs nella sezione [Options] . Per impostazione predefinita, questa opzione è impostata su 1. Se UseAllowVerbs è impostato su 1, URLScan consente solo le richieste che utilizzano i verbi sono elencati nella sezione [AllowVerbs] . Una richiesta che non utilizza uno di questi verbi viene rifiutata. In questo caso, la sezione [DenyVerbs] viene ignorata.

Se UseAllowVerbs è impostato su 0, URLScan impedisce le richieste che utilizzano comandi elencati in modo esplicito nella sezione [DenyVerbs] . Qualsiasi richiesta di utilizzare verbi che non vengono visualizzati in questa sezione è consentiti. In questo caso, URLScan Ignora la sezione [AllowVerbs] .

La sezione [DenyHeaders]

Quando un client richiede una pagina da un server Web, invia in genere su alcune intestazioni HTTP che contenere informazioni aggiuntive relative alla richiesta. Le intestazioni HTTP più comuni includono:
  • host:

    Questa intestazione contiene il nome del server Web.
  • accettare:

    Questa intestazione definisce i tipi di file che può gestire il client.
  • agente utente:

    Questa intestazione contiene il nome del browser che richiede la pagina.
  • autorizzazione:

    Questa intestazione definisce i metodi di autenticazione supportati dal client.
I client possono inviare altre intestazioni al server di specificare informazioni aggiuntive.

Nella sezione [DenyHeaders] , è possibile definire intestazioni HTTP che rifiuterà URLScan. Se URLScan riceve una richiesta contenente qualsiasi intestazione di elencati in questa sezione, respinge la richiesta. In questa sezione è costituita da un elenco di HTTP intestazioni, con ogni intestazione di visualizzazione sulla propria riga. I nomi di intestazione devono essere seguiti da due punti (:) (ad esempio, nome di intestazione: ).

[AllowExtensions] e [DenyExtensions] sezioni

La maggior parte dei file abbia l'estensione nome di file identifica il tipo di file sono. Ad esempio, i nomi di file per Word, in genere documenti terminano con estensione doc, i nomi di file HTML in genere terminano in htm o HTML e nomi di file di testo normale in genere estensione txt. Le sezioni [AllowExtensions] e [DenyExtensions] consentono di definire le estensioni che URLScan bloccherà. Ad esempio, è possibile configurare URLScan per rifiutare le richieste per impedire agli utenti di Web di esecuzione delle applicazioni nel sistema i file con estensione exe.

Sia il [AllowExtensions] che le sezioni [DenyExtensions] hanno la stessa sintassi. Essi sono costituiti da un elenco delle estensioni del nome di file e viene visualizzato ogni estensione sulla propria riga. L'estensione inizia con un punto (.) (ad esempio, .ext).

URLScan decide quale sezione utilizzare basato sul valore di UseAllowExtensions nella sezione [Options] . Per impostazione predefinita, questa opzione è impostata su 0. Se UseAllowExtensions è impostato su 0, URLScan impedisce solo le richieste di file nome estensioni elencate nella sezione [DenyExtensions] . Eventuali estensioni di nome file non sono elencate in questa sezione sono consentite. La sezione [AllowExtensions] viene ignorata.

Se UseAllowExtensions è impostato su 1, URLScan rifiuta le richieste per qualsiasi file di estensioni che non sono elencate in modo esplicito nella sezione [AllowExtensions] . Sono consentite sola richieste per un'estensione di file elencato nella sezione. La sezione [DenyExtensions] viene ignorata.

Per ulteriori informazioni su come configurare URLScan per consentire le richieste di file che non dispongono di un'estensione, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
312376  (http://support.microsoft.com/kb/312376/ ) Come configurare URLScan per consentire richieste con estensione null in IIS

La sezione [DenyUrlSequences]

È possibile configurare URLScan per bloccare le richieste che contengono determinate sequenze di caratteri nell'URL. Ad esempio, è possibile bloccare le richieste che contengono due punti consecutivi (.), che spesso vengono utilizzati con gli attacchi che sfruttano le vulnerabilità di attraversamento delle directory. Per specificare una sequenza di caratteri per bloccare, inserire la sequenza in una riga da solo nella sezione [DenyUrlSequences] .

Si noti che l'aggiunta di sequenze di caratteri può influire negativamente interessare Outlook Web Access (OWA) per Microsoft Exchange. Quando si apre un messaggio da OWA, la riga oggetto del messaggio di è contenuta nell'URL richiesto dal server. Poiché il file URLScan.ini blocca le richieste che contengono il segno di percentuale (%) e il simbolo di e commerciale (&), gli utenti visualizzato un messaggio di 404 errore quando si tenta di aprire un messaggio con un oggetto, ad esempio "Vendite aumentare da 100 %" o "Bob e Sue provengono per città". Per risolvere il problema, è possibile rimuovere queste sequenze dalsezione [DenyUrlSequences] . Si noti che questo riduce la protezione poiché consente potenzialmente dannose richieste per raggiungere il server.

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
325965  (http://support.microsoft.com/kb/325965/ ) Lo strumento URLScan può causare problemi in Outlook Web Access

Configurare URLScan per l'utilizzo con le applicazioni dipendenti da IIS

Applicazioni quali Exchange, le estensioni del server di FrontPage e Microsoft Visual Studio .NET dipendono da IIS per la corretta funzionalità. Se non si configura URLScan correttamente, è possibile che queste applicazioni interrompa di funziona correttamente.

Per ulteriori informazioni su come configurare URLScan per lavorare con queste applicazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
309508  (http://support.microsoft.com/kb/309508/ ) Configurazioni di IISlockD e URLscan in ambiente Exchange
309394  (http://support.microsoft.com/kb/309394/ ) L'utilizzo di URLScan con FrontPage 2000
318290  (http://support.microsoft.com/kb/318290/ ) L'utilizzo di URLScan con FrontPage 2002
310588  (http://support.microsoft.com/kb/310588/ ) Toolkit di protezione interrompe il debug ASP.NET in Visual Studio .NET

Informazioni

Se il file URLScan.ini non esiste nella cartella %WINDIR%\System32\Inetsrv\URLscan, il client riceverà una risposta di 404 errore. Per risolvere il problema, è necessario ripristinare il file URLScan.ini da un backup o copiare il file di URLScan.ini da un server identico.

Riferimenti

Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
325864  (http://support.microsoft.com/kb/325864/ ) Come installare e utilizzare IIS Lockdown

Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Chiavi: 
kbmt kbhowtomaster KB326444 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 326444  (http://support.microsoft.com/kb/326444/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store