¡Bienvenido a nuestra sección de preguntas y respuestas!

Aquí podrás realizar preguntas y recibir respuestas útiles de otros miembros de la comunidad.

¡Anímate a participar!


(Resuelto) - Bloquear ataques DDoS?

0 votos
Hola,

A ver si alguien me puede ayudar:

 

Tengo un VPS Plesk (Ubuntu Server), y desde el dia 31 está recibiendo un ataque DDoS, desde un gran numero de direcciones (principalmente de Irán, India, Malasia, Kazahstan, ....., aunque tambien hay direcciones de por ejemplo Francia o Argentina, no se si esta informacion puede ser de utilidad)

 

Revisando los Logs, veo que uno de los dominios alojados está recibiendo conexiones con la siguiente informacion:

[IP_ORIGEN] [Fecha_hora] "POST / HTTP/1.1" 200 13026 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

 

Es decir, intentan inyectar algun tipo de contenido que ocupa unos 13kb (hay varios tamaños, el mas frecuente es ese). El USER-AGENT (Mozilla 4.0....) es siempre el mismo, pero cambia la IP, por lo que deduzco que es algun tipo de virus que se identifica como un Internet Explorer 6. Hay varias conexiones por segundo, que logicamente consumen el numero maximo que tengo configurado en el servidor apache, y evitan que las webs funcionen, si aumento el numero de conexiones puedo cargar las paginas, pero saturo la memoria del servidor y funcionan lentas.

 

Ademas, tambien el servidor smtp esta recibiendo cientos de conexiones, en este caso en el archivo /var/log/mail.info tengo lineas como estas:

[Fecha] [nombre_de_mi_servidor] postfix/smtpd[NUMERO]: connect from unknown[DIRECCION IP]

[Fecha] [nombre_de_mi_servidor] postfix/smtpd[NUMERO]: disconnect from unknown[OTRA DIRECCION IP]

[Fecha] [nombre_de_mi_servidor] postfix/smtpd[NUMERO]: lost connection after UNKNOWN from unknown[DIRECCION IP]

 

En 1 segundo puedo tener unas 20 lineas

 

¿Alguna idea de como puedo bloquear esto teniendo en cuenta que hay un gran numero de direcciones IP, y que no se repiten muchas veces (no creo que pueda añadir una regla al firewall basada en el numero de conexiones por minuto, porque puede que haya 2 en el mismo minuto y que esa IP no vuelva hasta varias horas mas tarde)?

 

Probé a detener durante varias horas el servidor apache y el postfix, pero al reiniciarlos vuelve a empezar el trafico, ahora probé a desactivar el dominio concreto que recibia las peticiones, pero de momento el trafico sigue. Por si sirve de algo, la pagina esta hecha con un wordpress desactualizado (no la hice yo, y no me atrevo a tocarla porque hay cosas que no funcionan bien y podria dejarla inutilizada)

 

Muchas gracias a todos, y cualquier sugerencia será bienvenida
propuesto por anónimo 2 Sep, 2013 en Seguridad
editado por erojas 10 Ene, 2014
iptables -A INPUT -p udp -m state --state NEW -m recent --set --name DDOS --rsource
iptables -A INPUT -p udp -m state --state NEW -m recent --update --seconds 1 --hitcount 5 --name DDOS --rsource -j DROP

3 Respuestas

+1 voto
 
Mejor respuesta

Apreciado amigo,

Lo mejor que puedes hacer con tu servidor, ya que aunque bloquees el trafico con IPTables, este seguira llegando a tu servidor y contando en el computo mensual, es configurar el sitio (o sitios) web (o todos los dominios del VPS) que estan recibiendo ataques con la version gratuita de cloudflare (https://www.cloudflare.com/).

Esto te protegera de ataques DOS y DDOS y tu servidor sera "invisible" desde Internet. Una vez hecho esto, solo deberas preocuparte del SMTP que es algo mas facil de erradicar con herramientas como fail2ban entre otras.

Un saludo,

respondido por amarce (8,590 puntos) 2 Sep, 2013
seleccionado por adau 3 Dic, 2013
+1 voto
Hola!

Es común que existan botnets dedicadas a intentar conexiones en servidores ubicados en la red en busca de agujeros y vulnerabilidades ( en las páginas en busca de inyección de código malicioso y en los servidores de correo en busca de contraseñas poco seguras ). La única manera de cortar este tipo de ataques es mediante Iptables, ya que corta totalmente la conexión.

Para bloquear una IP mediante Iptables:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
respondido por adau (29,590 puntos) 2 Sep, 2013
Gracias, algo asi estoy intentando, aunque con bloques de direcciones (-A INPUT -s 1.0.0.0/8 -j DROP, para bloquear todas las direcciones de la red 1.xxx.xxx.xxx), el problema es que hay muchas direcciones distintas.

Otra de las pruebas que hice es anular el index.php original del wordpress y poner uno que no hace nada, con eso al menos veo que hay menos trafico (no me sirve de mucho, porque entran mas conexiones)

Seguiré trabajando, y atento a los mensajes por si a alguien mas se le ocurre algo.
0 votos
Muchas gracias por las 2 respuestas, de momento tengo el servidor operativo despues de haber limitado unas 40 subredes y varias direcciones IP individuales, aunque considero que las IPs individuales no sirve de mucho bloquearlas, puesto que si el ataque proviene de un pc infectado, es muy probable que se trate de una IP dinamica, asi que mañana podria tener ese mismo equipo atacandome desde otra IP, y bloquear subredes (especialmente como lo hice, con mascara 255.0.0.0), es una medida bastante drastica (estoy bloqueando 16 millones de direcciones en cada linea del iptables)

 

Estoy mirando la web de cloudflare, servicio que no conocia, y tiene buena pinta, creo que lo voy a probar, y miraré tambien el fail2ban para el correo

 

Espero que este hilo sirva para otras personas que puedan estar en una situacion parecida.
respondido por jj.lopez (160 puntos) 2 Sep, 2013

Preguntas relacionadas

0 votos
1 respuesta 461 vistas
propuesto por Ripdaf (120 puntos) 6 Abr en DNS
0 votos
1 respuesta 876 vistas
+1 voto
1 respuesta 27,318 vistas
0 votos
2 respuestas 666 vistas
propuesto por jolual (1,180 puntos) 14 Abr, 2014 en Seguridad
...