Назад | Перейти на главную страницу

Каковы последствия использования правила DROP по умолчанию на общедоступном DNS-сервере

Авторитетный DNS-сервер RHEL 6.6. Прямо сейчас в IPtables цепочка INPUT по умолчанию принимает значение ACCEPT.

:INPUT ACCEPT [0:0]

В последнее время у меня возникли некоторые проблемы с его атакой, и мне просто интересно, что будет затронуто с точки зрения службы DNS, если я изменю политику по умолчанию на DROP?

:INPUT DROP [0:0]

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

Чтобы дать представление о том, что у меня есть, вот содержимое файла / etc / sysconfig / iptables.

*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1015316:198598633]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s X.X.X.X/24 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -s X.X.X.X/18 -p icmp -m icmp --icmp-type 8 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -m state --state NEW -j ACCEPT
-A INPUT -s X.X.X.X/32 -j DROP
-A INPUT -s X.X.X.X/32 -j DROP
-A INPUT -j DROP
-A OUTPUT -d X.X.X.X/20 -j DROP
COMMIT

Поскольку вы не рассказываете о природе атаки, которую вы испытали, мой совет также будет более общим.

  • Вы используете --state, который загружает модуль conntrack. Это не общеизвестно, но это всегда следует рассматривать как крайний вариант для служб, которые могут ожидать увидеть большой объем запросов как часть нормальной работы. Как только таблица сеансов заполнится, ваш сервер начнет отбрасывать пакеты, и предупреждения об этом начнут появляться в dmesg. Даже если бы мы предположили, что этого не должно происходить на авторитетном DNS-сервере, если только вы не участвуете в атаке (и, следовательно, вы не будете использовать sysctl для повышения лимита), это плохая стратегия, потому что вы отбрасываете хорошо пакеты вместе с плохими. Было бы гораздо предпочтительнее исследовать использование новых функций ограничения скорости клиентов BIND, поскольку вы отказываетесь от право трафик в этой точке.
  • RE: стандартная политика DROP в таблице OUTPUT, ожидайте увидеть сообщения журнала о невозможности разрешения имен. NS записи, которые вы обслуживаете, запускают внутренний поиск этих записей (известных как дополнительная обработка раздела), и если вы не на 100% уверены, что у вас нет делегирования, вы увидите эти сообщения журнала. Даже если у вас нет делегаций, разумно ожидать, что они будут присутствовать в будущем. Поэтому рекомендуется добавить порт 53 в таблицу OUTPUT, несмотря на то, что ваш сервер не является рекурсивным.

Наконец, и, возможно, самое главное, крайне маловероятно, что вы действительно получите какой-либо выгода не ставить здесь межсетевой экран на основе пакетов.

  • Большинство атак на основе DNS используют Нормальная операция DNS-сервера. Брандмауэр этого не остановит. Минимизация вашей поверхности для атаки DNS - это все, что вам нужно для вашего сервера имен и конфигурации сети.
  • Брандмауэр не отправляет пакеты. Он просто отбрасывает их до того, как их увидит принимающая программа. Если ваш канал затоплен входящим трафиком, наводнение все еще происходит, и вы все еще не работаете. Если ваш канал затоплен исходящим трафиком с вашего сервера как часть атаки, вам необходимо решить проблему напрямую, и ваши вопросы и ответы на самом деле не объясняют природу атаки.

С учетом вышеперечисленных факторов включение iptables в этом сценарии, вероятно, принесет мало пользы, которую невозможно было бы лучше решить с помощью других стратегий. Таким образом, использование этого подхода по большей части увеличивает шансы того, что вы потеряете законный трафик во время атак, когда этого можно было избежать.