-
Notifications
You must be signed in to change notification settings - Fork 17
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
Added ssh connection rate limiting feature #1469
base: master
Are you sure you want to change the base?
Conversation
We have created an issue in Pivotal Tracker to manage this. Unfortunately, the Pivotal Tracker project is private so you may be unable to view the contents of the story. The labels on this github issue will be updated when the story is started. |
c1061d7
to
0334d8b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of this PR, but would it be possible to use the go standard library for the limiter?
From briefly looking at the docs: https://pkg.go.dev/golang.org/x/time/rate
It seems like something like a combination of rate.Every
and rate.NewLimiter
should achieve the same result.
0334d8b
to
952633b
Compare
Hi @rkoster, I've been working with Darren on this. An equivalent call with the current args looks like Do you have a suggestion for how bursting could be accounted for on the command line args? Some options are :
|
66838c6
to
c19e57c
Compare
Y'all waiting on another review from @rkoster here @dbathgate? |
- allows enabling ssh connection rate limiting - adds configurable amount of max connections per duration window - adds configurable duration window Signed-off-by: Darren Bathgate <[email protected]>
c19e57c
to
2c023f4
Compare
We attempted to use the rate limiter library provided by Go, but it was not working as expected for our needs. The rate limiter was still tripping the firewall brute force rule, and was running slower than the original version. We reverted back to the version I have in this pull request, and have been running this successfully for over 3 months. |
Issue
Implementation
Example Usage:
Impact