Alguien está intentando piratear mi servidor PHP

0

Hoy, temprano en la mañana. Mi servidor dedicado se estaba ralentizando porque venían numerosas solicitudes.

Un error que recuerdo es un mensaje de MYSQL, que decía algo similar a, max_number_of_connections superado.

Me pareció extraño porque el sitio en el que estoy trabajando no se ha lanzado todavía, este enorme tráfico no fue razonable.

Cuando fui a ver la cantidad de usuarios en línea, también fue enorme. Una misma dirección IP intentaba ir a mis enlaces (como 1000 enlaces / segundo). La mayoría de ellos devolvieron 404. No los guardé ni recordé los enlaces extraños que se mostraron.

Fui a cPanel mi servidor PHP, para ver que el error_log es enorme (el último día fue de 4.0 KB):

Sigue creciendo, he podido extraer esto, parece que es el patrón repetido.

[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4254
[20-Aug-2014 20:49:58 Europe/Vilnius] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/george/public_html/includes/functions.php on line 4252

Parece que el error se ha imprimido millones de veces, hasta el momento hizo el error_log 1.7 GB.

¿Qué puedo hacer? ¿Existe alguna forma fácil de bloquear una dirección IP usando algún software para interrumpir mi servidor?

    
pregunta George Chalhoub 24.08.2014 - 00:42
fuente

1 respuesta

2

Creo que hay problemas más grandes en juego, por lo que parece que tus registros sugieren que hay un problema con tu aplicación causado por un archivo que no se puede abrir. El hecho de que haya docenas de registros en el mismo segundo implica que este error también ocurre varias veces en la misma solicitud. Esto puede o no estar contribuyendo a que su sitio sea lento, la clasificación de estos es probablemente una pregunta para un sitio SE diferente.

Como mencioné en mi comentario anterior, el problema podría ser más relacionado con su aplicación que (probablemente) los robots que realizan solicitudes a su sitio. Si un volumen relativamente pequeño de solicitudes puede agotar un determinado recurso, su aplicación es vulnerable a un ataque de DOS. Es posible que deba buscar cuellos de botella en su aplicación, usar los recursos de manera más eficiente o restringir quién puede acceder a ciertas funciones (por ejemplo, a través de un CAPTCHA).

En términos de mitigación, aquí hay algunas opciones:

  • Bloquee la IP, preferiblemente a través de un firewall externo, pero si falla, entonces debería poder usar una regla .htaccess . Si este es un ataque dirigido y no un bot aislado que no funciona correctamente, entonces probablemente será una pérdida de tiempo porque el atacante simplemente cambiará su IP.

  • Agregar un firewall de aplicación web (WAF). CloudFlare es un producto relativamente popular que incluye un WAF y se puede utilizar de forma gratuita.

  • Póngase en contacto con su proveedor de alojamiento web. Viendo que estás ejecutando cPanel, asumo que solo eres un cliente de alojamiento compartido. Su host debe ser responsable de asegurarse de que la rotación de registros esté funcionando y también puede ayudarlo a bloquear el tráfico incorrecto.

respondido por el thexacre 25.08.2014 - 13:00
fuente

Lea otras preguntas en las etiquetas