Чи є DNS-записом з незахищеними кодами погана практика?


18

Я попросив свого хостера додати три субдомена, які вказують на IP запису A. Здається, він просто додав запит DNS-символу з підстановкою, оскільки будь-який випадковий піддомен вирішується до моєї IP-адреси зараз. Для мене це нормально з технічної точки зору, оскільки немає інших субдоменів, які б вказували більше ніде. Тоді знову мені не подобається, що він не робить того, про що я просив. І тому мені цікаво, чи є інші причини сказати йому змінити це. Чи є?

Єдиний мінус, який я виявив - це те, що хтось міг посилатися на мій сайт за допомогою http://i.dont.like.your.website.mywebsite.tld.


8
Хтось може зв’язатися з вашим сервером, використовуючи " i.dont.like.your.website.mywebsite.tld ", але ваш сервер не повинен відповідати, якщо він не налаштований відповідати на нього (через хостинг-заголовки або віртуальні хости).
joeqwerty

6
У деяких випадках можуть знадобитися маски. Наприклад, веб-сайти з багатьма орендарями, такі як Wordpress, можуть бути налаштовані для автоматичного нерестування нових екземплярів за допомогою піддоменів - наприклад, site1.blog.example.com, site2.blog.example.com - з підстановкою для цього *.blog.example.com, не потрібно переходити до налаштування кожного з них окремо.
jscott

Відповіді:


16

Якщо ви коли-небудь помістите комп'ютер у цей домен, ви отримаєте химерні збої DNS, де, намагаючись завітати на якийсь випадковий сайт в Інтернеті, ви замість цього приїдете до свого.

Поміркуйте: у вас є домен example.com. Ви налаштовуєте свою робочу станцію і називаєте її. ... скажімо , давайте, yukon.example.com. Тепер ви помітите, що в /etc/resolv.confньому є рядок:

search example.com

Це зручно, оскільки це означає, що ви можете робити wwwпошукові імена хостів, наприклад, які потім www.example.comавтоматично шукатимуть для вас. Але у нього є темна сторона: якщо ви відвідаєте, скажімо, Google, тоді він здійснить пошук www.google.com.example.com, і якщо у вас є DNS-код, що вирішує, буде вирішено для вашого сайту, і замість того, щоб дістатися до Google, ви перейдете на свій власний сайт.

Це в рівній мірі стосується сервера, на якому ви працюєте на своєму веб-сайті! Якщо коли-небудь доводиться викликати зовнішні служби, то пошуки імені хоста можуть вийти з ладу таким же чином. Так, api.twitter.comнаприклад, раптом стає api.twitter.com.example.com, маршрути прямо на ваш сайт, і, звичайно, не вдається.

Ось чому я ніколи не використовую підстановку DNS.


3
@ChrisLively звинувачуйте сучасні системи Linux у тому, що вони "корисні" та додають її. BTW, використання ".local" насправді є поганою практикою, причому не лише в Windows.
Майкл Хемптон

6
Я насправді блогів про це, що стосується середовища Windows . Не кажучи вже про те, що принаймні три групи подавали заявки на .local TLD тепер, коли ICANN продає їх будь-кому, хто має достатньо істотний гаманець. .localне зарезервовано і не слід використовувати. Це порушує RFC і зовсім не є необхідним. Найкращою практикою є використання делегованого субдомену третього рівня для внутрішніх ресурсів internal.company.com. Тільки тому, що ви бачите щось багато, це не робить правильно.
MDMarra

2
Не могли б ви вказати мені на розділ RFC 2606, який резервує .local? Я читав цей RFC щонайменше десяток разів з людьми, які використовують його в цьому аргументі, і можу з впевненістю сказати, що його там немає.
MDMarra

2
@ Zypher Це насправді ніколи не рекомендували Microsoft (це також розблоковується в моєму дописі на блозі. Почитайте його, це добре), але той факт, що SBS, що постачається .localза замовчуванням, дійсно зробив MS схожим на безлад у цьому плані. SBS поставляється з цією конфігурацією, тому що вона була призначена для нетехнологічних замовників з низькими технічними знаннями. Це був шлях найменшого опору, але фактичні документи AD рекомендують субдомен третього рівня ще в епоху W2K.
MDMarra

3
О, і через кілька років буде дуже складно отримати сертифікати для .local, що означає, що UCC / SAN-серти для Lync / Exchange повинні бути підписані внутрішнім ЦА, що робить це боляче, якщо у вас приєднався зовнішній не-домен користувачів.
MDMarra

14

Чи є DNS-записом з незахищеними кодами погана практика?

Особисто мені це не подобається. Особливо, коли в цій галузі є машини. Друкарські помилки не перевірені, помилки менш очевидні ... але в цьому немає нічого принципово поганого.

Єдиний мінус, який я виявив - це те, що хтось може перейти на мій сайт за допомогою http: //i.dont.like.your.website.mywebsite.tld .

Попросіть ваш сервер http переспрямувати всі подібні запити на правильні, канонічні адреси чи не відповідати взагалі. Для nginx це було б щось на зразок :

server {
    listen 80;
    server_name *.mywebsite.tld;
    return 301 $scheme://mywebsite.tld$request_uri;
    }

а потім черговий

server {
    listen  80;
    server_name mywebsite.tld;
    [...]
    }

7

Це все питання думки. Для мене це не погана практика.

Я створюю додаток для багатьох орендарів, який використовує базу даних на орендаря. Потім він вибирає базу даних, яка буде використовуватись на основі піддомену.

Наприклад, milkman.example.comбуде використовуватися tenant_milkmanбаза даних.

Як це я відділив таблиці для кожного орендаря, як, tenant_milkman.users, tenant_fisherman.users, tenant_bobs_garage.users, на мій погляд , є величезним набагато легше підтримувати для цього конкретного додатка, замість того , щоб всі користувачі з усіх компаній в тій же таблиці.

[edit - Michael Hampton has a good point]

Якщо говорити, якщо у вас немає конкретної причини прийняти будь-який (змінний) субдомен, як я, тоді ви не повинні їх приймати.


4
У вас є вагомі технічні причини використовувати підстановку DNS. Більшість людей цього не робить.
Майкл Хемптон

1
Насправді це здається мені дуже небезпечним - це дозволяє отримати доступ до довільної бази даних, змінивши доменне ім’я. Я б стверджував, що це тип вразливості до ін'єкцій. Звичайно, це не обов'язково використовувати, але навіщо ризикувати?
sleske

1
@sleske Це не так, оскільки користувач повинен підтвердити автентифікацію на цей субдомен (для цієї бази даних). Якщо він переключиться, йому потрібно буде ще раз пройти автентифікацію, оскільки це сприймається як зовсім інший "сайт".
Педро Морейра

@PedroMoreira: Так, це зменшує поверхню атаки. Однак надання доступу до довільних баз даних видається небезпечним. Наприклад, що робити, якщо є резервна база даних з однаковими обліковими даними, але дані, видалені з основного db - це дозволить кожному отримати доступ, хто знає ім'я. І все-таки я розумію, що безпека - це завжди компроміс - просто хотілося вказати на притаманну небезпеку.
sleske

1
@sleske Ось чому всі доступні бази даних мають префікс tenant_. Я переконався, що програма навіть не може з ними підключитися.
Педро Морейра

2

Інша проблема тут - SEO: якщо всі *.example.comпоказують однаковий вміст, на ваш веб-сайт буде погано посилатися, принаймні, від Google ( https://support.google.com/webmasters/answer/66359 ).


Обидві точки є ортогональними. Навіть якщо всі імена вказують на один і той же IP, веб-сервер отримує ім'я, яке вимагається, і може доставляти зовсім інший вміст.
Патрік Мевзек

Ось чому я точно оцінив "якщо всі * .example.com показують однаковий вміст" ... SEO-ризик мені звучить щось цікаве для згадування.
Клімент Мулен - SimpleRezo

"SEO-ризик звучить для мене щось цікаве для згадування". Можливо, але вони абсолютно не пов'язані з використанням підстановки чи ні. У вас може бути безліч окремих імен, які вирізняються однією IP-адресою, без будь-яких символів, і, отже, матимете (або немає) SEO-ризики, про які ви говорите. Використання підстановки нічого не змінює тут ні в якому напрямку.
Патрік Мевзек

0

Це дійсно погана ідея, припустимо, якщо ви хочете розмістити один піддомен a.company.com на одному веб-сервері, а b.company.com на іншому веб-сервері, може бути інший провайдер. Що ти зробиш ?. Отже, підстановка DNS - це не варіант, він повинен бути точним, створити запис для кожного піддомену та вказувати на відповідний IP. Є ймовірність перенести веб-сервер з одного провайдера на інший провайдер, в цьому випадку що ви будете робити?


0

Я знаю, що це давнє питання, проте я хочу поділитися реальним прикладом того, як використання доменних підказок може спричинити проблеми. Однак я хочу змінити доменне ім'я, а також приховати повний запис SPF, щоб зберегти збентеження.

Я допомагав тому, у кого виникли проблеми з DMARC, в рамках перевірок я завжди шукаю запис DMARC за допомогою DIG

;; ANSWER SECTION:
_dmarc.somedomain.com. 21599 IN      CNAME   somedomain.com.
somedomain.com.      21599   IN      TXT     "v=spf1 <rest of spf record> -all"

Я також отримав такий же результат, коли шукав їх записи DKIM.

Отже, електронні листи, надіслані з цього домену, отримають збій у DKIM, оскільки модуль DKIM спробує проаналізувати запис SPF на ключ DKIM та вийде з ладу, а також отримає Permerror для DMARC з тієї ж причини.

Підключення доменів може здатися гарною ідеєю, але налаштовано неправильно, вони можуть спричинити всілякі проблеми.


-2

Чи є DNS-записом з незахищеними кодами погана практика?

Ні, і всупереч іншим, я вважаю, що це хороша практика.

Більшість користувачів Інтернету в якийсь момент жируть пальцем ім'я DNS. Вони наберуть ww.mycompany.comабо wwe.mycompany.com Що б ви скоріше сталися "на жаль, ми не змогли знайти цей сайт", або щоб вони відкрили вашу основну домашню сторінку? Частіше, ніж не потрібно, щоб вони перетягували вашу основну домашню сторінку. Що це багато людей.

Навіть якби хтось поклав на нього посилання, i.dont.like.your.website.whatever.comвін все одно підніме вашу домашню сторінку, що саме ви хочете. Зрештою, вони не можуть змусити цей i.dont....сайт перейти на свій сервер, ви все одно керуєте маршрутизацією DNS, щоб він перейшов до вашого.


5
Проблема, яку я маю з цим міркуванням, полягає в тому, що 1. вона порушує обробку помилок, 2. це повністю орієнтована на www, тоді як ваші записи підстановок впливатимуть і на інші протоколи. У результаті ви порушили обробку помилок для інших речей, де ви не доклали зусиль, щоб виправити речі.
Хокан Ліндквіст

-2

Я думаю, що найкраща причина, щоб не було запису DNS в першу чергу, - це уникати передачі IP-адреси вашого сервера потенційному зловмиснику та зменшення експозиції до DDOS-атак. Також рекомендується налаштування Cloudflare: https://blog.cloudflare.com/ddos-prevention-protecting-the-origin/


2
Використання доменних підказок не змінює впливу таких атак. І посилання не підтримує ваші неправильні претензії. Все, що посилається, говорить про те, що Cloudflare, як правило, стягує більш високу ціну за доменні символи. Це говорить лише про бізнес-моделі Cloudflare, а також про практику використання доменних символів.
kasperd

Якщо ви використовуєте wildcard dns з cloudflare, оскільки він не проходить через cloudflare (якщо ви не оплачуєте підприємство, більшість не працює), кожен зможе пінг будь-якого складеного субдомену та знайти ваш справжній IP-адресу. Без підстановки вони не можуть. це все є для цього.
Майкл Роджерс

Так, у випадку такої послуги, вони можуть стягнути плату за захист від магістральних карт. Хоча це питання не стосується тих типів послуг, як про відмінні записи dns та про те, чи слід це робити чи ні в звичайних ситуаціях.
Кріс,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.