Me gustaría saber si es posible detener los ataques TCP SYN O ICMP Flood si estos ataques se detectan en el momento. ¿Cuál es el proceso más preciso para filtrar estas direcciones si la única forma es bloquear las direcciones IP de la botnet?
Lo más probable es que estos ataques se realicen mediante la falsificación de IP, la primera línea de defensa es alentar a su ISP a adoptar BCP38 para evitar la suplantación de IP.
El problema con un ataque de denegación de servicio es que a menudo necesita evitar que el tráfico malicioso llegue a usted en primer lugar. No puede hacer mucho a nivel local, pero siempre puede optar por un servicio como CloudFare (que también implementa BCP38), ya que pueden limpiar este tipo de paquetes antes de que lleguen a usted.
SYN Flood se puede mitigar habilitando Cookies SYN . Las cookies de SYN impiden que un atacante llene sus colas de SYN y hace que sus servicios sean inaccesibles para el usuario legítimo.
En Linux, estas son algunas de las configuraciones que puede usar para habilitar y configurar las cookies SYN de manera eficiente:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
Para hacer que esas configuraciones se carguen automáticamente en el inicio, agregue esas líneas al archivo /etc/sysctl.conf
:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
También es posible proteger una caja de Windows, como se describe en este artículo de Microsoft . Windows Vista y superior tienen la protección contra ataques SYN habilitada de forma predeterminada.
A partir de la inundación de UDP, desafortunadamente no hay mucho que puedas hacer al respecto. Sin embargo, en una inundación de ICMP / Ping, puede configurar su servidor para ignorar a Pings, por lo que un ataque solo será medio efectivo ya que su servidor no consumirá ancho de banda respondiendo a los miles de Pings que recibe.
Puedes hacerlo ejecutando esta configuración:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Y, naturalmente, agregue esta línea al archivo /etc/sysctl.conf
:
net.ipv4.icmp_echo_ignore_all = 1
Pero entre algunos sistemas de vigilancia se requiere que ICMP Echo esté habilitado para funcionar. Algunos servidores de alquiler requerirán que deje ICMP Echo habilitado debido a eso. Pero aún puedes usar iptables
para deshabilitar Ping solo en algunas interfaces.
En Windows, esto se puede hacer con el comando:
netsh firewall set icmpsetting 8 disable
El Firewall de Windows debe estar activo.
Como ejemplo de un ataque UDP grave, soy administrador senior de red en una universidad en California, y hace un par de días tuvimos un ataque de inundación UDP grave de no menos de 553 hosts diferentes en todo el mundo. .. Solo pude reducir nuestras tuberías (grandes) entrantes de nuestro proveedor y filtrar parcialmente algunas de las entrantes, y algunas de las respuestas de UDP resultantes. Este es un vector de ataque realmente desagradable. una respuesta mejorada para contrarrestar las medidas que se implementarán cuando esto vuelva a suceder.