From 878e2b98e6c68b6e159acf9101330eb8cb23dfae Mon Sep 17 00:00:00 2001 From: Andy Dixon Date: Thu, 26 Feb 2026 12:42:10 +0000 Subject: [PATCH] docs: add reverse-proxy IP header hardening guidance Document strict trusted-proxy configuration requirements to avoid spoofed client IP forwarding affecting abuse controls. --- README.md | 1 + docs/INTEGRATION_GUIDE.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 87996f1..6cf9091 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ This wrapper now delegates to `BlackWall\Auth\AuthClient`. - For provider admin enrollment URL export operations, use `POST` with CSRF protection; do not automate them via unauthenticated `GET` links. - Handle provider CSV exports with formula-injection safety in mind if opening them in spreadsheet applications. - Treat generated enrollment URLs as secrets and keep them out of URL query strings and request logs. +- For reverse-proxy deployments, harden trusted proxy/IP forwarding configuration to prevent spoofed client IP headers. - Never place client secrets, refresh tokens, or access tokens in URL query strings. - For OIDC providers, include a per-request `nonce` in authorisation requests. - For direct Cryptbin API usage, send `key_b64url` on unwrap calls; provider rejects key-mismatch unwrap attempts with `403 Forbidden`. diff --git a/docs/INTEGRATION_GUIDE.md b/docs/INTEGRATION_GUIDE.md index 468f06b..6f568e4 100644 --- a/docs/INTEGRATION_GUIDE.md +++ b/docs/INTEGRATION_GUIDE.md @@ -155,6 +155,7 @@ Provider user/project assignment views may exclude disabled projects even if his - Treat admin enrollment URL export as a state-changing operation: call it with `POST` and include a valid CSRF token. - Treat provider CSV exports as untrusted input in spreadsheet tools; prefer importing into systems that neutralise formula cells. - Treat enrollment URLs as sensitive bearer material: do not place them in redirect query parameters, logs, or analytics tags; keep them in one-time server-side flash/session state. +- If your deployment runs behind reverse proxies, ensure trusted-proxy configuration is strict so spoofed forwarding headers cannot bypass IP-based abuse controls. - Configure OAuth client redirect URIs as HTTPS in production; reserve HTTP for localhost loopback testing only. - Assume provider rate limits are enforced per source identity (for example IP) and shared across related auth endpoints. - Treat report/export-style provider endpoints as high-cost and expect stricter rate limits.