Skip to content

[CTFE] Configurable mechanism to rate-limit non-fresh submissions #1698

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 16, 2025

Conversation

robstradling
Copy link
Contributor

@robstradling robstradling commented May 14, 2025

Recently we've seen a lot of CT log growth due to one or more third parties bulk-submitting lots of "old" certificates that are presumably already present in multiple other logs. This DDoS vector has caused availability issues for some logs, affecting both the POST and GET endpoints. We need to be able to ensure that "old" submissions do not overwhelm a log's ability to (1) accept "fresh" submissions and (2) distribute them to monitors.

Over on the transparency-dev Slack, Matthew McPherrin suggested:

On the submission side, we could more aggressively ratelimit submission of "old" certificates (NotBefore that's more than 24 or so hours ago) to keep overload from preloading down

And Joe DeBlasio replied:

IMO this would be a totally reasonable rate limiting strategy

This PR implements this rate limiting strategy for CTFE.

Checklist

@robstradling robstradling requested a review from a team as a code owner May 14, 2025 17:04
@robstradling robstradling requested review from mhutchinson and removed request for a team May 14, 2025 17:04
@roger2hk
Copy link
Contributor

/gcbrun

@roger2hk
Copy link
Contributor

/gcbrun

@phbnf phbnf self-assigned this May 16, 2025
@phbnf phbnf merged commit 236d180 into google:master May 16, 2025
7 checks passed
@robstradling robstradling deleted the rate_limit_old_submissions branch May 29, 2025 20:55
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.

4 participants