хабраиндекс
73,94

DNS вашего домена: проблема и защита

В старые добрые времена наш проект неоднократно подвергался DDoS атакам разного типа, разной мощности и продолжительности. Мы отработали много разных методов защиты, а также оптимизировали саму структуру сервиса, частично в аспекте хостинга и расположения серверов. Важной частью выученного урока была правильная настройка DNS. Как показала последняя атака на Хабр и комментарии о проблемах, аналогичным нашим, не все уделяют защите DNS должного внимания, а очень и очень зря.



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

1. «Жили долго и счастливо» — это не про записи в зоне DNS. Это — первое, с чем возникает проблема при экстренной смене IP (да и не экстренной тоже). Давно прошли те времена, когда клиенты игнорировали низкий ttl и просто не позволяли использовать ttl ниже некоторого значения. Сейчас вполне нормально использовать время жизни записи продолжительностью в 5-10 минут. Да, это выражается в дополнительном трафике, но согласитесь, он ничтожен на фоне обычного трафика, генерируемого последующим http запросом.

Это наиболее понятный и интуитивный пункт. В случае атаки вы получаете возможность оперативно переключиться на другие сервера (если атака идет по конкретному IP). Это также поможет быстрее отключить упавшую ноду при использовании round-robin.

В случае атаки на конкретный IP мы начинаем играть в кошки-мышки с атакующим, а занятие это, честно говоря, неблагодарное и чаще всего бесполезное. Во первых, надо иметь достаточный пул IP для того, чтобы перебрасывать сайт с одного на другой, отправляя старый просто в никуда. Во вторых, атакующему это просто надоест и он решит проблему разом — атакованы будут ваши сервера имен, которые и отвечают за резолвинг домена.

2. Вы хостите NS на том же сервере(ах), что и сам сайт? Тогда проблемы идут к вам. Атаковав ваш сервер, злоумышленник получает двойную выгоду: и сайт положил, и доступ к обновленной информации о зоне клиентам перекрыл. Таким образом, даже с ttl, равным 60, сайт все равно останется недоступным в случае переключения на резервный IP, ведь эту информацию невозможно получить. Держать сайт и сервер имен на одной площадке пагубно и это сразу покажет себя с худшей стороны при первой же проблеме.

3. DNS хостинг не спасет отца русской демократии! Точнее, не каждый DNS хостинг. Даже используя внешние, платный или бесплатные сервисы DNS хостинга, вы не защищаете себя на 100%. Если данный сервис располагается на 2, 3 и даже 4 географически удаленных серверах, что якобы должно гарантировать 100% надежность, по факту никакой гарантии 4 сервера с каналом 10 mbps unlim ничего не дают. Они успешно забиваются мелким ботнетом, что куда дешевле для атакующего(заказчика), чем атаковать ваш супер-защищенный сайт с гигабитным каналом и уже налаженными схемами защиты. При использовании DNS хостинга важно убедится в том, что у самого провайдера услуг есть достаточная защита, ведь ляжет он — ляжете и вы, а об этом уже думают куда меньше, чем о первом пункте.

В качестве бонуса мы предлагаем таблицу с тарифами на DNS хостинг, которую удалось набросать по результатам выдачи первой страницы Гугла.
provider

# of domains

# of records

# of queries

minimum ttl

cost/month

cost/year

neustar

10

1,000

100,000

 
50

 
neustar

100

5,000

250,000

 
110

 
neustar

100

5,000

400,000

 
160

 
 
 
 
 
 
 
 
zonomi

1

10

 
 
0

0

zonomi

10

100

 
 
 
10

zonomi

15

150

 
 
 
10

 
 
 
 
 
 
 
dnsmax

 
25

20,000

300

3

36

dnsmax

 
100

50,000

60

12

144

dnsmax

 
500

100,000

1

25

300

 
 
 
 
 
 
 
dyndns

 
75

600,000

 
 
30

dyndns SMB

10

100

600,000

 
30

 
dyndns SMB

25

250

600,000

 
60

 
dyndns (custom)

 
 
 
 
>195

 
 
 
 
 
 
 
 
dnsmadeeasy

10

400

5,000,000

 
 
30

dnsmadeeasy

25

1,000

10,000,000

 
 
60

dnsmadeeasy

50

2,000

50,000,000

 
 
150



Как мы видим, низкий ttl при большой посещаемости обойдется нам в копеечку на всех сервисах, кроме dnsmadeeasy, из-за крайне низкого количества запросов, допустимых тарифом. Многие сервисы не дают возможности использовать слишком низкий ttl, в частности — бесплатные. Достаточно хорошим, но дорогим показалось решение от dyndns, описанное в последней строке.

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

Подведем итоги:
— ttl лучше ставить логичный, по факту, это индивидуально для каждого ресурса. Слишком высокий — опасно, а слишком низкий — дорого.
— сервера имен лучше использовать внешние и точно не располагать на одной площадке с сайтом
— защищайте сервера имен не меньше чем сайт и к выбору DNS хостинга отнеситесь не менее серьезно, чем к хостингу сайта.

Кроме написанных выше рекомендаций можно еще обсудить такие замечательные возможности грамотной работы с DNS как round-robin, load-balancing и даже DNS-firewall, которые могут сделать жизнь многих администраторов легче и сказочней, но это уже тема для отдельной статьи.
+37
4 октября 2010, 14:38
59
smscoin 17,8 G+

комментарии (52)

+2
hippoage #
Есть подозрение, что надо использовать DNS от Яндекса, они с атаками наверняка не раз справлялись.
+1
smscoin #
а Яндекс предоставляет DNS хостинг?
+4
vanaf #
+3
smscoin #
«подключение и настройка Почты и Jabber на вашем домене произойдёт автоматически.» это наверное все таки не для всех подходит. Хоть тоже вариант.
0
SonicGD #
Это в любой момент можно поправить на нужные конкретно вам записи.
+1
smscoin #
Ну для многих это крайне достойный вариант
0
SonicGD #
Ну я об этом и сказал. Сам уже перенёс туда часть своих доменов. Очень удобно.
+2
smscoin #
раз уж вы пользуетесь, поделитесь информацией. Какой минимальный ttl, какие записи поддерживаются, поддерживается ли round-robin?
+1
batollo #
Это необязательная компонента.
0
Paskal #
Глупый-глупый вопрос: я меняю dns сервера на яндексовые, а уж в их интерфейсе ставлю нужные мне ip адреса? То есть действительно переносятся только dns, а я могу по-прежнему использовать свой хостинг, со всеми поддоменами, cname записями, etc?
0
vanaf #
видимо да.
+1
nateless #
pdd.yandex.ru
+2
nkg #
При использовании сервиса Яндекс.почта для домена, можно делегировать домен на Яндекс, после чего доступен редактор dns. Видимо это имелось в виду
+1
Abyasov #
Да, в рамках сервиса «Почта для домена» http://pdd.yandex.ru/help/section9/
+1
DarkTwin #
RU-CENTER?
Диапазон допустимых значений: от 5 минут. Если ни чего не путаю.
Primary-Standard + Secondary = 750р. в год.
А дорого или нет это вопрос.
+1
lenar #
у руцентра в ДНС изменения вносятся в течение 4-х часов, вообще полный бред.
0
DarkTwin #
А ссылку на этот момент можно?
0
lenar #
Это пишется после сохранения изменений.
0
DarkTwin #
Ну так это везде пишется. Так как пока обновятся сервера у клиентов может пройти и день и три. Это не значит что на самом ру-центре изменения вносятся 4 часа.
0
lenar #
там пишется, что именно на сервера руцентра изменения внесутся в течение 4 часов, а про клиентские сервера они с таким же успехом могли и 24 часа написать
0
DarkTwin #
«Редактирование файла зоны *****.RU
Изменения приняты и будут внесены на DNS-сервер в течение 4 часов „
Не уверен что это то о чем вы думаете. Лучше что бы ответили специалист.
0
lenar #
А я уверен. Какой еще такой сервер может иметься в виду, если не сервер руцентра, я же на нем данные редактирую.
0
DarkTwin #
Дело в том что я вижу изменения на своем DNS уже через час или два.
А что имеет ввиду ру-центр надо спросить у них самих.
0
lenar #
видимо, «в течение» означает, что это может произойти и через минуту, но они не обещают
+1
david_mz #
С атаками на себя — возможно, но будут ли они продолжать поддерживать Вашу запись, если атаки идут на неё? Им-то какой интерес вас прикрывать?…
+1
lasthero #
Имидж компании, лояльность пользователей – это дорого стоит в наше время.
+2
david_mz #
Не стоит связывать имидж компании с беспрекословным удовлетворением любого запроса одного конкретного бесплатного (!) клиента.

Ну, то есть, я рад был бы с Вами согласиться, но исходя из опыта — вряд ли оно будет так.
0
hippoage #
Думаю, большинство атак они просто не заметят, т.к. все настроено и мощности есть.

В обсуждении на этом сайте задавали такой вопрос одному из сотрудников Яндекса, сейчас отключать не собираются.
+1
equand #
Тут 40 гбит/с недавно вдарили, не подскажете какой же днс-хостинг такое выдержит? У нас всю подсеть лупили таким, найти бы козлов.
+3
smscoin #
Ну от лома нет приема. И корневые сервера атакуют периодически. А такой мощностью и датацентр перекрыть можно, это за что вас так?
+2
equand #
За недобросовестного клиента, который висел у одного из реселлеров с IP из нашей сети. Залили аплинки у дц, до сих пор разгрести не можем, клиентам сложно объяснить, что это форс-мажор, это как ядерная бомба, только в сетевом масштабе.
0
dorongov #
В каком смысле недобросовестного?
+1
equand #
В прямом, нарушившим ToS. У нас защита от ддоса только для белых проектов.
Человек решил что нелегальная проституция в России в Европейском дц внезапно становится белой, я уж не говорю, что даже в нашей свободной в этом плане стране нужно иметь регистрацию, налоговые номера и предупреждение для запрета входа для детей. В общем некрасиво вышло, тем более что у реселлера все новомодно-автоматизировано, только логи, да читай.
0
iStyx #
А как же установка A в 127.0.0.1? :)
0
bondbig #
боты долбят по ip, ДНС за них резолвит мастер перед отправкой команды. Как правило.
+1
iStyx #
Хм, согласен, логично. Но когда бомбили нас — боты подхватывали новый адрес в RR практически сразу. Так что не все боты такие умные ;)
+1
bondbig #
да, согласен, во время атаки нужно все способы попробовать.
+1
batollo #
Яндекс выдержит, полагаю. Попробуйте на pdd.yandex.ru (Правда там ещё при прикреплении домена MX-записи изменяются на записи для услуги Яндекс.Почта для домена, но их можно изменить). Ну а если он не выдержит — никто не выдержит, думается мне.
+1
equand #
Атакуют не DNS, смотрят A запись и потом подсеть всю через whois и атакуют. Есть информация, что заказ гос. структур российских, поэтому уже по всей Европе этого товарища гоняют, никто не держит его долго, сейчас в Екателе осел.
Собственно, чур меня, как говорится, знал бы что висело сам бы зануллроутил, но абуз не поступало.
+1
batollo #
А, так это получается сам сервер атаковали. Просто вы про днс-хостинг спросили.

Тогда сложно сказать, я предоставлением подобного масштаба не занимался, Скалакси может? У них там облака, расширяемость, некая продвинутая защита и всё такое. Могут в тест-драйв дать посмотреть, но цены по сравнению с колокешеном кусаются.
+1
equand #
Вот уж не знаю, Скалакси с 80 гбит/с, а вот в мир у них сколько? В мир зальют и все тут или если в РФ органы, так они без проблем их оставшиеся линки зальют.
+3
bondbig #
В случае атаки на конкретный IP мы начинаем играть в кошки-мышки с атакующим, а занятие это, честно говоря, неблагодарное и чаще всего бесполезное.
Не соглашусь. Ботнет — штука тяжелая и неповоротливая, направить всех ботов в новое русло непросто, это займет некоторое время. А если повесить «красную тряпку», то можно вообще надолго отвлечь внимание ботнета. Мы вешали статическую копию главной страницы, так ботнет еще 2 месяца долбил старый адрес. А смыть просто большим потоком трафика (десятки гигибит/с) можно кого угодно, другое дело, что стоить это будет атакующему немало.
0
nateless #
Не просто немало, а довольно дорого. По словам самих же дроповодов, за сутки DDoS`а теряется около 25% ботнета, которым была отдана команда. Если исходить что средняя цена 1000 ботов составляет $1000, то чем сильнее атака, тем дороже выходит. Уронить хорошо настроенный сервер без каталиста перед ним получится при цене от $1000 в сутки.
0
bondbig #
без каталиста
а при чем тут коммутаторы сиско? Или вы путаете с модулями Detector/Guard для шеститонников? Дык шеститонник в данном случае всего лишь шасси для самостоятельных девайсов.
+1
nateless #
Да, я имел ввиду собранное шасси :)
+1
equand #
Поверьте 1000 ботов хрень, было 300000 ботов, вполне возможно был спуф, хотя коннекты были состоявшиеся на http с конкретным запросом. И ничего 1гбит/с справлялся без проблем. До сих пор эта таблица сохранена на анализ, т.к. туда еще и легитимники попали случайно. Фильтруем на FreeBSD, полет нормальный.
Хуже всего это заливание канала. И зачем тут гарда ставить не пойму, у нас сервер для этого конечно не «детский» стоит, но LA выше 3х я еще не видел, а сервер дешевле гарда по стоимости вышел.
+1
smscoin #
после некоторого количества атак, мы перестали атаки меньше 10к уников за таковые считать. Опять же, атаки разные, бывают на весь спектр, от udp-флуда до забивания канала на сотни тысяч источников.

И стоимость такого намного меньше, по той информации, которую выудили в свое время (было интересно, сколько же потратили за месяц атаки на нас)
0
saytik #
а чем плохо размещать у регистратора?
например домены зарегены в r01.ru там же размещены, а «А» запись ведет на хостинг непосредственно. денег не просят
+2
nateless #
Отсутствие roundrobin, выскоие TTL и ожидание пропагейта, нет распределенности NS`ов, нет master\slave записей, нет vanity.
+1
Plohich #
использование NS регистратора тоже вариант, тем более очень часто он бесплатный. Но все описанные ограничения так или иначе имеют место быть и когда мне понадобилось сделать нечто вполне стандартное, но недопустимое регистратором — пришлось перейти на профессиональный DNS хостинг. Но для сайтов-визиток ничего себе вариант.
0
xn__p2a #
Вы пишете на техническом ресурсе статью для администраторов по настройке DNS и при этом даёте ссылку на русскую википедию с пояснением, что же такое DNS.
Неужели вы действительно считаете, что из читателей этой статьи кто-то этого не знает?
+1
smscoin #
Пост предназначен для широкой публики, не содержит никакой глубокой технической информации вроде разбора типов записей, хоть намек на продолжение статьи в этом аспекте присутствует в последнем абзаце. Не все читатели Хабра профессионалы в сфере веба, а как показал опыт и профессионалы часто не обращают внимание на проблемы описанные в статье, пока «гром не грянет».

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

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.