jump to navigation

Haz que tu servidor se defienda por si mismo contra ataques (D)DoS 31 marzo, 2009

Posted by KZKG^Gaara in GNU/Linux y Free Soft.
Tags: , ,
trackback

Esto es un artículo muy interesante que leí en una web. Con todo y esto de los virus que atacan a las PC con Windows cada día más nos vamos dando cuenta de que mientras más PC tengamos con GNU\Linux en nuestra red, menos posibilidades tendremos de riesgo de infección.
Les cito el contenido de un artículo el cual tiene el mismo nombre o título que el que le pongo en el blog
Web: www.maestrosdeweb.com
Link: http://www.maestrosdelweb.com/editorial/haz-que-tu-servidor-se-defienda-por-si-mismo-contra-ataques-ddos/
Publicado: 16 de marzo de 2009

Allá afuera hay toda clase de bichos, y no necesariamente debe haber una razón (si es que pudiera existir alguna) para que cualquiera la tome contra tus servidores, incluso hasta un spam-bot podría saturar tu servidor, llegando a ser considerando un ataque de denegación de servicio (DoS).

Un usuario común y corriente con su navegador nunca abre tantas conexiones a la vez, ya que según el HTTP 1.1 deberían usar pocas conexiones persistentes para realizar todas las
peticiones necesarias. El usuario puede modificar esto, elevando el número de conexiones permitido hacia un mismo host, pero creo que es muy seguro que ninguno abrirá más de 10 conexiones, y si lo hace lo único que conseguirá es hacer más bajo el rendimiento.

Sabiendo esto, cuando una IP abre demasiadas conexiones a la vez, se le puede considerar como un atacante. Es precisamente esto lo que vigila DoS-Deflate, un script que nos ayuda a monitorear la cantidad de conexiones de cada IP hacia nuestro servidor. DoS-Deflate bloquea (durante un tiempo definido) las IPs que tengan más de cierto limite de conexiones, usando APF o iptables.

Para instalarlo en nuestro servidor es bastante sencillo, su desarrollador nos brinda un script para hacerlo:

wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh

Y otro script más para desinstalarlo, para cuando ya no lo necesites más:

wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos

Una vez instalado DoS-Deflate, puedes editar la configuración que se encuentra en /usr/local/ddos/ddos.conf

  • FREQ=1 . Cada cuantos minutos correr el script. Viene programado para correr cada minuto, lo que me parece bien, considerando que de un minuto a otro podrían saturarte mucho el servidor.
  • NO_OF_CONNECTIONS=150 . Límite de conexiones, 150 en este caso. Si una IP hace más conexiones que este límite, se le bloqueará por el tiempo que se especifica en BAN_PERIOD.
  • APF_BAN=1 . Si es igual a uno (1) se usará APF, sino lo tienes instalado, cámbialo por cero (0) para usar iptables.
  • BAN_PERIOD=600. Cantidad de segundos en que la IP estará bloqueada. Son 10 en la configuración predeterminada, yo suelo cambiarlo por una hora (3600 segundos).

Una vez tengas funcionando el script, este te enviará un mail si ha bloqueado una ip:

Banned the following ip addresses on Wed Mar 11 15:59:01 EDT 2009

255.205.100.246 with 831 connections
255.83.19.226 with 722 connections
255.192.48.195 with 690 connections
255.96.188.13 with 615 connections
255.160.12.34 with 583 connections
255.134.0.90 with 575 connections
255.228.127.16 with 514 connections
255.158.132.60 with 467 connections
255.110.64.91 with 446 connections
255.141.103.43 with 393 connections
255.136.92.12 with 346 connections
255.149.28.15 with 333 connections
255.162.173.58 with 299 connections
255.100.28.124 with 295 connections
255.123.19.241 with 269 connections
255.215.39.16 with 249 connections
255.190.149.104 with 239 connections
255.133.88.90 with 202 connections
255.123.216.254 with 177 connections

Si esperas que alguna IP conocida realice muchas conexiones, puedes indicarlo en /usr/local/ddos/ignore.ip.list para que no sea bloqueada.

Por supuesto, DoS-Deflate es solo una forma de protegerte contra los ataques DoS, hay muchas más formas de detectarlos y prevenir que boten tu servidor (lectura recomendada). Aún siendo un script bastante sencillo, vale la pena tenerlo instalado en el servidor, y el rendimiento en general no se ve afectado.

PD: Gracias a Freddie por recomendarnos este script.

Comentarios»

No comments yet — be the first.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: