DNSSEC має певні ризики, але вони безпосередньо не пов'язані з відображенням або посиленням. Розширення розміру повідомлення EDNS0 в цьому випадку є червоною оселедець. Дозволь пояснити.
Будь-який обмін пакетами, який не залежить від попереднього підтвердження ідентичності, може зазнати зловживань з боку зловмисників DDoS, які можуть використовувати цей несанкціонований обмін пакетами як відбивач, а може бути також і як підсилювач. Наприклад, таким чином можна зловживати ICMP (протокол "ping"). Як і TCP SYN-пакет, який вимагає до 40 пакетів SYN-ACK, навіть якщо SYN був підроблений, щоб надходити від якоїсь жертви, яка не бажає цих пакетів SYN-ACK. І звичайно, всі служби UDP вразливі до цієї атаки, включаючи NTP, SSDP, uPNP, і, як зазначають інші відповіді тут, включаючи DNS.
Більшість приладів виявлення вторгнень, запобігання вторгнень та приладів для балансування навантаження - це вузькі місця, які не в змозі не відставати від "лінійної швидкості" руху. Також багато маршрутизатори не можуть працювати за лінійною швидкістю, а деякі комутатори. Ці вузькі місця, будучи найменшою штукою «на шляху» та меншою, ніж самі посилання, є фактичною ціллю DDOS-атак на основі перевантаженості. Якщо ви можете тримати чийсь брандмауер зайнятий атаковим трафіком, то хороший трафік не пройде, навіть якщо посилання не наповнені. І те, що уповільнює брандмауер, - це не загальна кількість біт в секунду (яку можна збільшити за допомогою великих повідомлень, і EDNS0 та DNSSEC), а загальна кількість пакетів в секунду.
Існує багато міської легенди про те, як DNSSEC погіршує DDoS через більший розмір повідомлення DNSSEC, і хоча це має інтуїтивний сенс і "звучить добре", це просто помилково. Але якби до цієї легенди було багато правди, справжня відповідь все-таки лежатиме в іншому місці [[тому що DNSSEC завжди використовує EDNS0, але EDNS0 можна використовувати без DNSSEC], і багато нормальних відповідей, які не належать до DNSSEC, настільки ж великі, як і DNSSEC відповідь буде. Розглянемо записи TXT, які використовуються для представлення політик SPF або ключів DKIM. Або просто будь-який великий набір адрес або MX записів. Коротше кажучи, жодна атака не вимагає DNSSEC, і, отже, будь-яка спрямованість на DNSSEC як ризик DDoS є помилковою витратою енергії.
DNSSEC має ризики! Важко використовувати, а правильніше використовувати правильно. Часто він вимагає нового робочого потоку для зміни даних про зони, управління реєстратором, встановлення нових екземплярів сервера. Все це повинно бути протестовано та задокументовано, і щоразу, коли щось порушиться, пов'язане з DNS, технологію DNSSEC слід дослідити як можливу причину. І кінцевим результатом, якщо ви все зробите правильно, буде те, що, як підписувач зони, ваш власний онлайн-контент та системи будуть більш крихкими для ваших клієнтів. Як оператор сервера віддаленого кінця, результатом буде те, що вміст та системи всіх інших будуть для вас більш крихкими. Ці ризики часто бачать переваги від переваг, оскільки єдиною перевагою є захист даних DNS від зміни або заміни під час польоту. Цей напад настільки рідкісний, що не варто того всіх зусиль. Ми всі сподіваємось, що DNSSEC одного дня стане всюдисущим, завдяки новим програмам це дозволить. Але правда полягає в тому, що сьогодні DNSSEC - це ціна, без вигоди і з високими ризиками.
Отже, якщо ви не хочете використовувати DNSSEC, це ваша прерогатива, але не дозволяйте нікому заплутати вас у тому, що проблема DNSSEC полягає в його ролі як підсилювача DDoS. DNSSEC не грає необхідної ролі як підсилювач DDoS; Є й інші дешевші кращі способи використання DNS як підсилювача DDoS. Якщо ви не хочете використовувати DNSSEC, нехай це ще не було, оскільки ви ще не випили Kool Aid і хочете бути останньою особою (пізніше), а не першою (зараз).
Сервери вмісту DNS, які іноді називаються "сервера авторитетів", повинні не допускати зловживань як підсилювачі, що відображають DNS, оскільки DNS використовує UDP і тому, що UDP зловживає пакетами з підробленим джерелом. Спосіб убезпечити ваш сервер вмісту DNS від подібного роду зловживань - це не блокувати UDP, а також не примушувати TCP (використовуючи трюк TC = 1), а також не блокувати БУДЬ-який запит і не відмовлятися від DNSSEC. Жодне з цих речей вам не допоможе. Вам потрібно обмеження частоти відповідей DNS(DNS RRL), абсолютно безкоштовна технологія, яка зараз присутня на декількох серверах імен з відкритим кодом, включаючи BIND, Knot та NSD. Ви не можете виправити проблему з відображенням DNS за допомогою брандмауера, оскільки лише вміст із вмістом, такий як сам DNS-сервер (з додаванням RRL), знає достатньо про запит, щоб можна було точно вгадати, що таке атака, а що ні. Хочу ще раз наголосити: DNS RRL безкоштовний, і кожен сервер авторитетів повинен запускати його.
На завершення я хочу викрити свої упередження. Я написав більшу частину BIND8, я винайшов EDNS0 і спільно винайшов DNS RRL. Я працюю над DNS з 1988 року як 20-те щось, і зараз я буркнув 50-ти щось, маючи менше терпіння за напівфабрикати рішення нерозуміних проблем. Прийміть мої вибачення, якщо це повідомлення звучить занадто сильно, як "ей, діти, відійдіть від моєї галявини!"