Compartir a través de


Seguridad IP <ipSecurity>

Información general

El elemento <ipSecurity> define una lista de restricciones de seguridad basadas en IP en IIS 7 y versiones posteriores. Estas restricciones se pueden basar en la dirección IP versión 4, un intervalo de direcciones IP versión 4 o un nombre de dominio DNS.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <ipSecurity> no se modificó en IIS 10.0.
IIS 8.5 El elemento <ipSecurity> no se modificó en IIS 8.5.
IIS 8.0 El atributo enableProxyMode se agregó para permitirle bloquear las solicitudes de un cliente que se conecta a través de un proxy. El atributo denyAction se agregó para especificar la respuesta del modo de denegación predeterminada que IIS envía de vuelta a los clientes.
IIS 7.5 El elemento <ipSecurity> no se modificó en IIS 7.5.
IIS 7.0 El elemento <ipSecurity> se introdujo en IIS 7.0.
IIS 6,0 El elemento <ipSecurity> reemplaza a la propiedad de metabase de IIS 6.0 IPSecurity.

Configuración

La instalación predeterminada de IIS no incluye el servicio de rol ni la característica de Windows para la seguridad de IP. Para usar la seguridad de IP en IIS, debe instalar el servicio de rol o la característica de Windows mediante los siguientes pasos:

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda Servidor web (IIS), expanda Servidor web, expanda Seguridad y, a continuación, seleccione Restricciones de IP y dominio. Haga clic en Next.
    Screenshot that shows I P and Domain Restrictions selected for Windows Server 2012..
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, expanda Servicios World Wide Web, expanda Seguridad y, a continuación, seleccione Seguridad de IP.
    Screenshot that shows I P Security selected for Windows 8.
  4. Haga clic en OK.
  5. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.

  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).

  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.

  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione Restricciones de IP y dominio y haga clic en Siguiente.

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

  5. En la página Confirmar selecciones de instalación, haz clic en Instalar.

  6. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.

  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.

  3. Expanda Internet Information Services, después World Wide Web Services y, a continuación Seguridad.

  4. Seleccione Seguridad de IP y, a continuación, haga clic en Aceptar.

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

Procedimientos

Adición de restricciones de IP para denegar el acceso a un sitio web

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda sucesivamente el nombre del servidor, la opción Sitios y, después, el sitio, aplicación o servicio web para el que quiere agregar restricciones de IP.

  3. En el panel Inicio, haga doble clic en la característica Restricciones de dominio y dirección IP.
    Screenshot that shows the I P Address and Domain Restrictions icon in the Home pane.

  4. En la función Restricciones de dirección IP y dominio, haga clic en Agregar entrada denegada... en el panel Acciones.
    Screenshot that shows the I P Address and Domain Restrictions pane in the I I S Manager.

  5. Escriba la dirección IP que desea denegar y haga clic en Aceptar.
    Screenshot that shows the Add Deny Restriction Rule dialog box. Specific I P address is selected.


Cómo editar la configuración de características de restricciones de IP para un sitio web

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda sucesivamente el nombre del servidor, la opción Sitios y, después, el sitio, aplicación o servicio web para el que quiere agregar restricciones de IP.

  3. En el panel Inicio, haga doble clic en la característica Restricciones de dominio y dirección IP.
    Screenshot that shows the I P Address and Domain Restrictions icon.

  4. En la característica Restricciones de dominio y dirección IP, haga clic en Modificar configuración de característica... en el panel Acciones.
    Screenshot that shows the I P Address and Domain Restrictions pane.

  5. Elija el comportamiento de acceso predeterminado para clientes no especificados, especifique si desea activar las restricciones por nombre de dominio, especifique si desea activar el Modo proxy, seleccione el Tipo de acción de denegación y, a continuación, haga clic en Aceptar.
    Screenshot of the Edit I P and Domain Restrictions Settings dialog box. Forbidden is selected for Deny Action Type.

Configuración

Las reglas se procesan de arriba hacia abajo, en el orden en que aparecen en la lista. El atributo allowUnlisted se procesa en último lugar. El procedimiento recomendado para las restricciones del protocolo de seguridad de Internet (IPsec) es enumerar primero las reglas de denegación. No se puede borrar el atributo allowUnlisted si está establecido en false.

El siguiente elemento <ipSecurity> predeterminado se configura en el archivo ApplicationHost.config raíz en IIS 7 y versiones posteriores. Esta sección de configuración hereda los valores de configuración predeterminados a menos que use el elemento <clear>.

<ipSecurity allowUnlisted="true" />

Atributos

Atributo Descripción
allowUnlisted Atributo Boolean opcional.

Especifica si se van a permitir direcciones IP no incluidas en la lista. Al establecer el atributo allowUnlisted en true se permite que una dirección IP no incluida en la lista acceda al servidor. Al establecer el atributo allowUnlisted en false se bloquea el servidor, lo que impide el acceso a todas las direcciones IP, a menos que aparezcan en la lista. Si tuviera que establecer este atributo en false y no enumerara la dirección de bucle invertido local (127.0.0.1) como una dirección IP permitida, no podrá acceder al servidor mediante un explorador desde una consola local.

Este atributo también puede afectar a la delegación. Si tuviera que establecer este atributo en false en una configuración primaria, no podría usar el elemento <clear> para borrar esta configuración en los archivos de configuración secundarios.

El valor predeterminado es true.
denyAction Atributo enum opcional.

Especifica la respuesta del modo de denegación predeterminada que IIS debe devolver a los clientes.

El valor predeterminado es forbidden.
Valor Descripción
AbortRequest Especifica que, de forma predeterminada, IIS debe enviar una respuesta en modo de denegación de Abort a los clientes.

El valor numérico es 0.

Unauthorized Especifica que, de forma predeterminada, IIS debe enviar una respuesta en modo de denegación de Unauthorized a los clientes. Si se está usando un cliente basado en explorador en el extremo remoto, devolver No autorizado puede provocar que aparezca un cuadro de diálogo de autenticación en el cliente remoto, dando lugar a intentos de autenticación falsos en IIS.

El valor numérico es 401.

Forbidden Especifica que, de forma predeterminada, IIS debe enviar una respuesta en modo de denegación de Forbidden a los clientes.

El valor numérico es 403.

NotFound Especifica que, de forma predeterminada, IIS debe enviar una respuesta en modo de denegación de Not Found a los clientes.

El valor numérico es 404.

enableProxyMode Atributo Boolean opcional.

Permite a IIS no solo bloquear peticiones desde una IP de cliente que es vista por IIS, sino también bloquear peticiones desde direcciones IP que son recibidas en el encabezado HTTP x-forwarded-for. Este encabezado permite identificar la dirección IP de origen de un cliente que se conecta a través de un proxy HTTP o un equilibrador de carga. Esto se conoce como modo proxy.

El valor predeterminado es false.
enableReverseDns Atributo Boolean opcional.

Especifica si se deben habilitar o deshabilitar búsquedas inversas del sistema de nombres de dominio (DNS) para el servidor web. Las búsquedas inversas implican buscar el nombre de dominio cuando se conoce la dirección IP.

Precaución: las búsquedas inversas de DNS usarán recursos y tiempo significativos.

El valor predeterminado es false.

Elementos secundarios

Elemento Descripción
add Elemento opcional.

Agrega una restricción IP a la colección de restricciones de direcciones IP.
remove Elemento opcional.

Quita una referencia a una restricción de la colección <ipSecurity>.
clear Elemento opcional.

Quita todas las referencias a restricciones de la colección <ipSecurity>.

Ejemplo de configuración

En el siguiente ejemplo de configuración se agregan dos restricciones de IP al sitio web predeterminado; la primera restricción deniega el acceso a la dirección IP 192.168.100.1 y la segunda restricción deniega el acceso a toda la red 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>

Código de ejemplo

Los siguientes ejemplos de código codifican búsquedas inversas de DNS para el sitio web predeterminado.

AppCmd.exe

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

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()