DoH (DNS през HTTPS) е много проста. Вместо да отиде на порт 53 на сървър (да речем, добре познатия 8.8.8.8) и да поиска домейн чрез UDP или TCP пакет, DoH стандартизира конструкцията на GET или POST към HTTPS домейн и отговорът ще бъде записът A и AAAA (RFC не посочва други записи) с IP. Разбира се, имате повече подробности като гениалното решение, което заглавието кеш-контрол ще стане TTL. Всички криптиране от край до край, очевидно. Спомняте ли си, когато в хотел можете да тунелирате през DNS протокола (обикновено неограничен) HTTP сърфиране, за да не плащате за WiFi? Ами сега, назад.

противоречието

DNS протоколът е като камила. С течение на времето той е обременен с толкова голяма тежест, принуден е да издържи толкова много лепенки, лекарства и плъгини, че сега търпеливо пълзи през пустинята, без всъщност да реши какъвто и да е проблем, освен какъвто е проектиран. И по една или друга причина все още не е постигната желаната сигурност и/или поверителност. Не защото не е предложено (всъщност има десетки алтернативни или допълващи се предложения помежду си), а защото нито едно не е масово прието. От DNSSEC, през DNS през TLS (DoT), което, както се досещате, трябва да продължи със същия DNS протокол, но с TLS тунел (нещо като POP3 И SPOP3). DoT, най-близкото до DoH, използва порт 853 и ефективно скрива съдържанието на трафика и удостоверява сървъра. Този RFC е предложен през 2016 г. Но той не е станал толкова популярен, колкото се очаква. Това със сигурност не е предизвикало вълнението, повдигнато с DoH.

Между другото, има и DNS през DTLS, DNS през QUIC, DNS през TOR ... Има дори DoH, който връща Json, но това е специална адаптация, която Google използва (въпреки че Cloudfare също го прави) по-мощна ( например, позволява справка с други записи освен само A или AAAA).

Тези изображения показват как да използвате DoH чрез API на Google и Cloudfare и как връща Json

DNS е един от най-старите протоколи в мрежата и винаги е бил главоболие за сигурността (от атаката за рождения ден до проблема с Камински). Всичко е ясно, с възможност за UDP (още по-лесно да се инжектират фалшиви пакети ...). Катастрофа дори без необходимост от атаки, защото сървърите могат да бъдат контролирани от правителствата и по този начин да пренасочват или блокират заявките. И всичко това по абсолютно прозрачен начин и без поверителност или почтеност (тъй като DNSSEC не е толкова добре установен, колкото би трябвало да бъде). Ние поверихме основите на Интернет на протокол, който не успя да се защити технологично, така че решенията да бяха масово възприети (или не е желано, точно поради същата причина) и на които са били използвани всякакви лепенки и лапи се прилага, за да не се наруши наследството. Толкова много В крайна сметка предложението за постигане на сигурност е новаторско: предайте резолюцията на равнището на данните. И ако това не беше достатъчно, DoH кара резолюцията да не се доверява на глобалния DNS на системата, но може да игнорира този DNS сървър, който обикновено се предоставя от DHCP ... така че всяко приложение да може да разреши чрез HTTPS по стандартен начин.

Но това не е лошо, нали? Не би ли било прекрасно, ако никой не видя това, което се опитвахме да решим, и не можеше да го промени по никакъв начин? Прикрийте исканията и отговорите в HTTPS и се оставете да бъдете отнесени от тълпата в пристанище, което никой не може да отреже, 443. Няма повече шпиони или ограничения. Това обещава DoH, но дали се чупи повече, отколкото поправя?

Браузърите го празнуват и вече го прилагат. Това е възможността им да получат мощност, не само защото вече познават HTTPS технологията и това им струва малко, ноino, защото те могат да вграждат в браузъра преобразувателя, който ще бъде заявен по подразбиране... Например Google вече няма да има достъп до всичко, което светът решава чрез известния си 8.8.8.8, но Ще разшири своя процент на потребители на своя DNS (около 13%) до всеки, който използва Chrome, което вече е 60%. Той го нарича „защитен DNS“. Видяхте възможност да излезете от тиранията на системния DNS точно там, където се решават повечето домейни: браузърът. Google вече използва DoH в своето приложение Intra (публикувано в Jigsaw Operations), което точно служи за заобикаляне на DNS ключалките.

Android, от своя страна, прилага DNS през TLS в най-новата си версия, въпреки че не са го направили твърде публично. Понастоящем Cloudfare също се занимава с DNS, така че известната компания 1.1.1.1 си партнира с Firefox, за да бъде доверен доставчик на резолюция. Всъщност DoH във Firefox е известен като TRR (Trusted Recursive Resolver). Обещайте да не използвате малките потребителски данни, от които може да се нуждаят. Например Cloudfare се съгласява да премахне това подаване от първите 3 октета, които се използват в DNS заявка. Това изпращане на първите 3 октета е ход (с RFC), популяризиран от Google и OpenDNS през 2011 г. за подобряване на DNS производителността по IP местоположение.

Chrome го прилага, но все още няма интерфейс, който да го обработва. Са в него.
https://chromium-review.googlesource.com/c/chromium/src/+/1194946
Firefox вече го включва, деактивиран по подразбиране

От друга страна, друг от сериозните проблеми на TLS като цяло е използването на фалшиви сертификати на сървъра, което може да позволи нарушаване на криптирането и шпионирането. Тази лоша практика е в обсега на правителствата и парадоксално е слабо място на DoH за използване на TLS, особено когато DoH е проектиран точно така, че правителството да не може да ограничава интернет чрез традиционния DNS. Правителството просто трябва да влезе с фалшив сертификат също в DoH (както понякога се прави за други страници). Но докато DoT наистина налага използването на закрепване в RFC, в DoH дори не го препоръчват ... Не сте ли го предвидили?

Забелязва се, че в DNS през TLS пиновете са посочени (в
dnsprivacy.org), но същото не се прави в DoH.
Дори се обезкуражава.

За да постигне фиксиране, подобно на други решения (като несъществуващата HPKP), след ръкостискането на DoT TLS, клиентът изчислява SPKI на сертификата въз основа на публичния ключ и други данни X.509. Той е абсолютно същият като HPKP щифтовете, само че няма първо преминаване. Клиентът трябва да ги познава предварително и да ги съхранява.

Това трябва да наруши парадигмата на познатия интернет. Поне поражда съмнения. Всъщност Пол Викси (един от бащите на DNS) е радикално против и насърчава използването на DNS през TLS вместо HTTPS. Една от причините, поради които той твърди, е, че (въпреки звучащите спойлери) той най-накрая си е позволил да отвори някаква кутия на Пандора, lАнализаторите ще загубят контрол над мрежата, възможността за наблюдение, сигналите и протоколите за данни са объркани ... Трябва да се има предвид, че този модел дава още по-голяма мощност на браузъра, а следователно и на този с най-голям дял на разположение днес: Google. Firefox има по-прозрачна политика в това отношение, въпреки че Cloudfare ще може да получи интересна информация благодарение на своя съюз. Както и да е, твърде ли централизираме DNS, който по природа се роди децентрализиран?

А какво да кажем за нещо толкова често срещано в сигурността като възможността за филтриране на домейни на ниво DNS? Е, не би било възможно с DoH, добре браузърът може да продължи да посещава този фишинг или команда за контрол, въпреки че го е блокирал в DNS на компанията. Правим ли услуга за злонамерен софтуер в замяна на поверителността на потребителите и мощта на браузъра?

Но DoH отваря и нови възможности. За да работи това, се използва мултиплексирането на HTTP/2, което от своя страна отваря други пътища, благодарение на натиснете което ви позволява да решавате повече домейни с едно движение. Освен това намалява проблема с изтичането на SNI. Защо? В HTTP/2 връзките се използват повторно. При първа връзка към даден сайт браузърът вече може да познава други сайтове, които същият сървър хоства и да използва повторно същата връзка за посещения. Ако връзката е шифрована ... каналът се използва повторно, без да се налага да изпращате SNI отново. Тъй като малко страници вече са на един сървър, това ще се случва през повечето време.

В обобщение: на местно ниво, внимателни към вашите браузъри и ако наблюдавате нещо, което не съвпада при разрешаването на домейни във вашите системи, вече знаете къде могат да отидат изстрелите; глобалното ... за да видим какви нови парадигми ни носи този протокол.