Skip to content

Implement DoS protection #1767

@AlyaGomaa

Description

@AlyaGomaa
  1. Count flows per min during the input

min_threshold is 2000 flows per min.

  1. If the count is below the min_threshold, work normally
  2. If the count is above the min_threshold, do sampling like this
  3. Sample with ratio sr for 1 min duration. (The sample ratio depends on the flows/min value)
    Flows/min is fm
    sample ratio(fm) = (X^2)/20000
    If X = 2000, sr = 200
    If X = 3000, sr = 450
    If X = 4000, sr = 800
  4. After 1 minute sampling, we go back to process all flows to count the flows/min again
  5. Count how many flows/min (only 6 sec, and multiply by 10)
  6. do again the check

Metadata

Metadata

Assignees

Labels

Feature RequestA feature you'd like to see in Slips

Type

No type
No fields configured for issues without a type.

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions