Tutoriales y Manuales
Entradas Mensuales
-
▼
2025
(Total:
32
)
-
▼
enero
(Total:
32
)
- Los cambios en la moderación de Meta permiten llam...
- AMD anuncia sus nuevos procesadores gaming de sobr...
- Los nuevos procesadores Core Ultra 200 de Intel de...
- Razer presenta un prototipo de silla con calefacci...
- ¿Quieres un adaptador de cassette con Bluetooth? ¡...
- Megafiltración de datos en call center expone a 7 ...
- Túnel SSH port forwarding: Local, remote y dynamic
- Herramientas de IA gratuitas que debes conocer
- ChatGPT reconoce que pierden dinero incluso con la...
- Hackean los datos de los miembros de la argentina ...
- Publicar automáticamente de un Feed RSS a Telegram...
- ¿Qué es un webhook?
- Nvidia presenta las nuevas tarjetas gráficas GeFor...
- Qué es el rate limit y por qué debes limitar petic...
- Monitorización HDD y SSD con SMART en OPNsense con...
- ¿Qué es la tecnología HARM de discos duros? ¿Qué i...
- Alternativas gratuitas al Escritorio Remoto: RustD...
- Uptime Kuma, monitoreo de servicios y más
- El CAPTCHA de DOOM
- La importancia de la pasta térmica del procesador
- Intel XMP VS AMD EXPO
- Vulnerabilidad crítica en Nuclei que permite ejecu...
- Detenido un soldado estadounidense de 20 años que ...
- DoubleClickjacking: la nueva amenaza de los dobles...
- OPNsense IPv6 tunnel con Hurricane Electric Tunnel...
- Configurar Dynamic DNS (DDNS) en OPNsense
- Cómo escanear documentos y convertirlos a PDF dire...
- ¿Qué es la ventana de contexto en IA?
- Estados Unidos ofrece 10 millones de dólares por l...
- Apple pagará 95 millones de dólares para resolver ...
- Exploit DoS para LDAP Nightmare (CVE-2024-49112)
- 0.0.0.0 : ¿Qué es la Dirección IP “cero” ?
-
▼
enero
(Total:
32
)
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Después de ver qué es una vCPU y la diferencia entre núcleos (cores) e hilos en los procesadores, pasamos a explicar toda la nomenclatura d...
-
Si alguna vez quieres acceder a tu PC de forma remota, probablemente hayas oído hablar de Chrome Remote Desktop . Es una extensión para Chro...
-
CVE-2024-49112 es una vulnerabilidad crítica en el cliente LDAP de Windows que según Microsoft permite la ejecución remota de código. Este e...
Qué es el rate limit y por qué debes limitar peticiones de tráfico https
La limitación de velocidad es una estrategia para limitar el tráfico de red. Pone un tope a la frecuencia con la que alguien puede repetir una acción en un determinado marco de tiempo, por ejemplo, intentar iniciar sesión en una cuenta. La limitación de velocidad puede ayudar a detener ciertos tipos de actividades de bots maliciosos. También puede reducir la presión sobre los servidores web. Sin embargo, la limitación de velocidad no es una solución completa para gestionar la actividad de los bots.
El rate limit es el término anglosajón que se utiliza en la jerga técnica para limitar el número de peticiones HTTP que recibe un sitio web o una API en un periodo de tiempo determinado. Se conoce también como rate limiting o throttling. Esta restricción puede estar basada en la dirección IP del cliente (en Transparent Edge, la cabecera True-Client-IP), una cookie, una URL o cualquier otra opción que tenga sentido para tu site.
Limitar el tráfico sirve para bloquear usuarios o aplicaciones que están haciendo un uso excesivo de la plataforma y pueden, por ende, poner en riesgo la disponibilidad de los recursos y la seguridad de la web. Esto incluye la detección de determinados ataques de bots maliciosos que aumentan la presión sobre los servidores web.
El rate limit es fundamental para asegurar la continuidad del servicio. Además, ayuda a mitigar ataques de fuerza bruta y ataques de credential guessing. También evita sobrecostes a las empresas en las infraestructuras cloud. Durante nuestros ejercicios de pentest, de hecho, hemos detectado riesgos que habrían podido llevar a empresas a cerrar debido a esta ausencia de control.
¿Cómo funciona la limitación de velocidad?
La limitación de velocidad se ejecuta dentro de una aplicación, en lugar de ejecutarse en el propio servidor web. Normalmente, la limitación de velocidad se basa en el seguimiento de las direcciones IP de las que proceden las solicitudes y en el seguimiento del tiempo que transcurre entre cada solicitud. La dirección IP es la principal forma en que una aplicación identifica quién o qué está realizando la solicitud.
Una solución de limitación de velocidad mide la cantidad de tiempo entre cada solicitud de cada dirección IP, y también mide el número de solicitudes en un período específico. Si hay demasiadas solicitudes de una sola IP en un período determinado, la solución de limitación de velocidad no atenderá las solicitudes de la dirección IP durante un tiempo determinado.
En esencia, una aplicación con límite de velocidad dirá, "Oye, baja la velocidad," a los usuarios únicos que están realizando solicitudes a mucha velocidad. Esto es comparable a un agente de policía que para a un conductor por exceder el límite de velocidad establecido en esa carretera, o a un padre que le dice a su hijo que no coma tantos caramelos en tan poco tiempo.
Cómo saber qué límite de tráfico poner en mi página web o API
No existe una cifra de referencia, ya que el tráfico no es igual para una página institucional que para la portada de un diario deportivo.
Nuestra recomendación es fijar un límite sobre el registro de tráfico habitual, evitando ser demasiado restrictivos para no dejar fuera a personas que están haciendo un uso responsable de la página.
Además, conviene revisar la regla si se prevé algún pico de tráfico como podría ser el periodo de rebajas para un e-commerce.
Un ejemplo real de rate limit
Twitter establece una tasa de uso responsable para aliviar la carga de su infraestructura. Sus límites incluyen acciones de todos los dispositivos, incluida la API. Si un usuario utiliza varias aplicaciones de terceros en su cuenta, como un software de gestión de contenidos, alcanzará el límite de forma más rápida que un usuario que solo accede desde la API oficial.
Precisamente, hace un tiempo conocíamos el bloqueo de Tweetbot por incumplimiento de reglas de uso de la API de Twitter.
¿Qué tipos de ataques de bots se detienen con la limitación de la velocidad?
La limitación de velocidad se suele emplear para impedir que los bots perjudiciales afecten de forma negativa a un sitio web o aplicación. Entre los ataques de bots que la limitación de velocidad puede ayudar a mitigar se incluyen:
- Ataques de fuerza bruta
- Ataques DoS y DDoS
- Apropiación web
La limitación de velocidad también protege contra el uso excesivo de la API, lo cual no es necesariamente malicioso ni se debe a la actividad de los bots, pero que en cualquier caso conviene prevenir.
429 Too Many Requests
¿Qué es el código de estado HTTP 429?
NGINX Rate Limiting - Prevenir ataques DoS & DDoS
¿Cómo funciona la limitación de velocidad de NGINX?
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;server {location /login/ {limit_req zone=mylimit;proxy_pass http://my_upstream;}}
La directiva limit_req_zone define los parámetros para la limitación de velocidad mientras que limit_req habilita la limitación de velocidad dentro del contexto en el que aparece (en el ejemplo, para todas las peticiones a /login/).
En el ejemplo es la variable NGINX $binary_remote_addr, que contiene una representación binaria de la dirección IP de un cliente. Esto significa que estamos limitando cada dirección IP única a la tasa de peticiones definida por el tercer parámetro. (Usamos esta variable porque ocupa menos espacio que la representación de cadena de una dirección IP de cliente, $remote_addr).
Zone define la zona de memoria compartida utilizada para almacenar el estado de cada dirección IP y la frecuencia con la que ha accedido a una URL de petición limitada. Mantener la información en memoria compartida significa que puede ser compartida entre los procesos worker de NGINX. La definición tiene dos partes: el nombre de la zona identificado por la palabra clave zone=, y el tamaño que sigue a los dos puntos. La información de estado para unas 16.000 direcciones IP ocupa 1 ;megabyte, por lo que nuestra zona puede almacenar unas 160.000 direcciones.
En el ejemplo, la tasa no puede superar las 10 peticiones por segundo. NGINX rastrea las peticiones en milisegundos, por lo que este límite corresponde a 1 petición cada 100 milisegundos (ms).
Así que ahora cada dirección IP única está limitada a 10 peticiones por segundo para /login/ - o más exactamente, no puede hacer una petición para esa URL en los 100ms siguientes a la anterior. Esa es una forma de prevenir ataques DoS con NGINX.
Fuentes:
https://doc.traefik.io/traefik/middlewares/http/ratelimit/
https://www.haproxy.com/blog/four-examples-of-haproxy-rate-limiting
https://medium.com/@mohan.velegacherla/nginx-rate-limiting-preventing-dos-ddos-a208f9179b6e
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.