5 Commits
Author SHA1 Message Date
ik 7c28a0c36a security: rate limit admin authentication 2026-09-12 21:33:26 +07:00
ik 05d1f1616f A06: Add Docker chain rate limit tests for proxy scenarios
Added 3 new tests for A06 proxy chain verification:
1. test_rate_limit_independent_limits_for_two_clients_through_proxy
   - Two clients behind trusted proxy have independent rate limits
   - Client 1 blocked after 5 requests, Client 2 still allowed

2. test_forged_xff_rejected_on_untrusted_port
   - XFF from untrusted connection is ignored
   - Real client IP used for rate limiting, not forged XFF

3. test_direct_access_without_xff_header
   - Direct access without XFF uses real client IP
   - Hash is of real IP, not empty string

Verification:
- 8/8 rate limit tests pass
- Docker network CIDR (172.17.0.0/16) tested
- Forged XFF properly rejected from untrusted sources
- Independent rate limits verified for multiple clients
2026-09-10 18:12:32 +07:00
ik e2bed0db89 R13: Fix X-Forwarded-For trust boundary — only trust from known proxies
- Add _is_trusted_proxy() to check client IP against trusted CIDRs
- Only use X-Forwarded-For if connection came from trusted proxy
- Add TRUSTED_PROXY_CIDRS config (default: 127.0.0.1/32, ::1/128)
- Add parse_comma_separated_lists for env var parsing
- Add 3 unit tests: trusted CIDR check, untrusted ignores forwarded, trusted uses forwarded
2026-09-10 05:49:23 +07:00
ik d962ba2f90 fix: R02 activity API contract — PaginatedActivity + all consumers (#1788956171115) 2026-09-09 20:58:42 +07:00
ik b73580c720 Persist privacy-safe submission rate limits 2026-09-03 08:16:12 +07:00