Compartilhar via


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

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. 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.
  4. 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.
    Screenshot that shows I P and Domain Restrictions selected for Windows Server 2012. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  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.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. 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.
    Screenshot that shows I P Security selected for Windows 8.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.

  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).

  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.

  4. 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.

    Screenshot that shows I P and Domain Restrictions selected for Windows Server 2008.

  5. Na página Confirmar Seleções de Instalação, clique em Instalar.

  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.

  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou Desativar Recursos do Windows.

  3. Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Segurança.

  4. Selecione Segurança de IP e clique em OK.

    Screenshot that shows I P Security selected for Windows Vista or Windows 7.

Instruções

Como adicionar restrições de IP para negar o acesso a um site

  1. 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).
  2. 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.

  3. No painel Página Inicial, clique duas vezes no recurso Endereço IP e Restrições de Domínio.
    Screenshot that shows the I P Address and Domain Restrictions icon in the Home pane.

  4. No recurso Restrições de Endereço IP e Domínio, clique em Adicionar Entrada de Negação... no painel Ações.
    Screenshot that shows the I P Address and Domain Restrictions pane in the I I S Manager.

  5. Insira o endereço IP que você deseja negar e clique em OK.
    Screenshot that shows the Add Deny Restriction Rule dialog box. Specific I P address is selected.


Como editar as configurações do recurso de restrições de IP para um site

  1. 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).
  2. 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.

  3. No painel Página Inicial, clique duas vezes no recurso Endereço IP e Restrições de Domínio.
    Screenshot that shows the I P Address and Domain Restrictions icon.

  4. No recurso de Restrições de Domínio e Endereço IP, clique em Editar Configurações de Recurso... no painel Ações.
    Screenshot that shows the I P Address and Domain Restrictions pane.

  5. 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.
    Screenshot of the Edit I P and Domain Restrictions Settings dialog box. Forbidden is selected for Deny Action Type.

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.
Valor Descrição
AbortRequest Especifica que, por padrão, os IIS devem enviar uma resposta de modo de negação de Abort de volta aos clientes.

O valor numérico é 0.

Unauthorized Especifica que, por padrão, os IIS devem enviar uma resposta de modo de negação de Unauthorized de volta aos clientes. Se um cliente baseado em navegador estiver sendo usado no final remoto, retornar “Não autorizado” poderá fazer com que uma caixa de diálogo de autenticação apareça no cliente remoto, resultando em tentativas de autenticação espúrias para os IIS.

O valor numérico é 401.

Forbidden Especifica que, por padrão, os IIS devem enviar uma resposta de modo de negação de Forbidden de volta aos clientes.

O valor numérico é 403.

NotFound Especifica que, por padrão, os IIS devem enviar uma resposta de modo de negação de Not Found de volta aos clientes.

O valor numérico é 404.

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()