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…
Spis treści w artykule
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.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Skoro się powiedziało A = DoH, trzeba było też powiedzieć o B czyli DNSCrypt, który jest od dawna dostępny i to dla całego systemu za pomocą dns-proxy a najprościej za pomoca Simple DNSCrypt. DNSCrypt jest też dostępny przynajmniej w jednej przeglądarce, w Yandex Browser – w zakładce Protect jest cała lista serwerów wspierających DNSCrypt i można sobie ustawić wybrany, przeglądarka sprawdzi czy jest aktywny i już cały ruch zapytań DNS idzie przez serwery wspierające DNSCrypt, nie logujące, nie filtrujące (czasem filtrujące strony niebezpieczne z malware’m).
OK, tylko jeśli damy DoH – zwłaszcza w momencie gdy wsparcie zostanie wprowadzone już bezpośrednio do systemu operacyjnego – to chyba DNSCrypt traci na znaczeniu.