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
- Sulla barra delle applicazioni fare clic su Server Manager.
- In Server Manager fare clic sul menu Gestisci e quindi su Aggiungi ruoli e funzionalità.
- 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.
- Nella pagina Ruoliserver espandere Server Web (IIS), espandere Server Web, espandere Sicurezza e quindi selezionare IP e Restrizioni di dominio. Fare clic su Avanti.
. - Nella pagina Selezione funzionalità fare clic su Avanti.
- Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
- Nella pagina Risultati fare clic su Chiudi.
Windows 8 o Windows 8.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.
- In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva le funzionalità di Windows.
- Espandere Internet Information Services, espandere Servizi Web a livello mondiale, espandere Sicurezza e quindi selezionare Sicurezza IP.
- Fare clic su OK.
- Fare clic su Close.
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 Server Manager.
Nel riquadro della gerarchia di Server Manager espandere Ruoli e quindi fare clic su Server Web (IIS).
Nel riquadro Server Web (IIS) scorrere fino alla sezione Servizi ruolo e quindi fare clic su Aggiungi servizi ruolo.
Nella pagina Seleziona servizi ruolo della Procedura guidata Aggiungi servizi ruolo selezionare RESTRIZIONI IP e dominio e quindi fare clic su Avanti.
Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
Nella pagina Risultati fare clic su Chiudi.
Windows Vista o Windows 7
Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva funzionalità di Windows.
Espandere Internet Information Services, quindi Servizi Web a livello mondiale, quindi Sicurezza.
Selezionare Sicurezza IP e quindi fare clic su OK.
Procedure
Come aggiungere restrizioni IP per negare l'accesso per un sito Web
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).
Nel riquadro Connessioni espandere il nome del server, espandere Siti e quindi sito, applicazione o servizio Web per cui si desidera aggiungere restrizioni IP.
Nel riquadro Home fare doppio clic sulla funzionalità Indirizzo IP e Restrizioni dominio .
Nella funzionalità Restrizioni indirizzo IP e dominio fare clic su Aggiungi voce nega... nel riquadro Azioni .
Immettere l'indirizzo IP che si desidera negare e quindi fare clic su OK.
Come modificare le impostazioni delle funzionalità restrizioni IP per un sito Web
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).
Nel riquadro Connessioni espandere il nome del server, espandere Siti e quindi sito, applicazione o servizio Web per cui si desidera aggiungere restrizioni IP.
Nel riquadro Home fare doppio clic sulla funzionalità Indirizzo IP e Restrizioni dominio .
Nella funzionalità Restrizioni indirizzo IP e dominio fare clic su Modifica impostazioni funzionalità nel riquadro Azioni .
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.
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 .
|
||||||||||
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()