Dampening für Bind-9.9.7-P3

Gestern hatte ich den Patch für Bind 9.9.7 veröffentlichungsfähig gemacht. Und inzwischen kann ich einiges nachschieben. Es gibt eine neue Konfig-Option, die genauer Duplicate Queries behandelt. Und das Verhältnis zu Response Rate Limiting ist geklärt.

Hier erstmal der Patch: bind-9.9.7-P3-dampening.patch

Ich habe RRL und Dampening zusammen ausprobiert. Es tut einfach.

Dabei ist mir aufgefallen, daß RRL deutlich eher anspringt und offenkundig legitime Client, also z.B. Windows Maschinen, die ihren wpad-Eintrag oder ihren lokalen Hostnamen suchen, erwischt.

Ebenfalls auffällig ist, daß glücklicherweise nur NXDOMAIN und REFUSED vom RRL limitiert werden. Offenkundig sind die Clients doch nicht so legitim.

Auf der anderen Seite sprang Dampening an, als jemand versucht die Reverse DNS Zonen (mit DNSSEC) zu enumerieren. Und das unabhängig davon, ob wir die konkrete Zone haben oder nicht. Es handelt sich mit hoher Wahrscheinlichkeit um einen Angriff gegen einen Dritten, der dank der klaren Struktur von reverse DNS frei am RRL-Limit vorbei zu segeln versucht. Den hat das Dampening erwischt.

Natürlich finde ich es unschön, wenn RRL etwas besser macht als ich. Und deswegen habe ich Dampening eine neue Option spendiert.

  • score_duplicate_query greift, wenn jemand mehrfach hintereinander die exakt gleiche Frage (Name und Typ) stellt. Wie immer wird die Anzahl der Wiederholungen mit der Strafpunktzahl multipliziert.
  • score_duplicate_id ist der neue Name von score_duplicate, und macht(e) das gleiche auf der Query-ID. Übergangsweise werden beide Konfig-Optionen verstanden.

Das Ergebnis kann sich sehen lassen: Statt in vier Stunden wird ein solcher Versuch, unter dem Radar von RRL durchzufliegen innerhalb von vier Minuten erkannt und blockiert.

Ich wünsche viel Spaß und schreibt mir, was Euch auffällt.

Avatar
Lutz Donnerhacke 14/09/2015 10:10 am
Es waren Compilerfehler wegen eines fehlerhaften Patches. Zwei Variablen hatten die falschen Bezeichner und die printf-Ausgabe von "sizeof" ist etwas undefiniert. Eigentlich müßte man "%zu" nehmen, aber ich trau mich nicht und habe auf "unsigned long" umgestellt. Der Patch ist aktualiseriert.
Avatar
gert 11/09/2015 8:51 pm
--enable-dampening ohne --enable-dampening-log führt zu compile-time-Fehler "ETOOMANYVARIANTS"...

Ansonsten vielen Dank, geht Anfang nächster Woche live.

Total 2 comments

Post a comment

Related content