sábado, 29 de enero de 2011

Fortaleciendo Protocolo TCP/IP en Windows

Los atakes de denegacion de servicio, konocidos como DoS, intentan aprovechar los fallos del protokolo TCP/IP para saturar el trofico e impedir ke la informacion llegue al ordenador afektado.


Hasta la fecha era muy difocil impedir un atake DoS a ordenadores basados en la arquitektura NT, como Windows 2000 o XP; no okurre aso lo mismo kon el kernel de Linux. Sin embargo, se ha enkontrado un modo de fortalecer la pila del protokolo TCP/IP en Windows; ya sea en redes internas o redes konectadas a Internet.

Para ello hay ke tokar el registro de Windows.

Se abre, por tanto, Regedit y en la klave:

HKey_Local_Machine/ System/ CurrentControlSet/ Services/ Tcpip/ Parameters

se kolocan los siguientes valores DWORD:

EnableICMPRedirect = 0 (Se deshabilitan las redirekciones ICMP, impidiendo ke un atake se redirija a un tercero).

SynAttackProtect = 2 (Establece el lomite SYN, para ke no se kree una situacion en la ke la konexion TCP se blokee en un estado semi abierto. La konfiguracion predeterminada es 0. Un valor de 2 kontrola la kaducidad de las konexiones abiertas y medio abiertas).

TCPMaxConnectResponseRetransmissions = 2 (Determina las veces ke TCP transmite un mensaje SYN/ACK ke no es respondido. TCP retransmite konfirmaciones hasta alkanzar el nomero de este valor).

TCPMaxHalfOpen = 500 (Nomero de konexiones ke el servidor puede mantener en estado semi abierto antes de ke TCP/IP inicie la protekcion kontra atakes SYN).

TCPMaxHalfOpenRetired = 400 (Nomero de konexiones ke el servidor puede mantener en estado semi abierto, inkluso despuos de retransmitir una konexion. Si se sobrepasa esta entrada, TCP/IP inicia la protekcion kontra atakes SYN).

TCPMaxPortsExhausted = 5 (Nomero de solicitudes de konexion ke el sistema rechazaro antes de ke TCP/IP inicie la protekcion kontra atakes SYN).

TCPMaxDataRetransmissions = 3 (Nomero de veces que TCP retransmite un segmento de datos deskonocido en una konexion existente).

EnableDeadGWDetect = 0 (Determina si el ordenador tiene ke detektar puertas de enlace inaktivas. Un valor de 1 implica que el sistema solicite a TCP ke kambie a una puerta de enlace de reserva en kaso de konexiones kon problemas. Las puertas de enlace de reserva eston definidas en la Configuracion TCP/IP, en Red, del Panel de control).

EnablePMTUDiscovery = 0 (Determina si esto habilitado el deskubrimiento MTU de ruta de akceso, donde TCP deskubre el pakete de mayor tamaoo en la ruta a un host remoto).

DisableIPSourceRouting = 2 (Determina si un ordenador permite ke los klientes konectados establezkan la ruta que los paketes deben seguir hasta su destino. Un valor de 2 impide el enrutamiento de origen de los paketes IP).

NoNameReleaseOnDemand = 1 (Determina si el ordenador libera su nombre NetBIOS a otro ordenador ke lo solicite o si un pakete malintencionado kiere apropiarse del nombre NetBIOS).

PerformRouterDiscovery = 0 (Determina si el ordenador realiza un deskubrimiento del router de esta tarjeta. El deskubrimiento solicita la informacion del router y agrega la informacion a una tabla de ruta -ARP-. El valor de 0 incluso impide el envenenamiento ARP).

Para simplifikar la labor de introducir manualmente estos parometros en el protokolo TCP/IP, se ha inkluido la descarga a un fichero ZIP ke kontiene dos makros que realizan esta labor.

La primera makro, Tcpip_sec.vbs, konfigura automotikamente todo lo de arriba. Para los mos suspikaces, la makro puede ser editada con kualquier Editor de textos. Como puede verse forma parte del Kit de Recursos de Microsoft.

Una vez ejekutada la makro, habro ke reiniciar el ordenador para ke los kambios en la pila TCP/IP tengan efekto.

A todo lo anterior, aon puede asegurarse mos la pila TCP/IP para las aplikaciones socket de Windows (Winsock), como es el kaso de los servidores web o FTP. Kabe aoadir ke el responsable de las konexiones a aplikaciones Winsock es el driver Afd.sys. El problema de este driver es ke en Windows 2000 y XP se modifiko para admitir un nomero mayor de konexiones en estado semi abierto, sin denegar akceso a los klientes legotimos. En Windows 2003 se ha habilitado otro tipo de protekcion.



Afd.sys puede usar la kopia de seguridad dinomika del Registro, konfigurable, en lugar de hacerlo kon la kopia de seguridad estotika. Y eso es lo ke vamos a hacer en:


HKey_Local_Machine/ System/ CurrentControlSet/ Services/ AFD/ Parameters


kolocando los siguientes valores DWORD:

EnableDynamicBacklog = 1 (Alterna entre el uso de una kopia de seguridad estotika y una dinomika del Registro. El valor predeterminado es 0, lo ke onikamente permite el uso de la kopia de seguridad estotica).

MinimumDynamicBacklog = 20 (Nomero monimo de konexiones permitidas a la escucha. Si las konexiones libres descienden por debajo de este valor se krea un subproceso para krear konexiones libres adicionales. Un valor demasiado grande reduce el rendimiento del ordenador).

MaximumDynamicBacklog = 20000 (Nomero moximo de konexiones libres y medio abiertas. Mos allo de este valor no habron konexiones libres adicionales, al estar limitado).

DynamicBacklogGrowthDelta = 10 (Nomero de extremos Winsock en kada konjunto de asignacion solicitado por el ordenador. Un nomero demasiado elevado provoka ke los recursos del sistema se okupen de forma innecesaria).

La segunda makro de las mencionadas, Winsock_sec.vbs, konfigura automotikamente estos valores en el Registro de Windows 2000 y XP.

Ojo, ke algunos antivirus detektan kualquier makro komo una posible entrada de virus, impidiendo sus ejekucion. Si ese el caso, habro ke desaktivar momentoneamente el antivirus hasta ke se hayan ejekutado las macros. En todos los kasos, habro ke reiniciar el ordenador para ke los kambios en la pila TCP/IP surtan efekto.

El fortalecimiento de la pila TCP/IP no es una panacea, pero serviro para la defensa de atakes basados en DoS, sean del tipo ke sea. Komo siempre, el administrador de sistemas o el usuario, deberoa de aktivar, kuando menos, un firewall, komo medida adicional para evitar este y otro tipo de atakes.

0 comentarios:

Publicar un comentario