implementar rate limits #39
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
con un rate limit general, podríamos limitar la cantidad de visitas por IP para todos los servicios, y otro más específico por cada servicio.
tengo que ver si es solo por ip o se puede hacer por rango de ip.
estaba leyendo esto
https://anarc.at/blog/2025-05-30-asncounter/
me estoy interiorizando en seed de mayfirst y nginx-ultimate-bad-bot-blocker para ver cómo mejorar esto
también para access_log (repo privado) hice que se detecte el asn en los logs, habría que hacer una forma de que esa información esté disponible en nginx.
la unica base de datos que se puede consultar desde nginx es la de maxmind para geolocalización, con lo que se podría hacer una base de datos de asns que se convierta en una variable que nginx puede usar para hacer rate limits. pero escribir una base de datos de maxmind es un garrón porque no encontré una utilidad relativamente simple de usar.
en principio haría un rate limit genérico por ip y luego los user agents de bots. no se si vale la pena mandarle todo el mogollón del ultimate bad bot blocker al proxy, quizas lo dejaría generar una configuración a ver qué es lo que hace y obtener de ahí lo que necesitemos
segun el informe de hardening:
Directivas de configuración de proxy
El control de solicitudes y conexiones concurrentes es esencial para proteger el
servidor frente a ataques de denegación de servicio (DoS) o abusos de recursos por
parte de clientes maliciosos. Nginx permite limitar la velocidad de las peticiones y el
número de conexiones simultáneas por dirección IP, evitando que un único cliente
consuma desproporcionadamente los recursos del servidor y afecte la disponibilidad
del servicio.
Se recomienda:
Configurar limitación de peticiones mediante la directiva: limit_req_zone
$binary_remote_addr zone=req_limit:10m rate=10r/s;
Configurar limitación de conexiones concurrentes mediante la directiva:
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
me parece un poco bajo el limite de peticiones pero lo voy a probar
@Numerica necesito saber dónde modificar el
nginx.confo tengo que esperar a que #61 esté mergeado?@fauno ya está mergeado
por otro lado, no cambia la localizacion del nginx.conf la cual es en roles/proxy/templates
a ésta sólo añadimos la nueva directiva stream
lo estamos probando en sutty.abyaya.la a ver como nos va
lo probé con
wrkpero realmente no sé qué onda. le tuve que subir el burst a 20 para que funcione el hedgedoc de suttyhttps://samsmith.blog/nginx-rate-limiting-how-it-works-how-to-configure-it-and-how-to-test-it/
esto no fue cerrado por #65 ?
Numerica referenced this issue2025-11-20 22:33:36 +00:00