New RRL classes, fixed logging, buckets cannot reset when in sstart.
New classes: * ANY (for ANY qtype) * DNSSEC (for qtype = DNSSEC-related record) Now logging when netblock enters/leaves rate limiting. Calculated by the previous window when dt>0 and number of available tokens is zero. Buckets under a slow-start phase cannot reset on subsequent collisions, this is to avoid potential collision attack when two precalculated packets hit the same bucket regularly. This could happen in a legitimate traffic as well (less probably), if it does, the clients won't get completely denied, but will share the remaining rate until the slow-start phases out (1 time window). refs #2136
Showing
- src/knot/server/rrl.c 57 additions, 32 deletionssrc/knot/server/rrl.c
- src/knot/server/rrl.h 2 additions, 2 deletionssrc/knot/server/rrl.h
- src/knot/server/udp-handler.c 12 additions, 2 deletionssrc/knot/server/udp-handler.c
- src/tests/knot/rrl_tests.c 1 addition, 1 deletionsrc/tests/knot/rrl_tests.c
Please register or sign in to comment