GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo bloquear Automática y Temporalmente una dirección IP haciendo demasiadas visitas al Servidor en un corto período de tiempo?

Solución 1:

Fail2Ban. La solución estándar/predeterminada de oro para este problema en la plataforma Linux.

Solución 2:

Debe evitar intentar hacer esto con PHP. Cuando PHP se involucra, ya es demasiado tarde:la memoria ya se ha asignado.

Puede prohibir las direcciones IP en cualquier capa, pero el nivel más bajo que utiliza la menor cantidad de recursos es la ruta que desea tomar. Este suele ser el cortafuegos. Como mínimo, iptables (linux firewall) es lo que desea usar. Hay herramientas que otros han mencionado, como Fail2Ban, que pueden automatizar esto por ti. Sería mejor un cortafuegos externo.

Además de tratar de prohibir las direcciones IP ofensivas, debe intentar hacer un mejor uso de sus recursos. Si una solicitud requiere menos recursos, el ataque tardará más en ser efectivo.

Apache también usa mucha memoria. Si está utilizando mod_php, es aún peor porque PHP se carga dentro de cada proceso secundario de Apache. Esto significa que incluso las solicitudes de contenido estático (css/js/images) están cargando PHP incluso cuando PHP no se está utilizando. Puede resolver este problema utilizando FastCGI en su lugar. mod_fcgid es una buena opción.

También hay otros servidores web que son más eficientes en recursos. Nginx es mi favorito. También está Lighttpd. A mucha gente le gusta Litespeed (reemplazo directo de Apache).

Si desea seguir con Apache, considere ajustarlo lo mejor que pueda. Considere deshabilitar .htaccess. Aquí hay una buena explicación de por qué.

Solución 3:

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

ossec puede hacer este tipo de cosas de forma automática y transparente en función de los registros del sistema.

Solución 4:

Para controlar o bloquear el tráfico http, puede usar:

  • módulo de apache.
  • iptable
  • fail2ban como se indica aquí por HopelessN0ob.

Sin embargo, tenga en cuenta que esta herramienta también puede bloquear o ralentizar a las arañas web y, por lo tanto, afectar el SEO.


Linux
  1. Cómo bloquear la dirección IP en el servidor Linux

  2. Cómo bloquear la dirección IP en el servidor Linux

  3. ¿Cómo obtener la dirección IP propia y guardarla en una variable en un script de Shell?

  4. ¿Cómo permitir o bloquear el puerto y la dirección IP usando Firewalld, tablas de IP y UFW en Linux?

  5. ¿Cómo determino el tamaño de bloque de una partición ext3 en Linux?

Cómo instalar Linux, Apache, MySQL y PHP (LAMP) en un servidor en la nube con Ubuntu 20.04

Cómo instalar Nginx, MySQL y PHP (LEMP) en un servidor Ubuntu 15.04

Cómo instalar Linux, Apache, MySQL y PHP (LAMP) en un servidor en la nube con Ubuntu 12.04

Cómo instalar el servidor web OpenLiteSpeed ​​con MariaDB y PHP

Cómo instalar y configurar el servidor web Caddy con PHP en Rocky Linux 8

Cómo instalar y configurar el cortafuegos CSF para Linux