Skip to content

[SYNCOPE-1976] Add configurable REST rate limiting#1420

Merged
ilgrosso merged 9 commits into
apache:masterfrom
massx1:security-rate-limiting-cxf
Jun 15, 2026
Merged

[SYNCOPE-1976] Add configurable REST rate limiting#1420
ilgrosso merged 9 commits into
apache:masterfrom
massx1:security-rate-limiting-cxf

Conversation

@massx1

@massx1 massx1 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Adds optional REST rate limiting for Syncope Core APIs.

The feature allows administrators to configure request thresholds, time windows, lock periods, trusted proxies, and excluded client addresses (for example Console instances).

When enabled, clients exceeding the configured threshold receive 429 Too Many Requests with a Retry-After header.

The feature is disabled by default.

Notes
This is intended as a lightweight L7 mitigation for excessive request rates against CXF REST endpoints, complementing existing endpoint-specific throttling such as login and password reset protection.

@ilgrosso ilgrosso left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The filter is now defined, tested and added to the Spring context, but not actually configured in CXF.

You will need to add it in IdRepoRESTCXFContext#restContainer to do so.

@massx1 massx1 force-pushed the security-rate-limiting-cxf branch from 54c6fd9 to a6d65fd Compare June 11, 2026 11:38
@massx1 massx1 force-pushed the security-rate-limiting-cxf branch from b8a29a5 to cad8332 Compare June 15, 2026 09:17
@ilgrosso

Copy link
Copy Markdown
Member

@massx1 the PR looks ok now, can you add some notes to the reference guide about this feature?

@ilgrosso ilgrosso merged commit 7b70556 into apache:master Jun 15, 2026
0 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants