Семестр Amplified reflected attack
новинка для меня, и у меня есть несколько вопросов по ней.
Я слышал, что это чаще всего происходит с DNS-серверами - это правда?
Как от этого защититься?
Как узнать, можно ли использовать ваши серверы в такой атаке - это проблема конфигурации?
Во-первых, этот вид атаки (в основном) не нацелен на сам DNS, как предполагает ваше название. Это, конечно, создаст дополнительную нагрузку на DNS-серверы, но основная цель - устроить DDoS-атаки кому-то другому. Плохая конфигурация сервера может усугубить ситуацию, но, в конце концов, эта проблема присуща структуре DNS и UDP и, фактически, любому протоколу связи без сохранения состояния.
В основном это работает так: злоумышленник отправляет обычные (DNS) запросы на (DNS) сервер. Эти запросы создаются так, как будто они исходят из целевой системы. DNS-сервер теперь отвечает на запрос, отправляя ответ обратно своему предполагаемый происхождение - жертва. Вот почему это называется отражение атака.
Это возможно, потому что вы можете проверить источник связи без сохранения состояния (например, DNS через UDP) настолько хорошо, насколько вы можете доверять адресу отправителя на открытке. Сервер просто не имеет возможности решить, является ли запрос законным или частью такой атаки. DNS - это просто самый популярный протокол здесь, потому что для него существует множество серверов, и вам не нужно много технических знаний или специального оборудования, чтобы (неправильно) использовать его.
Чтобы усугубить ситуацию (и вообще эффективно атаковать), посмотрите на усиление часть. Было бы неплохо, если бы трафик злоумышленника был равен по размеру результирующему трафику. Единственным преимуществом для злоумышленника будет то, что его адрес будет скрыт за DNS-сервером. Он мог бы напрямую подделать адрес отправителя, совершенно не нужно было бы перенаправлять через DNS. Но ответы DNS, и это еще один момент, почему DNS здесь так популярен, могут быть много больше, чем вопрос. Вы можете найти разные числа в зависимости от используемых запросов, но может доходить до 1:60 если сервер достаточно дружелюбен для выполнения рекурсивные запросы для тебя. Таким образом, злоумышленнику не нужно много компьютеров под его управлением для создания большого количества вредоносного трафика.
Поскольку вы можете легко найти сотни и тысячи «открытых» DNS-серверов в общедоступном Интернете, вы можете быстро подсчитать, насколько мало работы должен выполнить злоумышленник, если каждый открытый DNS-сервер, который он знает, будет отражать его запросы, усиленные в шестьдесят раз, к цели. Как я сказал в начале, действительно хорошего способа противодействовать этому нет. Естественно, многие DNS-серверы открыты для всех, а не должны быть открыты из-за неправильной конфигурации. Но существует столько же открытых серверов, которые должны быть открыты, потому что именно для этого они предназначены.
Хотя вы не можете сказать, является ли запрос частью атаки или нет, единственный вариант - больше не запускать сервер. Вы можете возиться с ограничением скорости и другими игрушками, но вы не можете полностью избавиться от этого. Если вы предоставляете DNS для развлечения, вы можете занести в черный список IP-адрес источника запросов. Но если вы будете в большем масштабе, это повредит жертве еще больше. Помните, что все, что вы можете видеть на DNS-сервере, - это адрес жертвы. Представьте, что ваша компания подвергается атаке через DNS вашего провайдера, и ваш провайдер решает отключить службу DNS для вашей компании. Злоумышленник может получить миллиард бонусных баллов за отказ в обслуживании.
Как бы то ни было, эти атаки происходят днем и ночью, и они считаются «фоновым шумом» Интернета. Если вы настроите общедоступный (рекурсивный) DNS-сервер, не займет много времени, прежде чем вы станете участником случайных атак. Конечно, иногда все становится совсем плохо, когда большие инфраструктуры (например, даже корневые DNS-серверы) используются неправильно для усиления, но в таких случаях персонал принимает превентивные контрмеры, пока атака не снизится до «нормального» уровня.
Пока об обучении. Чтобы ответить на ваш вопрос, наконец:
Вы знаете, что ваш сервер уязвим, если он отвечает на запросы без ограничений. Период. Если вы обслуживаете рекурсивные запросы, ваш сервер может генерировать указанное соотношение 1:60 для злоумышленника. Если он обслуживает только нерекурсивный, это не так плохо, но все же ...
Так...
allow-recursion
и allow-query
директивыallow-recursion
к «нет»;.
iptables -A INPUT -p udp --dport 53 --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
Теперь, имея в виду эти моменты, вам должно быть хорошо идти. Время от времени на вашем сервере все еще может быть вредоносный трафик, но не в таком количестве, которое мешает вам спать спокойно.