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

Использование DNS CName Security

Наш администратор DNS сказал мне, что использование записей CNAME не является «передовой практикой» и представляет собой уязвимость системы безопасности. Это правда? Я всегда использовал записи CNAME, чтобы уменьшить накладные расходы на управление записями DNS.

% dig www.google.com a

; <<>> DiG 9.6.1-P1-RedHat-9.6.1-6.P1.fc11 <<>> www.google.com a
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8426
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;www.google.com.                        IN      A

;; ANSWER SECTION:
www.google.com.         532778  IN      CNAME   www.l.google.com.

и т.д....

Если этого достаточно для Google, достаточно для всех.

Конечно, если цель CNAME находится вне вашей зоны, то это информация, которую вы не контролируете. Но если и левая, и правая стороны находятся в вашем собственном домене, то никакого риска нет!

Я бы сказал, что это неправда, если только не будет указана достоверная информация, подтверждающая обратное.

Существует потенциальная проблема, если у вас есть CNAME, относящиеся к зонам, которые не контролируются вами, поскольку они могут неожиданно изменить конечный результат, но это совершенно нормально: «доверяете ли вы третьей стороне?» проблема, а не специфическая для DNS.

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

Это FUD. Как уже упоминалось, единственный способ, которым CNAME является менее безопасным, чем запись A, - это указывать на сторонний домен, который вы не контролируете. Если он относится к другой записи в том же домене, тогда все в порядке.

Он может быть сбит с толку, потому что определенные типы записей (например, записи MX!) Не могут указывать на CNAME, они должны указывать на записи A согласно RFC. Это не проблема безопасности как таковая, это скорее проблема «вы можете не получать электронную почту, отправляемую через строгие MTA RFC».

Google использует таблицы для разметки своих страниц. Это не потому, что это хорошо для всех, а потому, что они хотят поддерживать все остальные браузеры.

CNAME чаще всего используются неправильно. Но это, конечно, не проблема безопасности. CNAME в другой домен также не является проблемой безопасности. Это все равно что сказать, что 302 редирект для аутентификации OpenID - это проблема безопасности. Если вы поместите что-то в значение записи DNS, то вы несете ответственность за то, что сделали. Возможно, вы действительно хотели разместить там другой домен. Никаких проблем с безопасностью.

Это семантическая проблема (если хотите, религия). Запись CNAME предназначена быть «каноническим именем» для набора других имен. Видеть http://tools.ietf.org/html/rfc1034 стр. 14. Т.е. у вас есть www.dom.tld, www1.dom.tld и т. д. Все эти имена имеют записи A, псевдонимы адресов IPv4. Теперь вы добавляете запись www CNAME www1, и это означает, что из двух псевдонимов www является каноническим, основным. Этот механизм можно использовать, чтобы сообщить сканерам поисковых систем, какие из ваших имен являются псевдонимами для другого, а какое является основным. Но вместо этого они используют 301 редирект с www.dom.tld на dom.tld или наоборот, в зависимости от их обычаев.

Я не говорю, что нельзя использовать CNAME в качестве псевдонимов. Это работает, почему бы и нет. Так работало много лет, возможно, это новая правда, например, системы должны со временем развиваться и т. Д.

Для записей адресов, на которые не ссылаются записи, запрещающие это, такие как записи NS или MX, они подходят. Однако я был бы осторожен, если они пересекают зону (даже ту, которую вы контролируете), поскольку тогда потребуются дополнительные запросы DNS для разрешения цели имени.