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

No one assigned

    Labels

    Feature RequestA feature you'd like to see in Slips

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions