Recomendaciones para baneos_bloqueos automaticos.

Iniciado por AlbertoBSD, 23 Diciembre 2019, 05:04 AM

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

AlbertoBSD

Tengo implementado un sistema de bloqueos por URL (ya saben tipo /wp/login.php etc...), Usert Agent (Claramente modificados), Session (Previamente detectadas).

Si alguno de la lista se encuentra en el blacklist la IP se bloquea por algunas horas y ando un codigo de error 500.

La pregunta por recomendación aquí: ¿Es el mejor camino a seguir?, es decir ¿Bloquear el acceso y mandar error 500 o 404 es la mejor forma de proceder?

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

engel lex

el codigo como tal no deberían ser esos sino mas bien un 403, 423 o 503

mi recomendación es un rechazo a nivel de os (iptables) o servidor (apache/nginx) y no de servicio (php), ya que ahorra que el script tenga que ejecutarse... aunque cuidado con sobrecargar las iptables, ya que el sistema puede tornarse lento en responder
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

AlbertoBSD

Voy a implementar el Código 403 que es el que mejor aplica.

Sobre el tipo de bloqueo, creo que a nivel IPTABLES no creo poder implementarlo ahorita, el servidor es un hosting compartido y se podria afectar el tráfico de otro sitio (Poco probable pero puede darse el caso)

Algunos de los bloqueos de URL o de User Agent veo que si se pueden implementar en la configuración de apache pero veo que también hay que estar aplicando un restart al apache y es el mismo caso. Ademas no se tendría un correcto bloqueo por sesiones. Así como un desbloqueo pasado cierto tiempo.

Creo que lo seguiré aplicando a nivel del script de PHP, se tiene un control sin necesidad de reiniciar el apache, se puede banear y desbanear via base de datos. Además el numero event-workers del apache y de hilos para el PHP-FPM esta bastante tuneado y aguanta mucha carga de trabajo.
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

@XSStringManolo

Cita de: AlbertoBSD en 23 Diciembre 2019, 05:04 AM
Tengo implementado un sistema de bloqueos por URL (ya saben tipo /wp/login.php etc...), Usert Agent (Claramente modificados), Session (Previamente detectadas).

Si alguno de la lista se encuentra en el blacklist la IP se bloquea por algunas horas y ando un codigo de error 500.

La pregunta por recomendación aquí: ¿Es el mejor camino a seguir?, es decir ¿Bloquear el acceso y mandar error 500 o 404 es la mejor forma de proceder?

Saludos
Lo del userAgent es tontería, solo es cambiarlo. Y hasta en cacharros tontos puedes meter un proxy de por medio. Y la ip más de lo mismo, son todas dinámicas asique como mucho te sirve para dar un poco por culo bloqueándole proxies, pero es poner una lista de proxies y elegir uno random. Lo único para lo que te va a servir es para bloquear a usuarios legits por error xD

A quien no sabe hacer lo anterior, no te vale la pena bannearlo, porque poca amenaza es y como mucho te tira escáneres autos desde su casa y cuando le cambien la IP ya puede volver.

Y a usuarios normales/avanzados no les haces nada, se cambian la ip y el userAgent en 1 minuto.

Si tuvieses un sitio de arte con pintauñas tendría sentido, pero subiendo cosas de desarrollo lo normal es que quien te visite sepa resetear el router, usar proxies y cambiar de userAgent escribiendo una url en el navegador, usando una extensión, un proxy local, etc.

Lo que puedes hacer es descargar una lista programáticamente de ips de Tor y proxies comunes, pero no sirve de mucho.

Si bloqueas hazlo desde el .config que desde el .htaccess va mucho peor.

Si te da igual el rendimiento puedes hacer fingerprint y bannear por el hash de fingerprint(de hardware) si es único. Si el usuario es legit le abres una sessión para que pueda ver tu sitio. Al menos si es un hdp le fuerzas a emular.

AlbertoBSD

Si  obvio se que quien conozca del tema se salta el baneo, y lo de bloquear a otros usuarios, es poco probable, tenia configurado el bloqueo por un dia, pero lo he cambiado a Una hora.

Más que para usuarios, el baneo va para bots que buscan directorios que no existen, acabo de revisar y tenia baneados 78 direcciones IP y todas con ese motivo que busca scripts "default" instaladores y demas cosas donde no son. Y también lo del user agent muchos bots/scripts tienen User Agents asi muy obvios:

python-requests/2.22.0
Ruby
etc..


Y como se hace de forma automática ni me entero, tengo que agregar eso al dashboard que estoy haciendo.


Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW