W ostatnim czasie, w urządzeniach sieciowych, implementowane są dwie nowe funkcjonalności noszące nazwy:

  • DNS over HTTPS (DoH)
  • DNS over TLS (DoT).

Na początku warto wyjaśnić, że żadna z nich nie ma związku z DNSSEC, ale są próbą rozwiązania tego samego problemu jakim jest brak szyfrowania zapytań i odpowiedzi w komunikacji z serwerami DNS. O co dokładniej chodzi?

Spróbujmy to wyjaśnić w kilku zdaniach.

Użytkownik chcąc wyświetlić stronę www np. https://wladcysieci.pl, uruchamia proces wysłania zapytania do serwera DNS. Serwer dokonuje tłumaczenia adresu FQDN na adres IP i odpowiedź zwraca do klienta. Taki ruch odbywa się w komunikacji nieszyfrowanej, co skutkuje tym, że praktycznie na każdym z urządzeń pośredniczących w przesyłaniu zapytania, może zostać ono przechwycone, zyskując tym samym wiedzę do jakich zasobów Internetu klient chciał uzyskać dostęp.

Przedstawiając powyższy opis za pomocą obrazu – na schemacie poniżej widzimy, iż w tym przypadku nie zmieni korzystanie z szyfrowanych stron, bądź trybu incognito w przeglądarce.

Co więcej, przechwytywanie zapytań DNS nie jest elementem działania zbrodniczo – hakerskich bojówek mających na celu uczynienie czekolady bardziej czekoladowej (nie wnikajmy skąd takie porównanie😉), ale jest ono wykorzystywane do normalnej pracy wielu urządzeń sieciowych. Jedną z nich jest np. kontrola rodzicielska w routerach domowych, bądź w firmowych UTMach jako podstawa funkcjonowania filtrów, czy polis. Co więcej, w urządzeniach profesjonalnych możliwe jest nieskrępowane śledzenie takich zapytań z poziomu GUI z dość dokładną ich analizą (poniżej screen z urządzenia FortiGate).

Jak widać nie jest to żadna „czarna magia”, ale coś co jest wykorzystywane na co dzień.

A zatem, co można zrobić, aby wścibski admin nie przechwytywał ruchu DNS pomiędzy nami, a serwerem DNS w celu zaspokojenia swojej niezgłębionej ciekawości?

Możemy skorzystać z tego co oferują nam rozwiązania wymienione na wstępie, tj. DNS over HTTPS, bądź DNS over TLS.

Są to dwa rozwiązania, których celem jest szyfrowanie ruchu DNS. W piśmie obrazkowym może to wyglądać jak poniżej.

W przedstawionym przypadku szyfrowanie następuje dopiero na lokalnym routerze, a nie na urządzeniu klienckim typu komputer, czy smartfon.

Oczywiście nic nie stoi na przeszkodzie, aby szyfrowanie odbywało się już na poziome systemu operacyjnego, czy przeglądarki Firefox (link) i Chrome (link).  Na dzień dzisiejszy są to jednak rozwiązania jeszcze eksperymentalne, zaś przedstawione niżej na przykładzie routera Synology i UTMa FortiGate, są rozwiązaniami już zaimplementowanymi w GUI, dostępnymi dla zwykłego użytkownika.

Zacznijmy więc od RT2600ac w którym firma Synology udostępniła dostęp do funkcji DNS over HTTPS wraz z aktualizacją 1.2.3-8017, gdzie w zaawansowanych opcjach sieci lokalnej można włączyć dostęp DoH do serwerów Cloudflare, bądź Google.

Jak widać na przykładzie przeglądarek i routera Synology, dominującą technologią szyfrowania ruchu DNS wydaje się być DoH. Tutaj jednak trafiamy na rodzynka jakim jest firma Fortinet, która skorzystała z implementacji DNS over TLS (więcej tutaj).

Skąd taka różnica? Wynika ona z faktu, że ani DNS over HTTPS (więcej w RFC8484), ani też DNS over TLS (więcej w RFC7858) nie zostały jeszcze uznane za standard i na chwilę obecną nie bardzo wiadomo, który z nich zostanie.

Od strony klienta nie ma większej różnicy, czy kliknie w routerze DoH, czy DoT, czy też ustawi odpowiednią flagę w przeglądarce – w każdym przypadku zapytania DNS będą szyfrowane i osoba postronna nie będzie w stanie dowiedzieć się z jakich zasobów Internetu się korzysta. To jest oczywisty plus dla użytkownika końcowego.

Ale ten plus może być bólem głowy dla administratora, bo jak wspomnieliśmy na początku, funkcje opierające swoje działanie na jawności zapytań DNS, mogą przestać działać, bądź robić to błędnie.

Administrator powinien wiedzieć, że DNS over HTTPS korzysta z portu 443, czyli tradycyjnego portu dla HTTPS, zaś rozwiązanie DNS over TLS komunikuje się poprzez port 853, który określony został w punkcie 3.1 dokumentu RFC7858.

Firma Fortinet, dostarczając sprzęt dla administratorów, wydała zalecenie opisane w poradzie Technical Tip: DoH/DoT traffic bypassing FortiOS DNS filter. Nie jest ono skomplikowane i sprowadza się do tego, aby na chwilę obecną blokować ruch w/w portach do znanych dostawców usług DoH / DoT uniemożliwiając tym samym korzystanie z szyfrowanego ruchu DNS. W ten sposób „zmusza” się użytkowników klientów do zachowania tradycyjnej formy komunikacji z serwerami DNS.

Akronimy DoH i DoT to gorący temat ostatnich miesięcy / tygodni z którym być może się spotkaliście, a jeżeli nie, to zapewne czekałoby Was to w najbliższej przyszłości. Dzięki kilku powyższym zdaniom wiecie już „co w trawie piszczy”, a jeżeli temat Was zainteresował, to przytoczone w tekście linki pomogą Wam zgłębić temat.