ratelimit

Ver en Markdown

Órdenes openwaf-cloud ctl ratelimit para listar, añadir, cambiar y quitar límites de peticiones por ruta de una zona o de un nombre.

En esta página

Los límites de peticiones fijan cuántas peticiones acepta una ruta por clave (por defecto, por IP del cliente) en un periodo. Una zona tiene una lista de reglas; un nombre puede tener la suya propia, que sustituye a la de la zona para ese nombre. Cada cambio reescribe la lista como una versión nueva de la zona y admite --reason, --dry-run, --yes y --wait.

Todas las órdenes admiten --host <nombre> para trabajar con la lista propia de un nombre en vez de con la de la zona.

ratelimit list

ratelimit list <zona> [--host <nombre>] [--json]

Las reglas de la zona o, con --host, la lista propia del nombre. Si el nombre no tiene, enseña las reglas de la zona que le aplican. Columnas: id, nombre, nombres, ruta, métodos, clave, límite, acción, mitigación, divisor y si está activa.

ratelimit add

ratelimit add <zona> clave=valor … [--host <nombre>] --reason "…"

Añade una regla al final de la lista. Con --host y un nombre que aún no tiene lista, la nueva lista parte de las reglas de la zona que le aplicaban, más esta.

ClaveSignificado
idIdentificador de la regla en la lista. Sin él, se deriva de name.
nameUn nombre legible.
enabledtrue o false.
hostsNombres de la zona, separados por comas, a los que se limita la regla (solo en la lista de la zona).
path_prefix o path_exactLas rutas a las que se aplica.
methodsMétodos HTTP separados por comas, como POST,PUT. Por defecto, todos.
header_present, query_presentContar solo las peticiones que llevan esta cabecera o este parámetro.
keyQué se cuenta por separado: ip (por defecto), header, cookie o body_field.
key_nameEl nombre de la cabecera, la cookie o el campo cuando key no es ip.
requests, periodEl límite: peticiones por periodo. period en segundos o como duración (300, 5m).
algorithmsliding_window (por defecto) o gcra.
actionblock (por defecto), challenge o log.
mitigation_timeoutCuánto dura la acción una vez disparada, en segundos o como duración.
per_node_divisortrue (por defecto) para repartir el límite entre los nodos de borde, false para aplicarlo en cada nodo.
limit=N/periodoAtajo de requests y period: limit=60/15m.
timeout=duraciónAtajo de mitigation_timeout: timeout=15m.

Cualquier clave admite también JSON literal con :=, como methods:='["POST"]'.

openwaf-cloud ctl ratelimit add example.com id=login path_prefix=/auth/login methods=POST \
  limit=60/15m algorithm=gcra timeout=15m per_node_divisor=false --reason "Limitar los intentos de acceso"

ratelimit set

ratelimit set <zona> <id> clave=valor … [--host <nombre>] --reason "…"

Cambia los campos que indicas de la regla <id>, con las mismas claves. Con --host, el nombre ya debe tener su propia lista.

ratelimit rm

ratelimit rm <zona> <id> [--host <nombre>] --reason "…"

Quita la regla <id> de la lista de la zona o, con --host, de la lista propia del nombre.

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar