Deweloperzy Firefox o zakończeniu testów wsparcia DNS przez HTTPS (DoH, DNS over HTTPS) i zamiarze włączenia tej technologii domyślnie dla użytkowników z USA pod koniec września. Włączenie zostanie przeprowadzone etapowo, najpierw dla kilku procent użytkowników, a w przypadku braku problemów stopniowo zwiększając do 100%. Po objęciu USA rozważone zostanie włączenie DoH w innych krajach.
Testy przeprowadzane przez rok wykazały niezawodność i dobre osiągi usługi, a także umożliwiły zidentyfikowanie sytuacji, w których DoH może prowadzić do problemów, i opracowanie rozwiązań na ich obejście (na przykład, omówiono optymalizację ruchu w sieciach dostarczania treści, kontrolę rodzicielską i wewnętrzne strefy DNS w przedsiębiorstwach).
Znaczenie szyfrowania ruchu DNS jest oceniane jako zasadniczy element ochrony użytkowników, dlatego zdecydowano się włączyć DoH domyślnie, ale na pierwszym etapie tylko dla użytkowników z USA. Po aktywacji DoH użytkownik otrzyma powiadomienie, które pozwoli mu w razie potrzeby zrezygnować z łączenia się z zcentralizowanymi serwerami DNS DoH i powrócić do tradycyjnego schematu wysyłania niezaszyfrowanych zapytań do serwera DNS dostawcy (zamiast rozproszonej infrastruktury resolverów DNS, w DoH stosuje się powiązanie z określonym serwisem DoH, który może być traktowany jako pojedynczy punkt awarii).
Po aktywacji DoH może wystąpić zakłócenie działania systemów kontroli rodzicielskiej i sieci korporacyjnych, które wykorzystują dostępne tylko w sieci wewnętrznej struktury nazw DNS do przekształcania adresów intranetowych i korporacyjnych hostów. Aby rozwiązać problemy z takimi systemami, dodano system kontroli, który automatycznie wyłącza DoH. Kontrole są przeprowadzane przy każdym uruchomieniu przeglądarki lub przy wykrywaniu zmiany podsieci.
Automatyczny powrót do korzystania z domyślnego resolvera systemu operacyjnego jest również przewidziany w przypadku wystąpienia błędów podczas rozwiązywania przez DoH (na przykład, w przypadku zakłócenia dostępności sieci z dostawcą DoH lub wystąpienia awarii w jego infrastrukturze). Sens takich kontroli jest wątpliwy, ponieważ nikt nie powstrzymuje atakujących, którzy kontrolują działanie resolvera lub są w stanie ingerować w ruch, przed symulowaniem takiego zachowania w celu wyłączenia szyfrowania ruchu DNS. Problem został rozwiązany przez dodanie opcji „DoH zawsze” w ustawieniach (domyślnie nieaktywny), której włączenie sprawia, że automatyczne wyłączenie nie jest stosowane, co jest rozsądny kompromis.
W celu identyfikacji korporacyjnych resolverów przeprowadza się kontrole nietypowych domen najwyższego poziomu (TLD) oraz zwracanie intranetowych adresów przez systemowy resolver. Aby określić włączenie kontroli rodzicielskiej, podejmowana jest próba rozwiązania nazwy exampleadultsite.com, a jeśli wynik różni się od faktycznego adresu IP, uznaje się, że blokada treści dla dorosłych jest aktywna na poziomie DNS. Dodatkowo sprawdzane są adresy IP Google i YouTube pod kątem ich zamiany na restrict.youtube.com, forcesafesearch.google.com i restrictmoderate.youtube.com. Ponadto Mozilla wprowadził jednolity host do weryfikacji , który mogą wykorzystać dostawcy usług internetowych i usługi kontroli rodzicielskiej jako znacznik do wyłączenia DoH (jeśli host nie jest rozpoznawany, Firefox wyłącza DoH).
Praca przez wspólny serwis DoH może również potencjalnie prowadzić do problemów z optymalizacją ruchu w sieciach dostarczania treści, które wykonują równoważenie ruchu z wykorzystaniem DNS (serwer DNS sieci CDN tworzy odpowiedź, biorąc pod uwagę adres resolvera i wydaje najbliższy host w celu uzyskania treści). Wysyłanie zapytania DNS z najbliższego do użytkownika resolvera w takich CDN kończy się zwróceniem adresu najbliższego do użytkownika hosta, ale przy wysyłaniu zapytania DNS z zcentralizowanego resolvera zostanie wydany adres hosta najbliższego do serwera DNS-over-HTTPS. Testy w praktyce wykazały, że korzystanie z DNS-over-HTTP przy użyciu CDN niemal nie wprowadzało opóźnień przed rozpoczęciem przesyłania treści (dla szybkich połączeń opóźnienia nie przekraczały 10 milisekund, a na wolniejszych kanałach komunikacyjnych odnotowano nawet przyspieszenie działania). Aby przesłać do resolvera CDN informacje o lokalizacji klienta, rozważano również zastosowanie rozszerzenia EDNS Client Subnet.
Przypomnijmy, że DoH może okazać się przydatny do eliminowania wycieków danych dotyczących żądanych nazw hostów przez serwery DNS dostawcy, walki z atakami MITM oraz fałszowaniem ruchu DNS, przeciwdziałania blokadom na poziomie DNS lub organizowania pracy w przypadku braku możliwości bezpośredniego dostępu do serwerów DNS (na przykład podczas pracy przez proxy). W normalnej sytuacji zapytania DNS są bezpośrednio kierowane do określonych w konfiguracji systemu serwerów DNS, natomiast w przypadku DoH zapytanie o określenie adresu IP hosta jest inkapsulowane w ruchu HTTPS i wysyłane do serwera HTTP, na którym resolver przetwarza zapytania przez Web API. Istniejący standard DNSSEC stosuje szyfrowanie wyłącznie do autoryzacji klienta i serwera, ale nie chroni ruchu przed przechwyceniem i nie gwarantuje poufności zapytań.
Aby włączyć DoH, w about:config należy zmienić wartość zmiennej network.trr.mode, która jest obsługiwana od Firefox 60. Wartość 0 całkowicie wyłącza DoH; 1 — używa DNS lub DoH, w zależności od tego, co jest szybsze; 2 — używa DoH domyślnie, a DNS jako opcję awaryjną; 3 — używa tylko DoH; 4 — tryb lustrzany, w którym DoH i DNS są wykorzystywane równolegle. Domyślnie używany jest serwer DNS CloudFlare, ale można go zmienić przez parametr network.trr.uri, na przykład można ustawić „https://dns.google.com/experimental” lub „https://9.9.9.9/dns-query”.
Źródło: opennet.ru
