bind9/lib/ns
Aram Sargsyan c7f79a0353
Add a quota for SIG(0) signature checks
In order to protect from a malicious DNS client that sends many
queries with a SIG(0)-signed message, add a quota of simultaneously
running SIG(0) checks.

This protection can only help when named is using more than one worker
threads. For example, if named is running with the '-n 4' option, and
'sig0checks-quota 2;' is used, then named will make sure to not use
more than 2 workers for the SIG(0) signature checks in parallel, thus
leaving the other workers to serve the remaining clients which do not
use SIG(0)-signed messages.

That limitation is going to change when SIG(0) signature checks are
offloaded to "slow" threads in a future commit.

The 'sig0checks-quota-exempt' ACL option can be used to exempt certain
clients from the quota requirements using their IP or network addresses.

The 'sig0checks-quota-maxwait-ms' option is used to define a maximum
amount of time for named to wait for a quota to appear. If during that
time no new quota becomes available, named will answer to the client
with DNS_R_REFUSED.
2024-06-10 17:33:08 +02:00
..
include Add a quota for SIG(0) signature checks 2024-06-10 17:33:08 +02:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
client.c Add a quota for SIG(0) signature checks 2024-06-10 17:33:08 +02:00
hooks.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
interfacemgr.c Fix flawed logic when detecting same listener type 2024-01-12 17:59:53 +02:00
listenlist.c Integrate TLS cipher suites support into BIND 2024-01-12 13:27:59 +02:00
log.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
Makefile.am Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
notify.c convert TSIG keyring storage from RBT to hash table 2023-06-14 08:14:38 +00:00
probes.d Add a probe when the response rate limiting drops or slips query 2023-08-21 18:39:53 +02:00
query.c Keep track of the recursive clients highwater 2024-05-10 12:08:52 +03:00
server.c Add a quota for SIG(0) signature checks 2024-06-10 17:33:08 +02:00
sortlist.c Convert rwlock in dns_acl to RCU 2023-10-13 14:44:40 +02:00
stats.c Return the old counter value in isc_stats_increment 2024-05-10 12:08:52 +03:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
update.c Log error when update fails 2024-06-10 16:55:12 +02:00
xfrout.c Do not lock workers when using -T transferslowly/transferstuck 2024-02-22 00:09:04 +02:00