Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
Trucos Fortalecer el Protocolo TCP/IP en WINDOWS contra Ataques DoS

Fortalecer el Protocolo TCP/IP en WINDOWS contra Ataques DoS

Autor: Enviado por: Nosferatus - Enviado con fecha: 22-02-2005 21:49:27.
Los ataques de denegación de servicio, conocidos como DoS, intentan aprovechar los fallos del protocolo TCP/IP para saturar el tráfico e impedir que la información llegue al ordenador afectado.
Hasta la fecha era muy difícil impedir un ataque DoS a ordenadores basados en la arquitectura NT, como Windows 2000 o XP; no ocurre así lo mismo con el kernel de Linux. Sin embargo, hemos encontrado un modo de fortalecer la pila del protocolo TCP/IP en Windows; ya sea en redes internas o redes conectadas a Internet.
Se abre, por tanto, Regedit y en la clave:
HKey_Local_Machine/ System/ CurrentControlSet/ Services/ Tcpip/ Parameters
se colocan los siguientes valores DWORD:
EnableICMPRedirect = 0 (Se deshabilitan las redirecciones ICMP, impidiendo que un ataque se redirija a un tercero).
SynAttackProtect = 2 (Establece el límite SYN, para que no se cree una situación en la que la conexión TCP se bloquee en un estado semi abierto. La configuración predeterminada es 0. Un valor de 2 controla la caducidad de las conexiones abiertas y medio abiertas).
TCPMaxConnectResponseRetransmissions = 2 (Determina las veces que TCP transmite un mensaje SYN/ACK que no es respondido. TCP retransmite confirmaciones hasta alcanzar el número de este valor).
TCPMaxHalfOpen = 500 (Número de conexiones que el servidor puede mantener en estado semi abierto antes de que TCP/IP inicie la protección contra ataques SYN).
TCPMaxHalfOpenRetired = 400 (Número de conexiones que el servidor puede mantener en estado semi abierto, incluso después de retransmitir una conexión. Si se sobrepasa esta entrada, TCP/IP inicia la protección contra ataques SYN).
TCPMaxPortsExhausted = 5 (Número de solicitudes de conexión que el sistema rechazará antes de que TCP/IP inicie la protección contra ataques SYN).
TCPMaxDataRetransmissions = 3 (Número de veces que TCP retransmite un segmento de datos desconocido en una conexión existente).
EnableDeadGWDetect = 0 (Determina si el ordenador tiene que detectar puertas de enlace inactivas. Un valor de 1 implica que el sistema solicite a TCP que cambie a una puerta de enlace de reserva en caso de conexiones con problemas. Las puertas de enlace de reserva están definidas en la Configuración TCP/IP, en Red, del Panel de control).
EnablePMTUDiscovery = 0 (Determina si está habilitado el descubrimiento MTU de ruta de acceso, donde TCP descubre el paquete de mayor tamaño en la ruta a un host remoto).
DisableIPSourceRouting = 2 (Determina si un ordenador permite que los clientes conectados establezcan la ruta que los paquetes deben seguir hasta su destino. Un valor de 2 impide el enrutamiento de origen de los paquetes IP).
NoNameReleaseOnDemand = 1 (Determina si el ordenador libera su nombre NetBIOS a otro ordenador que lo solicite o si un paquete malintencionado quiere apropiarse del nombre NetBIOS).
PerformRouterDiscovery = 0 (Determina si el ordenador realiza un descubrimiento del router de esta tarjeta. El descubrimiento solicita la información del router y agrega la información a una tabla de ruta -ARP-. El valor de 0 incluso impide el envenenamiento ARP).

A todo lo anterior, aún puede asegurarse más la pila TCP/IP para las aplicaciones socket de Windows (Winsock), como es el caso de los servidores web o FTP. Cabe añadir que el responsable de las conexiones a aplicaciones Winsock es el driver Afd.sys. El problema de este driver es que en Windows 2000 y XP se modificó para admitir un número mayor de conexiones en estado semi abierto, sin denegar acceso a los clientes legítimos. En Windows 2003 se ha habilitado otro tipo de protección.
Afd.sys puede usar la copia de seguridad dinámica del Registro, configurable, en lugar de hacerlo con la copia de seguridad estática. Y eso es lo que vamos a hacer en:
HKey_Local_Machine/ System/ CurrentControlSet/ Services/ AFD/ Parameters
colocando los siguientes valores DWORD:
EnableDynamicBacklog = 1 (Alterna entre el uso de una copia de seguridad estática y una dinámica del Registro. El valor predeterminado es 0, lo que únicamente permite el uso de la copia de seguridad estática).
MinimumDynamicBacklog = 20 (Número mínimo de conexiones permitidas a la escucha. Si las conexiones libres descienden por debajo de este valor se crea un subproceso para crear conexiones libres adicionales. Un valor demasiado grande reduce el rendimiento del ordenador).
MaximumDynamicBacklog = 20000 (Número máximo de conexiones libres y medio abiertas. Más allá de este valor no habrán conexiones libres adicionales, al estar limitado).
DynamicBacklogGrowthDelta = 10 (Número de extremos Winsock en cada conjunto de asignación solicitado por el ordenador. Un número demasiado elevado provoca que los recursos del sistema se ocupen de forma innecesaria).
La segunda macro de las mencionadas, Winsock_sec.vbs, configura automáticamente estos valores en el Registro de Windows 2000 y XP.
Ojo, que algunos antivirus detectan cualquier macro como una posible entrada de virus, impidiendo sus ejecución. Si ese el caso, habrá que desactivar momentáneamente el antivirus hasta que se hayan ejecutado las macros. En todos los casos, habrá que reiniciar el ordenador para que los cambios en la pila TCP/IP surtan efecto.
El fortalecimiento de la pila TCP/IP no es una panacea, pero servirá para la defensa de ataques basados en DoS, sean del tipo que sea. Como siempre, el administrador de sistemas o el usuario, debería de activar, cuando menos, un firewall, como medida adicional para evitar éste y otro tipo de ataques.
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos20 Abril 2024