No se como pararlo

Iniciado por jucorant, 12 Marzo 2012, 16:20 PM

0 Miembros y 1 Visitante están viendo este tema.

jucorant

Bueno, os explico..

Tengo un server con unos dominios, hace unos dias , vi que habia un aumento de trafico a lo bestia, y encontre dos ficheros uno que era footerr.php y manual.php (las debieron subir con un ftp de algunos de mis clientes), en mi servidor, que se conectaban un monton de diferentes ip's, los borre, pero siguen dandole caña, y me hacen saltar el servidor, porque aunque no deje ejecutar esos dos ficheros , la conexión al apache también la hace.
Despues , pense la única manera es con el iptables, hice un script que automaticamente me bloque las ip's , pero son tanta cantidad de ip's que el iptables empieza a ir lento, i la cpu me aumenta mucho, y acaba bloqueandome el servidor, y tengo que hacer otra vez iptables -F, para que vaya todo bien..para que os deis una idea el guardo las ip's en un fichero de texto i tiene un tamaño ahora de unos 18Mb, de ips..
Ahora ejecuto un cron cada 3 horas que hace borra el iptables y cada 3 horas reinicio el apache..i con eso voy tirando...

Saludos

adastra

Independiente de que las conexiones sean "maliciosas" o sean legitimas, debes configurar adecuadamente tu servidor para tratar la concurrencia, en concreto deberas documentarse sobre algunas directivas en el fichero de configuración de Apache, algunas de estas podrian ser:

Timeout, LimitRequestBody, StartServers, MinSpareServers, MaxSpareServers, MaxRequesPerChild, ThreadsPerChild, ThreadLimit

Por otro lado, usar manualmente IPTables para bloquear las direcciones IP que intenten hacer un ataque de denegación de servicio, puede ser un suicidio! te recomiendo utilizar un IDS como Snort acompañado con una herramienta como Fan2Ban para bloquear cualquier tipo de ataque por fuerza bruta (que al final es el uso de IPTables, pero automatizado).

Espero que te sirva de algo mi respuesta.
Saludos.

jucorant

Muchas gracias..

Iptables no lo hago manualmente lo hago automaticamente, pero al ser tantas ip's, cada vez el iptables me va mas lento, y me da problemas me aumenta el uso de la cpu..

adastra

Cita de: jucorant en 12 Marzo 2012, 17:38 PM
Muchas gracias..

Iptables no lo hago manualmente lo hago automaticamente, pero al ser tantas ip's, cada vez el iptables me va mas lento, y me da problemas me aumenta el uso de la cpu..
Vale, pero eso pasa por que la lista de IP's se queda cargada en IPTables y debe limpiarse cada X tiempo y eso lo hace Fan2ban, pero eso decia lo de "hacerlo manualmente".
Si sigues las pautas que te he indicado, seguramente mejorará la calidad del servicio de tu Apache, lo digo porque ya me ha pasado lo mismo que a ti.... XD

jucorant

Muchas gracias

Ha ok, lo hare, ahora he mejorado alguna cosa del apache he bajado el KeepAliveTimeout y he tuneado alguna cosa más , y ahora me mirare eso del fan2ban...

jucorant

Supongo que es Fail2ban no Fan2ban..

Saludos

jucorant

supongo que el fail2ban, lo que hace es mirar los logs, yo por ejemplo le digo coja las ip que acceden a un fichero , lo bloquee y se quede baneado x tiempo, supongo que ha esto te refieres con que limpia cada x tiempo el iptables, porque lo banea x tiempo??

adastra

si, es fail2ban y no fan2ban.... jejeje un pequeño error tipográfico...
Fail2Ban es una herramienta que permite proteger distintos tipos de servicios de ataques de fuerza bruta basados en diccionario por medio de un mecanismo de bloqueo de direcciones IP bastante sencillo pero muy efectivo, su funcionamiento se basa en la lectura de los ficheros de Log del sistema donde localiza las direcciones IP de origen de las peticiones que tienen muchos intentos fallidos de autenticación, de esta forma, crea un listado de todas estas direcciones y las veta por periodo de tiempo configurable, para "banear" Fail2Ban utiliza filtros basados en iptables.
Por otro lado, como te comente anteriormente, un mecanismo mucho más eficiente y robusto es utilizar un IDS/IPS como Snort o Suricata (personalmente prefiero Snort).