22 de febrero de 2010

Protección contra Syn Flood en Windows XP

Hace poco os hablaba sobre "Syn flood y cómo hacer éste ataque.

Hoy, algo totalmente a atacar: Defender. La mejor protección sería cerrar todos los puertos para que no se pudiera atacar a ninguno; sin embargo, no siempre es lo más adecuado. En Windows es relativamente fácil protegerse, nos basta con añadir un par de registros en el editor de registro.

Empezemos:
  • En el menú inicio --> Ejecutar. Escribimos "Regedit". Regedit es el editor del registro y es donde vamos a añadir los nuevos registros.
Dentro del editor del registro, vamos a (en orden):
  1. HKEY_LOCAL_MACHINE
  2. SYSTEM
  3. CurrentControlSet
  4. Services
Creamos el primer registro. El primero registro ofrece la mayor protección contra los ataques "Syn flood". El valor "2" indica el tiempo en el que tarda el ordenador en rechazar la conexión que se quiere establecer y activa el "Timeout".
  • Hacemos click derecho en la carpeta "Services"
  • Nuevo --> Valor DWORD
  • Cambiamos el nombre y lo llamamos "SynAttackProtect".
  • Hacemos doble clic en el registro que acabamos de crear y le damos el valor "2"
Creamos el segundo registro. Éste registro evita que el host envie tráfico a una puerta de enlace desconocida.
  • Hacemos click derecho en la carpeta "Services"
  • Nuevo --> Valor DWORD
  • Cambiamos el nombre y lo llamamos "EnableDeadGWDetect".
  • Hacemos doble clic en el registro que acabamos de crear y le damos el valor "0"
Creamos el tercer y último registro. Éste registro evita el uso excesivo de procesos del sistema, evitando sobrecargas de memoria.
  • Hacemos click derecho en la carpeta "Services"
  • Nuevo --> Valor DWORD
  • Cambiamos en nombre y lo llamamos "EnablePMTUDiscovery".
  • Hacemos doble clic en el registro que acabamos de creer y le damos el valor "0"
Finalmente, cerramos el editor del registro y reinicamos el ordenador.

5 comentarios:

  1. Interesante. A ver si haces más de estos posts, pero que sean para linux :). Siempre está bien saber protegerse.

    Saludos!!

    ResponderEliminar
  2. Siempre que el propietario de este blog no me censure contesto a Tepes aqui sobre cambio de MAC ya que le conteste en anterior post y no me gusta escribir en vano.
    Tepes, no entiendo porque dices que tienes ip estática. Si tienes IP estática siempre tendrás la misma IP aunque cambies de MAC. O lo que te pasará es que cuando cambies de MAC te quedes sin conexion.
    Lo que debes tener es ips dinámicas porque si no, no te cambiaría.
    Tampoco sé si tienes un router o un modem porque el tratamiento es diferente.
    Te explico: un servidor DHCP es el que está detrás de asignarte una IP pública. Estos tipos de servidores están preparados para prestar temporalmente una ip. Siempre guardan un caché de la dirección que han prestado para procurar darte la misma ip. De cada equipo que presta una ip guarda también su MAC. Esto se hace por varios motivos:
    1º Los equipos solicitan cada cierto tiempo que se les vuelva a dar la IP que tenian hasta ahora. El Servidor DHCP busca esa MAC en su caché interna y si puede le da la misma.
    2º Un equipo normalmente pedirá que se le de la misma ip que tenia antes. Incluso al apagarse y encenderse. Esto se hace para que la red sea más estable haciendo que, aunque la asignación de IPs sea dinámica, los equipos gocen de "pseudo ips estáticas" aunque en realidad no lo sean. Así las ips no son tan volatiles de manera que un administrador de red pueda localizar equipos con cierta facilidad.

    En Ubuntu puedes ver estos cachés editando los siguientes ficheros:

    /var/lib/dhcp3/dhclient.leases

    Será algo como esto:
    lease {
    interface "eth0";
    fixed-address 192.168.1.147;
    option subnet-mask 255.255.255.0;
    option routers 192.168.1.1;
    option dhcp-lease-time 86400;
    option dhcp-message-type 5;
    option domain-name-servers 80.58.32.97;
    option dhcp-server-identifier 192.168.1.1;
    option dhcp-renewal-time 43200;
    option broadcast-address 192.168.1.255;
    option dhcp-rebinding-time 75600;
    option domain-name "midominio.com";
    renew 1 2009/10/5 22:14:39;
    rebind 2 2009/10/6 09:06:47;
    expire 2 2009/10/6 12:06:47;
    }

    Esta información es usada por tu equipo para volver a pedir siempre la misma ip si el servidor DHCP está a bien concederla.

    Como te dije antes el servidor DHCP guarda información de la IP prestada junto con la MAC además de otros parámetros.

    En un servidor DHCP de Ubuntu sería /var/lib/dhcp3/dhcpd.leases.

    Cada cierto tiempo esta información del caché la borra el Servidor DHCP para evitar que algun "listillo que cambia MACS ;)" ocupe de golpe todo el rango de IPs que tiene para reservar.
    Cuando vuelves a encender tu ordenador, aunque no te tenga cacheado, como tu equipo es el que le pide la ip que tenia antes, si te la puede dar te la da.

    Despues de este largo preámbulo, cuando CAMBIAS LA MAC de tu máquina el servidor dhcp piensa que es una máquina nueva u otra interfaz diferente a las anteriores la que se está conectando. El servidor DHCP debe garantizar que no da la misma ip a dos máquinas diferentes. El LÍMITE de 3 o 4 ips ese que dices no es tal límite impuesto por el operador. Si ese servidor está preparado para dar 50 Ips y hay usandose o reservadas 45, si vas cambiando la MAC de tu modem o de tu tarjeta de red sólo te dará las 5 que le queden por dar. Cuando se satura, ya no te da mas y es por eso que no tienes conexion al 4º o 5ª intento. Si vuelves a poner una MAC ficticia que ya utilizaste en el primer intento te dará la IP que tenias en el primer intento de cambio de MAC. El problema le puede venir a otra persona que use tu mismo servidor DHCP y que justo en el momentoen el que has agotado todas las IPs posibles del rango que puede dar dicho servidor, se le ocurra hacer lo mismo que tu o que se le ocurra poner un router nuevo que se haya comprado. El problema lo tendrá hasta que el servidor borre su cache y quite toda la "basura" que le has ido metiendo en cada cambio de MAC.

    Espero haberte aclarado el asunto.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. @ Anónimo: Veo que has posteado tu mensaje en el post original también :-) Ahí seguiremos con el tema :-)

    Gracias por aportar.

    @ Tepes: Ahora mismo me pongo las pilitas y busco cómo protegerse en GNU/Linux :-)

    ResponderEliminar
  5. @ Monzi: Leere con atención todo lo que sea de Linux (bueno, y lo que no sea también, pero un poco menos) :).

    @ Anónimo: Te contesto en el otro lado, pero gracias por avisar, que si no no hubiera visto el comentario.

    ResponderEliminar