INTRODUCCIÓN
En este artículo se describe una nueva función de protección de presión de memoria para la pila TCP. Esta nueva característica la proporciona la actualización de seguridad 967723.
Más información
La función protección de presión de memoria consta de tres configuraciones de seguridad. Esta configuración incluye protección de presión de memoria (MPP), perfiles y exención de puerto.
La configuración de MPP
La configuración del MPP define la característica e incluye las dos actividades siguientes cuando se detecta un ataque:
- Elimine las conexiones TCP existentes.
- Descartar las solicitudes SYN entrantes.
Un administrador puede habilitar o deshabilitar la configuración de MPP mediante comandos netsh. Cuando el administrador habilita o deshabilita la configuración de MPP, esta característica se habilita o deshabilita.
Configuración de perfiles
La característica Perfiles ayuda al administrador a diferenciar entre interfaces públicas y no públicas. Si una interfaz puede acceder al controlador de dominio, indica que la interfaz está unida a un dominio o que el administrador puede configurar una interfaz para que sea privada. La característica Perfiles está disponible únicamente en Windows Vista y en Windows Server 2008.
La configuración Perfiles determina la capacidad del equipo para eliminar conexiones TCP y descartar solicitudes SYN entrantes en la interfaz unida a un dominio y en la interfaz privada cuando el equipo está siendo atacado con poca memoria. En Windows Server 2003, el administrador debe utilizar las entradas del Registro para deshabilitar la característica MPP en una interfaz determinada. Para obtener más información, consulte la sección "Configuración de estas opciones en Windows Server 2003". De forma predeterminada, la configuración de perfiles está habilitada. Cuando esta configuración está habilitada, el administrador ha decidido no eliminar las conexiones TCP ni quitar los SYN en la interfaz unida a un dominio y en la interfaz privada bajo ninguna circunstancia. Si el administrador desea eliminar las conexiones TCP y eliminar los SYN en la interfaz unida al dominio y en la interfaz privada cuando está bajo ataque, la configuración de perfiles debe deshabilitarse.
Nota Si la configuración de MPP está habilitada y se detecta un ataque, el administrador no puede detener la eliminación de conexiones en interfaces públicas incluso si la configuración de perfil está habilitada. La característica de configuración de perfiles está destinada a interfaces privadas y unidas a un dominio. Sin embargo, en estos casos, un administrador puede usar la configuración de exención de puerto para excluir determinados puertos de las interfaces públicas de la acción MPP.
Configuración de la exención de puerto
La configuración de Exención de puerto permite al administrador realizar excepciones específicas del puerto. De forma predeterminada, cuando la configuración MPP está habilitada, la función protección de presión de memoria se habilita para las conexiones en todos los puertos. Si se detecta un ataque, las conexiones existentes pueden eliminarse o se pueden eliminar los SYN entrantes, según la configuración de MPP y perfiles. Sin embargo, un administrador puede establecer excepciones para las conexiones en determinados puertos especificándolas en la lista de excepciones de puerto.
Notas
- La lista de exenciones de puerto es una lista global única y se aplica a todas las interfaces y direcciones IP.
- La configuración de la exención de puerto entra en vigor antes de que se establezca cualquier conexión TCP en el puerto. Recomendamos configurar todas las opciones relacionadas con MPP antes de iniciar las aplicaciones del servidor.
Valores predeterminados para esta configuración en los servidores y en los clientes
| Valores predeterminados en los servidores | Valores predeterminados en clientes | |
|---|---|---|
| MPP | Habilitado | Deshabilitado |
| Perfil | Habilitado | Habilitado |
| Exención de puerto | Sin exenciones | Sin exenciones |
Nota: Si se cambia esta configuración y un administrador desea revertir a la configuración predeterminada, puede usar el siguiente comando netsh:
netsh int tcp resetNote Consulte la sección "Problemas conocidos" antes de usar el comando netsh int tcp reset.
Configuración de estas opciones en Windows Vista
Un administrador puede utilizar comandos netsh para actualizar la configuración de MPP, perfiles y exención de puerto en tiempo de ejecución. Esta configuración determina si una conexión TCP es candidata para la eliminación o no. Esta evaluación se realiza cuando se crea el bloque de control de transmisión de esa conexión TCP, en función de la configuración en ese momento.
netsh int tcp reset
Restablece la configuración de seguridad junto con las demás configuraciones de TCP. Esta configuración de seguridad incluye la configuración MPP, Perfil, Exención de puerto y Limitación de velocidad de conexión.netsh int tcp show security
Muestra la configuración de seguridad aplicada actualmente para MPP, perfiles y exenciones de puerto, si las hay.netsh int tcp set security mpp=[Enabled|Disabled|Default]
Alterna la configuración de MPP.netsh int tcp set security Profiles=[enabled|disabled|default]
Alterna la configuración de perfiles.netsh int tcp set security startport=<x> numberofports=<y+1> mpp=[enabled|disabled|default]
Especifica las exenciones de puerto para el intervalo de puertos de x a x+y. Debe asegurarse de que x e y estén+ en el intervalo de puertos válido (0 - 65535).Ejemplos
Agregue una exención de intervalo de puertos:
Escriba el comando siguiente en el símbolo del sistema y presione ENTRAR:netsh int tcp set security startport=5000 numberofports=10 mpp=disabledEste comando deshabilita la característica MPP para los puertos 5000 a 5009 (ambos inclusive).
Eliminar una exención de intervalo de puertos:
Escriba el comando siguiente en el símbolo del sistema y presione ENTRAR:netsh int tcp set security startport=5000 numberofports=10 mpp=enableEste comando elimina la entrada de exención que se agregó en el primer ejemplo.
Nota: El comando netsh int tcp set security no controla los intervalos y subintervalos de puertos superpuestos.
Configuración de estas opciones en Windows Server 2003
En Windows Server 2003, tiene que configurar estas opciones mediante el Registro.
Configurar el ajuste MPP en Windows Server 2003
Importante: esta sección, método o tarea incluye pasos que le indicarán cómo modificar el registro. Pero, si modifica el Registro de forma incorrecta, pueden producirse problemas graves. Por lo tanto, asegúrese de seguir estos pasos con atención. Para mayor protección, realice una copia de seguridad del Registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Hacer una copia de seguridad del Registro y restaurarlo en Windows
Para habilitar o deshabilitar la configuración de MPP, use las siguientes entradas del Registro.
Nota Las siguientes entradas del Registro no están disponibles de forma predeterminada. Debe crearlos para modificarlos. Aunque las entradas del Registro no están presentes, la configuración de MPP está habilitada de forma predeterminada y ningún puerto está exento.
Protocolo de Internet versión 4 (IPv4):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableMPPProtocolo de Internet versión 6 (IPv6):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
Por ejemplo, puede seguir estos pasos para deshabilitar la configuración MPP en IPv4:
Haga clic en Inicio, Ejecutar, escriba regedit en el cuadro Abrir y, después, haga clic en Aceptar.
Busque la siguiente subclave del registro y haga clic en ella:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
En el menú Editar, seleccione Nuevo y, después, haga clic en Valor DWORD.
Escriba EnableMPP y presione ENTRAR.
Haga clic con el botón derecho en EnableMPP y, a continuación, haga clic en Modificar.
En el cuadro Datos del valor , escriba 0 y, a continuación, haga clic en Aceptar.
Salga del Editor del Registro.
Reinicie el equipo.
Notas
Si desea volver a habilitar la configuración de MPP, establezca el valor DWORD para la entrada del Registro EnableMPP en 1 y, a continuación, reinicie el equipo.
Puede seguir estos mismos pasos para configurar la siguiente entrada del Registro para la configuración MPP en IPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
Configurar la opción MPP para una interfaz determinada en Windows Server 2003
Importante: esta sección, método o tarea incluye pasos que le indicarán cómo modificar el registro. Pero, si modifica el Registro de forma incorrecta, pueden producirse problemas graves. Por lo tanto, asegúrese de seguir estos pasos con atención. Para mayor protección, realice una copia de seguridad del Registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Hacer una copia de seguridad del Registro y restaurarlo en Windows
Nota: De forma predeterminada, en Windows Server 2003, la función MPP está habilitada en todas las interfaces.
Para habilitar o deshabilitar la configuración de MPP para una interfaz determinada, utilice las siguientes subclaves del Registro:
- IPv4:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\GUID>\DisableMPPOnIF - IPv6:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\GUID>\DisableMPPOnIF
Por ejemplo, puede seguir estos pasos para deshabilitar la configuración MPP para una interfaz en particular en IPv4:
Haga clic en Inicio, Ejecutar, escriba regedit en el cuadro Abrir y, después, haga clic en Aceptar.
Busque la siguiente subclave del registro y haga clic en ella:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\GUID>
En el menú Editar, seleccione Nuevo y, después, haga clic en Valor DWORD.
Escriba DisableMPPOnIF y presione ENTRAR.
Haga clic con el botón derecho en DisableMPPOnIf y luego haga clic en Modificar.
En el cuadro Datos del valor , escriba 1 y, a continuación, haga clic en Aceptar.
Salga del Editor del Registro.
Reinicie el equipo.
Nota: Puede seguir estos mismos pasos para configurar la siguiente subclave del Registro para la configuración MPP para una interfaz determinada en IPv6:
<HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\GUID>\DisableMPPOnIF
Configurar la opción de exención de puerto en Windows Server 2003
Importante: esta sección, método o tarea incluye pasos que le indicarán cómo modificar el registro. Pero, si modifica el Registro de forma incorrecta, pueden producirse problemas graves. Por lo tanto, asegúrese de seguir estos pasos con atención. Para mayor protección, realice una copia de seguridad del Registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Hacer una copia de seguridad del Registro y restaurarlo en Windows
Para especificar las exenciones de puerto para el intervalo de puertos de x a y, use las siguientes entradas del Registro:
IPv4:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MPPExcludedPortsIPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts
Por ejemplo, puede seguir estos pasos para especificar las exenciones de puerto para el intervalo de puertos de xxxx a aaaa en IPv4:
Haga clic en Inicio, Ejecutar, escriba regedit en el cuadro Abrir y, después, haga clic en Aceptar.
Busque la siguiente subclave del registro y haga clic en ella:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
En el menú Editar , seleccione Nuevo y, a continuación, haga clic en Valor de cadena múltiple.
Escriba MPPExcludedPorts y presione ENTRAR.
Haga clic con el botón derecho en MPPExcludedPorts y luego haga clic en Modificar.
En el cuadro Datos del valor , escriba el intervalo de puertos en formato xxxx-aaaa (por ejemplo, 5000-5010) y, a continuación, haga clic en Aceptar.
Salga del Editor del Registro.
Reinicie el equipo.
Notas
Debe especificar el intervalo de puertos en formato xxxx-aaaa, donde xxxx y aaaa se encuentran en el intervalo de puertos válido. El rango incluye los valores inicial y los valores finales.
Puede seguir estos pasos para configurar la siguiente subclave del Registro para la configuración de exención de puerto en IPv6:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts
Hay un límite de 12 intervalos de puertos que se pueden especificar en esta lista. Se omitirán los rangos adicionales y no se aplicarán exenciones.
Problemas conocidos
En Windows Vista SP2 y en Windows Windows Server 2008 SP2, el límite de velocidad de conexión se ve afectado por el comando netsh int tcp reset.
Antes de instalar esta actualización de seguridad, el comando netsh int tcp reset restablece la configuración de TCP. Esto incluye los parámetros de Chimney, la notificación explícita de congestión (ECN), el ajuste automático de la ventana de recepción, el TCP compuesto (CTCP) y las marcas de tiempo. Después de instalar esta actualización de seguridad, el comando netsh int tcp reset también restablece la configuración de seguridad, incluido el MPP, los perfiles y la configuración de limitación de velocidad de conexión. Incluso si se espera una configuración de MPP y perfiles, el restablecimiento de la configuración límite de velocidad de conexión también se produce en tiempo de ejecución. Para volver a establecer el límite de velocidad de conexión, debe modificar la subclave del Registro. Para obtener más información acerca de la configuración del límite de velocidad de conexión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
969710 How to enable the half-open TCP connection limit in Windows Vista with Service Pack 2 and in Windows Server 2008 with Service Pack 2 (Cómo habilitar el límite de conexiones TCP semiabiertas) en Windows Vista con Service Pack 2
En Windows Server 2003, si instala la actualización de seguridad 967723 y luego instala IPv6, el registro de eventos contiene información similar a la siguiente información para el ID. de evento IPv6 4229:
No se puede encontrar la descripción del id. de evento 4229 del origen Tcpip6. El componente que provoca este evento no está instalado en el equipo local o la instalación está dañada. Puede instalar o reparar el componente en el equipo local.
Si el evento se originó en otro equipo, la información que aparezca en pantalla se debe guardar con el evento.
La siguiente información se incluyó con el evento:
el recurso de mensajes está presente, pero el mensaje no se encuentra en la tabla de cadenas/mensajesPara resolver este problema, debe reinstalar la actualización o agregar las siguientes subclaves del Registro manualmente:
- En Windows Server 2003 SP2, agregue la cadena %systemroot%system32\w03a3409.dll en HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile
- En Windows Server 2003 SP1, agregue la cadena %systemroot%system32\w03a2409.dll bajo HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile
- En Windows Server 2003, agregue la cadena %systemroot%system32\ws03res.dll en HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile