Привязать ограничение скорости DNS и значения для ответов в секунду и окна

В моем DNS-сервере named.conf я вижу

    rate-limit {
            responses-per-second 5;
            window 5;
    };

Что это на самом деле означает? И это может вызвать проблемы клиентов DNS? Это слишком узкая конфигурация?

4 ответа

Решение

Это ограничивает количество идентичных ответов, которые один DNS-клиент может получить за секунду. window 5 опция позволяет получить 5*5 ответов.

"Идентичные ответы" и "один DNS-клиент" - это несколько неочевидные термины, прочитайте их для получения дополнительной информации: http://web.archive.org/web/20140209100744/http://ss.vix.su/~vjs/rl-arm.html.

Как правило, полезно ограничивать скорость - может помочь вам в случае атаки DOS когда-нибудь. Значения по умолчанию должны быть в порядке в большинстве случаев.

Вы должны прочитать справочное руководство администратора для BIND 9.9.

В основном, responses-per-second количество идентичных ответов, которые могут быть отправлены одному получателю в секунду. Определения хитры.

Один пункт назначения - это блок сетевых адресов, размер которого настроен в ipv4-prefix-length или же ipv6-prefix-length применимо. Итак, если ipv4-prefix-length 24, и оба 192.0.2.1 а также 192.0.2.2 запрашивают DNS-сервер, они разделяют эту квоту и могут отправлять только столько запросов между двумя из них.

Идентичные ответы - это ответы на запросы для определенного типа RR для определенного существующего имени или для несуществующего имени. Следующие запросы все разные:

IN A example.net.
IN A www.example.net.
IN AAAA example.net.
IN A nonexistent.domain.example.net.

Тем не менее, все следующие запросы идентичны (при условии nonexistent.domain.example.net. и т.д. соответствуют своим именам)

IN A nonexistent.domain.example.net.
IN A nonexistent.domain2.example.net.
IN SOA other.nonexistent.domain.example.net.

window усложняет вещи еще немного. Это количество секунд, за которое может быть наложена квота. Умножив window а также responses-per-second дает максимум, на который может быть положительной любая квота, или, в более общих чертах, пакетная мощность.

Чтобы дать общий пример:

Вы нерекурсивный, авторитетный сервер имен для example.net., Представьте, что за последние 10 секунд DNS-трафик вообще не был замечен, и конфигурация, о которой идет речь, применяется глобально. Следующие события происходят последовательно:

  1. Хост 198.51.100.1 отправляет 100 запросов для IN NS example.net., 25 будет разрешено, а остальные 75 будут игнорироваться.
  2. Хост 198.51.100.1 отправляет 100 запросов для IN A nonexistent.example.net., 25 будет разрешено, а остальные 75 будут игнорироваться.
  3. Хост 198.51.100.1 отправляет 1 запрос для IN MX nonexistent-domain.example.net. Он будет игнорироваться, так как был достигнут предел для несуществующих доменов.
  4. Хост 198.51.100.1 отправляет 1 запрос для IN A example.net., Это разрешено
  5. Хосты с 192.0.2.1 по 192.0.2.50 отправляют по одному IN NS example.net., 25 из них получают ответы, а остальные 25 игнорируются; квота для 198.51.100.0/24 не применяется к этим хостам, но они разделяют квоту для 192.0.2.0/24.
  6. Проходит одна секунда
  7. Хосты с 192.0.2.26 по 192.0.2.50 повторяют свой запрос IN NS example.net., 5 из них получают ответы, а остальные 20 игнорируются, поскольку квота пополняется только на 5 запросов в секунду.
iptables -A INPUT -p udp --dport 53 -m recent --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP 

IPtables может работать так же хорошо. Полностью удерживает трафик вне службы, если обнаружена атака.

Я не думаю, что это хорошая идея, чтобы ограничить оценку, спросите себя: вы также ограничиваете ответы веб-сервера? Как вы думаете, почему ответы DNS менее важны, чем ответы веб-серверов?
И даже если вы ограничите скорость, эти 5 запросов в секунду звучат очень низко.

У меня очень близкая конфигурация (без значения окна 5) на рабочем сервере привязки 9, который подвергается атаке усиления. Я выполнил захват пакетов DNS, и сервер правильно отвечал на законные запросы и не отвечал на запросы атаки. Это был захват 5000 пакетов за период около 30 минут. С моей точки зрения, эти ценности полностью предотвратили Атаку.

Другие вопросы по тегам