Condividi tramite


IP Security <ipSecurity>

Panoramica

L'elemento <ipSecurity> definisce un elenco di restrizioni di sicurezza basate su IP in IIS 7 e versioni successive. Queste restrizioni possono essere basate sull'indirizzo IP versione 4, su un intervallo di indirizzi IP versione 4 o su un nome di dominio DNS.

Compatibilità

Versione Note
IIS 10.0 L'elemento <ipSecurity> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <ipSecurity> non è stato modificato in IIS 8.5.
IIS 8,0 L'attributo enableProxyMode è stato aggiunto per consentire di bloccare le richieste da un client che si connette tramite un proxy. L'attributo denyAction è stato aggiunto per specificare la risposta predefinita alla modalità di negazione inviata da IIS ai client.
IIS 7,5 L'elemento <ipSecurity> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <ipSecurity> è stato introdotto in IIS 7.0.
IIS 6.0 L'elemento <ipSecurity> sostituisce la proprietà metabase IPSecurity IIS 6.0.

Installazione

L'installazione predefinita di IIS non include il servizio ruolo o la funzionalità di Windows per la sicurezza IP. Per usare la sicurezza IP in IIS, è necessario installare il servizio ruolo o la funzionalità di Windows usando la procedura seguente:

Windows Server 2012 o Windows Server 2012 R2

  1. Sulla barra delle applicazioni fare clic su Server Manager.
  2. In Server Manager fare clic sul menu Gestisci e quindi su Aggiungi ruoli e funzionalità.
  3. Nella procedura guidata Aggiungi ruoli e funzionalità fare clic su Avanti. Selezionare il tipo di installazione e fare clic su Avanti. Selezionare il server di destinazione e fare clic su Avanti.
  4. Nella pagina Ruoliserver espandere Server Web (IIS), espandere Server Web, espandere Sicurezza e quindi selezionare IP e Restrizioni di dominio. Fare clic su Avanti.
    Screenshot che mostra le restrizioni di dominio e I P selezionate per Windows Server 2012. .
  5. Nella pagina Selezione funzionalità fare clic su Avanti.
  6. Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
  7. Nella pagina Risultati fare clic su Chiudi.

Windows 8 o Windows 8.1

  1. Nella schermata Start spostare il puntatore nell'angolo inferiore sinistro, fare clic con il pulsante destro del mouse sul pulsante Start e quindi fare clic su Pannello di controllo.
  2. In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva le funzionalità di Windows.
  3. Espandere Internet Information Services, espandere Servizi Web a livello mondiale, espandere Sicurezza e quindi selezionare Sicurezza IP.
    Screenshot che mostra I P Security selezionato per Windows 8.
  4. Fare clic su OK.
  5. Fare clic su Close.

Windows Server 2008 o Windows Server 2008 R2

  1. Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Server Manager.

  2. Nel riquadro della gerarchia di Server Manager espandere Ruoli e quindi fare clic su Server Web (IIS).

  3. Nel riquadro Server Web (IIS) scorrere fino alla sezione Servizi ruolo e quindi fare clic su Aggiungi servizi ruolo.

  4. Nella pagina Seleziona servizi ruolo della Procedura guidata Aggiungi servizi ruolo selezionare RESTRIZIONI IP e dominio e quindi fare clic su Avanti.

    Screenshot che mostra le restrizioni di dominio e I P selezionate per Windows Server 2008.

  5. Nella pagina Conferma selezioni per l'installazione fare clic su Installa.

  6. Nella pagina Risultati fare clic su Chiudi.

Windows Vista o Windows 7

  1. Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.

  2. In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva funzionalità di Windows.

  3. Espandere Internet Information Services, quindi Servizi Web a livello mondiale, quindi Sicurezza.

  4. Selezionare Sicurezza IP e quindi fare clic su OK.

    Screenshot che mostra I P Security selezionato per Windows Vista o Windows 7.

Procedure

Come aggiungere restrizioni IP per negare l'accesso per un sito Web

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni espandere il nome del server, espandere Siti e quindi sito, applicazione o servizio Web per cui si desidera aggiungere restrizioni IP.

  3. Nel riquadro Home fare doppio clic sulla funzionalità Indirizzo IP e Restrizioni dominio .
    Screenshot che mostra l'icona I P Address and Domain Restrictions nel riquadro Home.

  4. Nella funzionalità Restrizioni indirizzo IP e dominio fare clic su Aggiungi voce nega... nel riquadro Azioni .
    Screenshot che mostra il riquadro I P Address and Domain Restrictions (Restrizioni di dominio e indirizzi I P) in I S Manager.

  5. Immettere l'indirizzo IP che si desidera negare e quindi fare clic su OK.
    Screenshot che mostra la finestra di dialogo Aggiungi regola di restrizione nega. L'indirizzo I P specifico è selezionato.


Come modificare le impostazioni delle funzionalità restrizioni IP per un sito Web

  1. Aprire Gestione Internet Information Services (IIS):

    • Se si usa Windows Server 2012 o Windows Server 2012 R2:

      • Nella barra delle applicazioni fare clic su Server Manager, scegliere Strumenti e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows 8 o Windows 8.1:

      • Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
      • Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Server 2008 o Windows Server 2008 R2:

      • Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
    • Se si usa Windows Vista o Windows 7:

      • Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
      • Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
  2. Nel riquadro Connessioni espandere il nome del server, espandere Siti e quindi sito, applicazione o servizio Web per cui si desidera aggiungere restrizioni IP.

  3. Nel riquadro Home fare doppio clic sulla funzionalità Indirizzo IP e Restrizioni dominio .
    Screenshot che mostra l'icona Indirizzi I P e Restrizioni dominio.

  4. Nella funzionalità Restrizioni indirizzo IP e dominio fare clic su Modifica impostazioni funzionalità nel riquadro Azioni .
    Screenshot che mostra il riquadro Restrizioni indirizzo I P e dominio.

  5. Scegliere il comportamento di accesso predefinito per i client non specificati, specificare se abilitare le restrizioni in base al nome di dominio, specificare se abilitare la modalità proxy, selezionare Il tipo di azione Nega e quindi fare clic su OK.
    Screenshot della finestra di dialogo Modifica impostazioni restrizioni P e dominio. Non consentito è selezionato per Nega tipo di azione.

Configurazione

Le regole vengono elaborate dall'alto verso il basso, nell'ordine in cui vengono visualizzate nell'elenco. L'attributo allowUnlisted viene elaborato per ultimo. La procedura consigliata per le restrizioni di sicurezza del protocollo Internet (IPsec) consiste nell'elencare prima le regole di negazione. Non è possibile cancellare l'attributo allowUnlisted se è impostato su false.

L'elemento predefinito <ipSecurity> seguente viene configurato nel file radice ApplicationHost.config in IIS 7 e versioni successive. Questa sezione di configurazione eredita le impostazioni di configurazione predefinite, a meno che non si usi l'elemento <clear> .

<ipSecurity allowUnlisted="true" />

Attributi

Attributo Descrizione
allowUnlisted Attributo booleano facoltativo.

Specifica se consentire indirizzi IP non elencati. L'impostazione dell'attributo allowUnlisted su true consente a un indirizzo IP non elencato di accedere al server. L'impostazione dell'attributo allowUnlisted su false blocca il server, impedendo l'accesso a tutti gli indirizzi IP, a meno che non siano elencati. Se si imposta questo attributo su false e non si elenca l'indirizzo di loopback locale (127.0.0.1) come indirizzo IP consentito, non sarà possibile accedere al server usando un browser da una console locale.

Questo attributo può influire anche sulla delega. Se si imposta questo attributo su false in una configurazione padre, non sarà possibile usare l'elemento <clear> per cancellare questa configurazione nei file di configurazione figlio.

Il valore predefinito è true.
denyAction Attributo di enumerazione facoltativo.

Specifica la risposta di modalità di negazione predefinita che IIS deve inviare ai client.

Il valore predefinito è forbidden.
Valore Descrizione
AbortRequest Specifica che per impostazione predefinita IIS deve inviare una risposta in modalità nega di Abort nuovo ai client.

Il valore numerico è 0.

Unauthorized Specifica che per impostazione predefinita IIS deve inviare una risposta in modalità nega di Unauthorized nuovo ai client. Se un client basato su browser viene usato alla fine remota, la restituzione di Unauthorized può causare la visualizzazione di una finestra di dialogo di autenticazione nel client remoto, causando tentativi di autenticazione spuri a IIS.

Il valore numerico è 401.

Forbidden Specifica che per impostazione predefinita IIS deve inviare una risposta in modalità nega di Forbidden nuovo ai client.

Il valore numerico è 403.

NotFound Specifica che per impostazione predefinita IIS deve inviare una risposta in modalità nega di Not Found nuovo ai client.

Il valore numerico è 404.

enableProxyMode Attributo booleano facoltativo.

Consente a IIS non solo di bloccare le richieste da un indirizzo IP client visualizzato da IIS, ma anche di bloccare le richieste da indirizzi IP ricevuti nell'intestazione x-forwarded-for HTTP. Questa intestazione consente di identificare l'indirizzo IP di origine di un client che si connette tramite un proxy HTTP o un servizio di bilanciamento del carico. Questa operazione viene definita modalità proxy.

Il valore predefinito è false.
enableReverseDns Attributo booleano facoltativo.

Specifica se abilitare o disabilitare le ricerche DNS (Domain Name System) inversa per il server Web. Le ricerche inversa comportano la ricerca del nome di dominio quando l'indirizzo IP è noto.

Attenzione: le ricerche DNS inversi useranno risorse e tempo significative.

Il valore predefinito è false.

Elementi figlio

Elemento Descrizione
add Elemento facoltativo.

Aggiunge una restrizione IP alla raccolta di restrizioni relative agli indirizzi IP.
remove Elemento facoltativo.

Rimuove un riferimento a una restrizione dalla <ipSecurity> raccolta.
clear Elemento facoltativo.

Rimuove tutti i riferimenti alle restrizioni dalla <ipSecurity> raccolta.

Esempio di configurazione

L'esempio di configurazione seguente aggiunge due restrizioni IP al sito Web predefinito; la prima restrizione nega l'accesso all'indirizzo IP 192.168.100.1 e la seconda restrizione nega l'accesso all'intera rete 169.254.0.0.

<location path="Default Web Site">
   <system.webServer>
      <security>
         <ipSecurity>
            <add ipAddress="192.168.100.1" />
            <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
         </ipSecurity>
      </security>
   </system.webServer>
</location>

Codice di esempio

Gli esempi di codice seguenti includono ricerche DNS inversi per il sito Web predefinito.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /enableReverseDns:true /commit:apphost

Nota

È necessario assicurarsi di impostare il parametro commit su apphost quando si usa AppCmd.exe per configurare queste impostazioni. In questo modo le impostazioni di configurazione vengono confermate nella sezione relativa al percorso appropriato nel file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site");
         ipSecuritySection["enableReverseDns"]=true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim ipSecuritySection As ConfigurationSection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site")
      
      ipSecuritySection("enableReverseDns") = True
      
      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site");

ipSecuritySection.Properties.Item("enableReverseDns").Value = True;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site")

ipSecuritySection.Properties.Item("enableReverseDns").Value = True

adminManager.CommitChanges()