This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Implement per-room rate-limiting for remote joins #12710
Labels
A-Federated-Join
joins over federation generally suck
T-Enhancement
New features, changes in functionality, improvements in performance, or user-facing enhancements.
Comments
DMRobertson
added
the
T-Enhancement
New features, changes in functionality, improvements in performance, or user-facing enhancements.
label
May 11, 2022
This would probably need to be specced. Though I think even having quite a liberal rate limit would help against any join spam issues |
What is the proposal here? A per-room rate limit on Edit: I ask because Erik talks of spec work---is there a suggestion that this should be enforced across federation? |
|
I think this is hard to do across multiple workers. Maybe we can use redis for this? Idk how much effort it's worth putting into this though(?) |
Ideas:
|
This was referenced Jul 12, 2022
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
A-Federated-Join
joins over federation generally suck
T-Enhancement
New features, changes in functionality, improvements in performance, or user-facing enhancements.
Description:
Synapse includes a few different levers for controlling the flow of actions. We should add a new lever, and limit the number of joins to a room in a given time, including remote joins. I.e. if there has recently been lots of joins in a room (local or remote joins), then servers should ratelimit both local joins and remote attempts to join via
/make_join
.By using the existing rate-limit infrastructure, we can tackle some of the issues set out in #12578 around disruptive mass-join events. Rate-limiting helps to prevent performance concerns from handling too many join events at once, and also gives time and space for room moderators to put in place further protections.
Ideally, this limit could be adjusted on a room-by-room basis. Large public rooms would be able to adjust their individual rate-limits, while the default would protect the majority of rooms
The text was updated successfully, but these errors were encountered: