W kontekście przeglądarki Firefox dziś pewnie dominują w internecie informacje na temat płatnej subskrypcji, jaką Mozilla ma w planach zaoferować (Firefox Ad-free Internet). Ale na razie poza prostą stroną z zajawką (subskrypcja za 4,99 $ miesięcznie) wiele się nie dowiemy, bo nawet przycisk „sign up now” prowadzi do ankiety, gdzie już na pierwszej stronie mamy informację „this product isn’t available yet, but we’re working on it”. Dlatego, zamiast bawić się w spekulacje i clickbaitowe tytuły, postanowiłem, że napiszę o DNS-over-HTTPS (DoH), co wydaje się tematem dużo ciekawszym. Choć miejscami kontrowersyjnym…

DNS-over-HTTPS (DoH) jako kolejny element bezpieczniejszego internetu

Internet jest tak skonstruowany, że nawet gdy z jakąś stroną łączymy się za pomocą protokołu HTTPS (SSL, port 443), czyli szyfrowanego połączenia, to zapytania do serwerów DNS, który zmieniają adres strony (domenę) na adres IP serwera, są przesyłane w formie niezaszyfrowanej (port 53). Oznacza to, że teoretycznie można – np. po stronie dostawcy internetu (ISP) – monitorować z jakich stron/serwisów korzystamy.

Kolejny problem wynikający z wykorzystania DNSów dostarczanych przez lokalnych dostawców internetu to cenzura/blokada, jaką właśnie na DNSach najprościej i najtaniej wdrożyć. Oczywiście bardziej świadomy użytkownik może sobie ustawić DNSy np. od Cloudflare (1.1.1.1, 1.0.0.1), Google (8.8.8.8 i 8.8.4.4), Quad9 (9.9.9.9) czy OpenDNS. Ale nie każdy wie jak to zrobić, i nie zawsze jest to możliwe.

I tu do akcji wkracza protokół DNS-over-HTTPS (DoH), który zapytania do zgodnych serwerów DNS realizuje za pomocą połączenia szyfrowanego HTTPS, ukrywając w ten sposób adresy, które odwiedzamy (o które odpytujemy serwery DNS). Jest to również rozwiązanie drugiego z przedstawionych problemów, bo DNS-over-HTTPS (DoH) wdrożone w przeglądarce działa w warstwie aplikacji, a więc pomija DNSy przypisane nam standardowo przez naszego operatora.

Aktywacja DNS-over-HTTPS (DoH) w przeglądarce Mozilla Firefox

Z tego, co kojarzę, to natywne wsparcie dla protokołu DNS-over-HTTPS (DoH) na obecną chwilę – jesli chodzi o najpopularniejsze przeglądarki, a przynajmniej te, z których sam korzystam – jest tylko w przeglądarce Mozilla Firefox. Obsługę protokołu DoH można włączyć, korzystając ze standardowych ustawień:

  • Ustawienia -> Sieć -> Ustawienia (połączeń): DNS przez HTTPS

Trochę więcej ustawień znajdziemy korzystając z „about:config” (wystarczy wpisać to w pole adresu w przeglądarce):

W polu wyszukiwania wpisujemy „network.trr” i mamy takie opcje jak:

  • network.trr.mode – tryb obsługi DoH (0 – wyłączony, 1 – automatyczny, 2 – preferowany DoH, 3 – tylko DoH), zalecam wpisać cyfrę „2”
  • network.trr.uri – adres serwera DNS obsługującego DoH (domyślnie jest to Cloudflare, ja bym tak zostawił)
  • network.trr.bootstrapAddress – adres serwera DNS w formie adresu IP, można podać (na wszelki wypadek), np. DNS Cloudflare, czyli 1.1.1.1

W pozostałe ustawienia się nie zagłębiałem, ale nie wydaj mi się, by było tam coś ważnego, przynajmniej w większości przypadków.

I choć DNS-over-HTTPS (DoH) może wydawać się lekiem na całe zło, to od kilku lat toczą się dyskusje na temat tego, czy jest to dobre, czy złe rozwiązanie. I każda ze stron ma swoje racje – argumenty zwolenników w pewnym sensie już przytoczyłem. Przeciwnicy natomiast podnoszę m.in. kwestię zaburzenia zasady, w myśl której przeglądarka odpowiada tylko za wyświetlanie treści, a o aspektach połączenia decyduje system (choć pewnie podobne zarzuty można by wysnuć pod względem obsługi serwerów proxy w przeglądarce).

Trzeba też pamiętać, że nie wszystkie serwery wspierają DoH (aktualną listę wspierających serwerów DNS znajdziemy np. w serwisie GitHub). W każdym razie jak DoH, od kiedy pojawiła się ta opcja w przeglądarce Firefox mam włączone, i… chyba tak zostanie.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk