Rate-limit на server-core RPC endpoints

## Что это `@rox-one/server-core/rate-limit` middleware применяется ко всем WebSocket RPC и REST endpoints. Strategy: sliding window log per (ip, user, endpoint-category). Категории: - `auth.*` — 5 attempts/min/ip - `mission.dispatch` — 60/min/user - `source.read` — 600/min/user - `share.create` — 10/min/user - `admin.*` — 30/min/user При exceed: HTTP 429 с `Retry-After: ` и `RateLimit-Remaining: 0`. На WebSocket — close frame code 4029 + reconnect-delay metadata. Все 429-events в audit с category `security.rate-limit.exceeded`. Компоненты: `@rox-one/server-core/rate-limit`, in-memory backed (Redis-compatible для multi-instance в будущем). Per-tenant overrides через config. ## Зачем Without rate-limit публичные endpoints — invitation к DoS, credential-stuffing, abuse. Sliding window — fairer чем fixed-bucket для legitimate burst traffic. Per-category limits позволяют tune auth tighter чем read-heavy paths. OWASP-compliant. ## Источники вдохновения - [tailscale-dev/tailscale-acl-combiner](https://github.com/tailscale-dev/tailscale-acl-combiner) — ACL composition для rate-policy - [nextdns/nextdns](https://github.com/nextdns/nextdns) — DoH proxy с per-source rate filtering - [ethz-spylab/agentdojo](https://github.com/ethz-spylab/agentdojo) — benchmark suite для agent attack defense ## 🔗 Linear - [PZD-424](https://linear.app/kuhjie/issue/PZD-424) — backing ticket

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
🏢

Enterprise, B2B

Date

About 19 hours ago

Author

agi

Subscribe to post

Get notified by email when there are changes.