Що станеться, коли ваш TTL зашифрується у вашому записі DNS?


13

Що відбувається, коли хтось отримує доступ до вашого контролю DNS і встановлює TTL 100 років у вашому домені, вказуючи його IP на якийсь незрозумілий веб-сайт?

(і ви виявите це занадто пізно, звичайно)


10
Хлопець звільнений.
Ксав'є Лукас

5
Лише коротка примітка: Максимальне значення TTL - 2 ^ 31-1, що трохи більше 68 років :) Див. RFC 2181 .
Свен

Відповіді:


21

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

Що робить компанія, коли поганий TTL виводить її в дику природу?

Тут у вас є кілька варіантів. Перш за все, потрібно виявити вектор проблеми та усунути її. Намагатися стримати шкоду - безглуздо, коли у вас немає контролю над проблемою, що повторюється.

  1. Зачекайте. Якщо це не вирішальний запис, ви, ймовірно, можете його почекати. Як покрив Райан, "максимальний збиток" - це не 68 років, але на практиці, швидше за все, це 7 днів. Це найпоширеніший за замовчуванням максимальний термін позитивного запису кешу (BIND, JunOS тощо). Навіть у випадках, коли це не точно, можна сподіватися, що сервер отримує звичайні оновлення безпеки, які змушують перезапустити процес. Виступаючи як оператор декількох великих кластерів, я не вважаю ймовірним, що МСО цільово встановить це велике значення: воно служить лише для отримання більшої кількості зовнішніх запитів (які ми ненавидимо). Можливо, вам доведеться перейти до наступних кроків для компаній, що використовують менш популярне програмне забезпечення, або операторів, які ненавидять себе.
  2. Роздратувати операторів кешування DNS. Якщо вам потрібно очистити запис з кешу якомога швидше, ваш єдиний реальний вибір - почати звертатися до найбільших постачальників рекурсивних DNS, про які ви можете придумати, і пропрацювати свій шлях вниз. Деякі з цих компаній, ймовірно, ігнорують вас: або вони вважають, що ваша компанія занадто мала, щоб їхні клієнти не піклувались, або влаштовують власну політику очищення кешу, щоб мінімізувати кількість дзвінків за підтримку, з якими їм доводиться мати справу. В останньому випадку вони, ймовірно, знизують плечима і дозволять проблемі опікуватися самим у запланований час. Зрештою, ваша компанія створила цю проблему для себе.
  3. Запропонуйте клієнтам провайдерів дратувати їх провайдера. Якщо минуло кілька днів, і великий Інтернет-провайдер ігнорує кешований запис, спробуйте змусити когось із своїх клієнтів подати скаргу та створити внутрішній квиток для цієї компанії. Їм важче ігнорувати, але це не завоює вам ніяких прихильностей з їх командою ops, оскільки з їх точки зору ви це зробили самі. Якщо це повторення, вони, ймовірно, почнуть скасовувати ці квитки лише для того, щоб вас насупити.
  4. Порадьте своїх партнерів для обходу запису DNS. Якщо це важливий для DNS запис DNS, який споживається вашими партнерами, і жоден із перерахованих вище варіантів не є прийнятним (тобто ви втрачаєте прибуток за хвилину), у вашої компанії немає іншого вибору, як працювати зі своїми партнерами, щоб обійти проблему. Якщо вони не контролюють свій локальний кеш, зазвичай це відбувається шляхом вставки записів у таблицю хостів введених систем, оскільки це дозволяє уникнути необхідності змінювати програми, що використовують запис DNS. Це є життєздатним лише у тому випадку, якщо втрати доходу пов'язані з декількома компаніями, які споживають дані. У всіх інших випадках ви застрягли з першими трьома варіантами.

3
Як приклад для варіанту 2, Google Public DNS має цю сторінку, щоб очистити кеш-пам'ять.
Bardi Harborow

16

Ну, по-перше, керівництво по конфігурації Bind, на яке я дивлюсь, говорить про те, що TTL - це підписане 32-бітове ціле число, виражене в секундах, що дає йому теоретичний максимум 2 ^ 31. Він говорить

Дійсні TTL мають діапазон 0-2147483647 секунд.

Або приблизно 68 років. Тож ви, мабуть, не можете встановити його в першу чергу на 100 років.

Отже, скажімо, ви встановили це на 68 років. Досить зрозуміло, що б сталося. Розв’язувачі DNS, які поважали надзвичайно довгий TTL у ваших записах DNS, кешуватимуть їх стільки, скільки могли. Деякі DNS-розв'язувачі взагалі не поважають TTL та просто реалізують власну політику кешування, як би вони хотіли.

Причина, що ми не можемо поставити одне тверде число на максимум, полягає в тому, що існує багато різних реалізацій DNS, створених багатьма різними постачальниками, і всі вони використовують трохи різні змінні. Наприклад, сервер DNS, який працює на Juniper JunOS, буде тривати лише 604800 секунд або 7 днів на TTL.


Отже, що насправді означає, що коли хтось зламає контроль DNS компанії X, він ставить його на 68 років і передає IP на порнохуб, він фактично знищив доменне ім'я "назавжди" ?? : X
Дірк Бур

11
Якщо припустити, що ви виправили цю проблему, малоймовірно, що сервери DNS нижче за течією пройдуть 68 років без очищення кешів, наприклад, перезавантаженням. Цілком ймовірно, що розв'язувачі DNS нижче за течією реалізують власну ідею "MAXTTL", яка ставить більш розумну межу для отриманих TTL, таких як 3 дні замість 68 років. Прочитайте RFC 2308 як приклад того, про що я говорю.
Ryan Ries

4
Що стосується конкретно BIND, він має обмеження за замовчуванням 7 днів. max-cache-ttl: "Встановлює максимальний час, протягом якого сервер буде кешувати звичайні (позитивні) відповіді. За замовчуванням - тиждень (7 днів)."
Хокан Ліндквіст
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.