Pull to refresh
0

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

Reading time3 min
Views14K
В старые добрые времена наш проект неоднократно подвергался 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, которые могут сделать жизнь многих администраторов легче и сказочней, но это уже тема для отдельной статьи.
Tags:
Hubs:
Total votes 49: ↑43 and ↓6+37
Comments52

Articles

Information

Website
smscoin.com
Registered
Founded
2006
Employees
11–30 employees
Location
Израиль