Segurança IP <ipSecurity>
Visão geral
O elemento <ipSecurity>
define uma lista de restrições de segurança baseadas em IP nos IIS 7 e posteriores. Essas restrições podem ser baseadas no endereço IP versão 4, em um intervalo de endereços IP versão 4 ou em um nome de domínio DNS.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <ipSecurity> não foi modificado nos IIS 10.0. |
IIS 8.5 | O elemento <ipSecurity> não foi modificado nos IIS 8.5. |
IIS 8.0 | O atributo enableProxyMode foi adicionado para permitir que você bloqueie solicitações de um cliente que se conecta por meio de um proxy. O atributo denyAction foi adicionado para especificar a resposta do modo de negação padrão que os IIS enviam de volta aos clientes. |
IIS 7.5 | O elemento <ipSecurity> não foi modificado nos IIS 7.5. |
IIS 7.0 | O elemento <ipSecurity> foi introduzido nos IIS 7.0. |
IIS 6,0 | O elemento <ipSecurity> substitui a propriedade de metabase dos IIS 6.0 IPSecurity. |
Instalação
A instalação padrão dos IIS não incluem o serviço de função ou o recurso do Windows para segurança de IP. Para usar a segurança de IP nos IIS, você deve instalar o serviço de função ou o recurso do Windows usando as seguintes etapas:
Windows Server 2012 R2 ou Windows Server 2012
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
- Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, expanda Segurança e selecione Restrições de IP e Domínio. Clique em Avançar.
. - Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.1
- Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, expanda Serviços da World Wide Web, expanda Segurança e, em seguida, selecione Segurança de IP.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Restrições de IP e Domínio e clique em Avançar.
Na página Confirmar Seleções de Instalação, clique em Instalar.
Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou Desativar Recursos do Windows.
Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Segurança.
Selecione Segurança de IP e clique em OK.
Instruções
Como adicionar restrições de IP para negar o acesso a um site
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor, expanda Sites e, em seguida, o site, aplicativo ou serviço Web para o qual você deseja adicionar restrições de IP.
No painel Página Inicial, clique duas vezes no recurso Endereço IP e Restrições de Domínio.
No recurso Restrições de Endereço IP e Domínio, clique em Adicionar Entrada de Negação... no painel Ações.
Como editar as configurações do recurso de restrições de IP para um site
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, expanda o nome do servidor, expanda Sites e, em seguida, o site, aplicativo ou serviço Web para o qual você deseja adicionar restrições de IP.
No painel Página Inicial, clique duas vezes no recurso Endereço IP e Restrições de Domínio.
No recurso de Restrições de Domínio e Endereço IP, clique em Editar Configurações de Recurso... no painel Ações.
Escolha o comportamento de acesso padrão para clientes não especificados, especifique se deseja habilitar restrições por nome de domínio, especifique se deseja habilitar o Modo Proxy, selecione o Tipo de Ação de Negação e clique em OK.
Configuração
As regras são processadas de cima para baixo, na ordem em que aparecem na lista. O atributo allowUnlisted é processado por último. A prática recomendada para restrições de IPsec é listar regras de negação primeiro. Não é possível limpar o atributo allowUnlisted se ele estiver definido como false.
O elemento padrão <ipSecurity>
a seguir é configurado no arquivo ApplicationHost.config raiz no IIS 7 e posteriores. Esta seção de configuração herda as configurações padrão, a menos que você use o elemento <clear>
.
<ipSecurity allowUnlisted="true" />
Atributos
Atributo | Descrição | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
allowUnlisted |
Atributo booliano opcional. Especifica se os endereços IP não listados devem ser permitidos. A definição do atributo allowUnlisted como true permite que um endereço IP não listado acesse o servidor. A definição do atributo allowUnlisted como false bloqueia o servidor, impedindo o acesso a todos os endereços IP, a menos que eles estejam listados. Se você definisse esse atributo como false e não listasse o endereço de loopback local (127.0.0.1) como um endereço IP permitido, você não seria capaz de acessar seu servidor usando um navegador de um console local. Esse atributo também pode afetar a delegação. Se você definisse esse atributo como false em uma configuração pai, não seria possível usar o elemento <clear> para limpar essa configuração em arquivos de configuração filho.O valor padrão é true . |
||||||||||
denyAction |
Atributo de enumeração opcional. Especifica a resposta do modo de negação padrão que os IIS devem enviar de volta aos clientes. O valor padrão é forbidden .
|
||||||||||
enableProxyMode |
Atributo booliano opcional. Permite que os IIS não apenas bloqueiem solicitações de um IP do cliente que é visto pelos IIS, mas também bloqueiem solicitações de endereços IP recebidos no cabeçalho HTTP x-forwarded-for. Esse cabeçalho permite identificar o endereço IP de origem de um cliente que se conecta por meio de um proxy HTTP ou balanceador de carga. Isso é chamado de modo proxy. O valor padrão é false . |
||||||||||
enableReverseDns |
Atributo booliano opcional. Especifica se as pesquisas inversas de DNS (Sistema de Nomes de Domínio) devem ser habilitadas ou desabilitadas para o servidor Web. As pesquisas inversas envolvem a pesquisa do nome de domínio quando o endereço IP é conhecido. Cuidado: a reversão das pesquisas de DNS usará recursos e tempo significativos. O valor padrão é false . |
Elementos filho
Elemento | Descrição |
---|---|
add |
Elemento opcional. Adiciona uma restrição de IP à coleção de restrições de endereço IP. |
remove |
Elemento opcional. Remove uma referência a uma restrição da coleção <ipSecurity> . |
clear |
Elemento opcional. Remove todas as referências a restrições da coleção <ipSecurity> . |
Exemplo de configuração
O exemplo de configuração a seguir adiciona duas restrições de IP ao Site Padrão. A primeira restrição nega acesso ao endereço IP 192.168.100.1 e a segunda restrição nega acesso a toda a rede 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>
Exemplo de código
Os exemplos de código a seguir codificam pesquisas DNS inversas para o site padrão.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /enableReverseDns:true /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()