<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Resolver on Morfitronik</title>
    <link>https://morfikov.github.io/tags/resolver/</link>
    <description>Recent content in Resolver on Morfitronik</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pl-PL</language>
    <lastBuildDate>Mon, 21 Nov 2022 17:42:00 +0100</lastBuildDate><atom:link href="https://morfikov.github.io/tags/resolver/feed.xml" rel="self" type="application/rss+xml" />
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Oblivious DoH (ODoH) z dnscrypt-proxy na Debian Linux</title>
      <link>https://morfikov.github.io/post/oblivious-doh-odoh-z-dnscrypt-proxy-na-debian-linux/</link>
      <pubDate>Mon, 21 Nov 2022 17:42:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/oblivious-doh-odoh-z-dnscrypt-proxy-na-debian-linux/</guid>
      <description>&lt;p&gt;Parę miesięcy temu natrafiłem na taki oto &lt;a href=&#34;https://blog.cloudflare.com/oblivious-dns/&#34;&gt;artykuł na blogu Cloudflare&lt;/a&gt;, który poświęcony jest
poprawie prywatności wykonywanych przez klientów zapytań DNS za sprawą wykorzystania mechanizmu
zwanego Oblivious DoH (ODoH). Oczywiście postanowiłem już wtedy zbadać czym ten ODoH jest ale
standardowe narzędzia dostępne w linux&#39;ie (Debian/Ubuntu) jeszcze (przynajmniej wtedy) nie dojrzały
do obsługi ODoH. Obecnie już jest trochę lepiej ale Oblivious DoH wciąż jest w fazie
eksperymentów (&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc9230&#34;&gt;RFC9230&lt;/a&gt;). Póki co, jedynym znanym mi narzędziem, które posiada wsparcie dla
ODoH jest &lt;a href=&#34;https://dnscrypt.info/&#34;&gt;dnscrypt-proxy&lt;/a&gt;, którego instalację i konfigurację do współpracy z &lt;code&gt;dnsmasq&lt;/code&gt;
już &lt;a href=&#34;https://morfikov.github.io/post/szyfrowany-dns-z-dnscrypt-proxy-i-dnsmasq-na-debian-linux/&#34;&gt;jakiś czas temu opisywałem&lt;/a&gt;. Mając wsparcie dla ODoH w &lt;code&gt;dnscrypt-proxy&lt;/code&gt; możemy pokusić się
o wdrożenie Oblivious DoH w swoim systemie i sprawdzić czy faktycznie taki zabieg przyczyni się do
poprawy prywatności wykonywanych przez nas zapytań DNS i właśnie temu zagadnieniu będzie poświęcony
niniejszy wpis.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Szyfrowany DNS z dnscrypt-proxy i dnsmasq na Debian linux</title>
      <link>https://morfikov.github.io/post/szyfrowany-dns-z-dnscrypt-proxy-i-dnsmasq-na-debian-linux/</link>
      <pubDate>Sat, 19 Sep 2020 14:13:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/szyfrowany-dns-z-dnscrypt-proxy-i-dnsmasq-na-debian-linux/</guid>
      <description>&lt;p&gt;Ostatnio na forum dug.net.pl jeden z użytkowników &lt;a href=&#34;https://forum.dug.net.pl/viewtopic.php?id=31524&#34;&gt;miał dość spory problem&lt;/a&gt; z ogarnięciem
zadania polegającego na zaszyfrowaniu zapytań DNS z wykorzystaniem &lt;a href=&#34;https://dnscrypt.info/&#34;&gt;dnscrypt-proxy&lt;/a&gt; i
&lt;a href=&#34;http://www.thekelleys.org.uk/dnsmasq/doc.html&#34;&gt;dnsmasq&lt;/a&gt;. Ładnych parę lat temu opisywałem &lt;a href=&#34;https://morfikov.github.io/tags/resolver/&#34;&gt;jak skonfigurować te dwa narzędzia na Debianie&lt;/a&gt;
(i też na OpenWRT), choć od tamtego czasu w świecie linux&#39;owym trochę rzeczy się pozmieniało. Dla
przykładu, dnscrypt-proxy przeszedł gruntowną przebudowę, no i też systemd jest w powszechniejszym
użyciu niż to miało miejsce w tamtych czasach, przez co w sporej części przypadków usługi takie jak
&lt;code&gt;systemd-networkd.service&lt;/code&gt; czy &lt;code&gt;systemd-resolved.service&lt;/code&gt; są już włączone domyślnie. Zatem sporo
informacji zawartych w tych napisanych przeze mnie artykułach już niekoniecznie może znaleźć
obecnie zastosowanie. Dlatego też pomyślałem, że nadszedł już czas, by ździebko zaktualizować tamte
wpisy. Ostatecznie stanęło jednak na tym, by w oparciu o te artykuły napisać kompletnie nowy tekst
na temat szyfrowania zapytań DNS na linux przy wykorzystaniu oprogramowania &lt;code&gt;dnscrypt-proxy&lt;/code&gt; oraz
&lt;code&gt;dnsmasq&lt;/code&gt; i zawrzeć w nim te wszystkie ciekawsze informacje, które udało mi się pozyskać przez te
ostatnie lata w kwestii poprawy bezpieczeństwa i prywatności przy przeglądaniu stron WWW.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak zaszyfrować zapytania DNS na smartfonie (dnscrypt-proxy)</title>
      <link>https://morfikov.github.io/post/jak-zaszyfrowac-zapytania-dns-na-smartfonie-dnscrypt-proxy/</link>
      <pubDate>Thu, 27 Oct 2016 18:52:19 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-zaszyfrowac-zapytania-dns-na-smartfonie-dnscrypt-proxy/</guid>
      <description>&lt;p&gt;Smartfony to takie małe komputery, z których praktycznie każdy z nas korzysta na co dzień. Nie
różnią się one zbytnio od tych domowych PC czy laptopów, no może za wyjątkiem rozmiarów.
Wszystkie elementy tyczące się spraw sieciowych, np. korzystanie z internetu za pomocą przeglądarki,
są dokładnie taka same co w przypadku zwykłych komputerów. Na smartfonach domeny również trzeba
jakoś rozwiązać. Standardowo w Androidzie są wykorzystywane serwery od Google (8.8.8.8 i 8.8.4.4).
Jeśli nasza sieć WiFi oferuje inne DNS&#39;y, to wtedy one mają pierwszeństwo. Niemniej jednak, nie
zawsze będziemy w stanie kontrolować środowisko sieciowe, do którego zostaniemy podłączeni. W takiej
sytuacji będziemy zdani na łaskę admina obcej sieci w kwestii poufności odwiedzanych przez nas stron
www czy jakichkolwiek innych domen w internecie. Z doświadczenia wiem, by nie składać swojej
prywatności w czyjeś ręce i dlatego też postanowiłem poszukać sposobu na zaszyfrowanie zapytań DNS
bezpośrednio na smartfonie. Długo nie musiałem szukać, bo okazuje się, że &lt;a href=&#34;https://dnscrypt.org/#dnscrypt-android&#34;&gt;dnscrypt-proxy jest
dostępny również na Androida&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Blokowanie zapytań DNS z dnscrypt-proxy na linux&#39;ie</title>
      <link>https://morfikov.github.io/post/blokowanie-zapytan-dns-dnscrypt-proxy-linux/</link>
      <pubDate>Thu, 25 Aug 2016 20:04:33 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/blokowanie-zapytan-dns-dnscrypt-proxy-linux/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://dnscrypt.org/&#34;&gt;Narzędzie dnscrypt-proxy&lt;/a&gt; począwszy od &lt;a href=&#34;https://github.com/jedisct1/dnscrypt-proxy/releases&#34;&gt;wersji 1.7.0&lt;/a&gt; ma domyślnie włączoną obsługę
wtyczek. W standardzie nie ma ich dużo, bo jedynie trzy ale mogą one się okazać dla pewnych osób
bardzo użyteczne. Dzięki tym pluginom możemy, np. zablokować rozwiązywanie nazw w protokole IPv6 na
wypadek, gdyby ten protokół nie był wspierany w naszej sieci domowej czy też u naszego ISP. Możemy
także zdefiniować sobie adresy/domeny, które powinny zostać zablokowane i w efekcie użytkownicy nie
będą w stanie odwiedzić tych miejsc w internecie. Jest także wtyczka, która może nam pomóc zalogować
zapytania DNS. Jak widać, całkiem przyzwoite są te dodatki. W tym wpisie przyjrzymy się nieco bliżej
konfiguracji poszczególnych wtyczek dla &lt;code&gt;dnscrypt-proxy&lt;/code&gt; .&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>DHCP i DNS, czyli konfiguracja sieci w OpenWRT</title>
      <link>https://morfikov.github.io/post/dhcp-dns-czyli-konfiguracja-sieci-w-openwrt/</link>
      <pubDate>Mon, 02 May 2016 16:21:20 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/dhcp-dns-czyli-konfiguracja-sieci-w-openwrt/</guid>
      <description>&lt;p&gt;Rutery WiFi są w stanie zorganizować przewodową i/lub bezprzewodową sieć w naszych domach. By taka
sieć działała bez zarzutu, potrzebna jest odpowiednia adresacja wszystkich komputerów wewnątrz niej.
W obecnych czasach już praktycznie nie stosuje się statycznej konfiguracji, bo to zadanie zostało
zrzucone na barki serwera DHCP. W OpenWRT do tego celu oddelegowane jest &lt;a href=&#34;http://www.thekelleys.org.uk/dnsmasq/doc.html&#34;&gt;oprogramowanie
dnsmasq&lt;/a&gt;. Zapewnia ono nie tylko wspomniany wyżej serwer DHCP ale także serwer cache&#39;ujący
zapytania DNS. Ten drugi z kolei jest niezastąpiony w przypadku przekazywania zapytań o nazwy domen
do upstream&#39;owego serwera DNS, który zajmuje się rozwiązywaniem tych nazw na odpowiadające im adresy
IP. Bez &lt;code&gt;dnsmasq&lt;/code&gt; ogarnięcie naszej sieci przerodziłoby się w istne piekło. Dlatego też w tym
artykule przybliżymy sobie nieco konfigurację tego narzędzia.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Przeciek DNS (DNS leak) w VPN (resolvconf)</title>
      <link>https://morfikov.github.io/post/przeciek-dns-dns-leak-w-vpn-resolvconf/</link>
      <pubDate>Mon, 25 Apr 2016 14:37:51 +0000</pubDate>
      
      <guid>https://morfikov.github.io/post/przeciek-dns-dns-leak-w-vpn-resolvconf/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://dnsleaktest.com/what-is-a-dns-leak.html&#34;&gt;Przeciek DNS (dns leak)&lt;/a&gt; to nic innego jak wyciek
poufnej informacji, za sprawą nieprawidłowej konfiguracji resolver&#39;a DNS. Może niekoniecznie jest
winne tutaj samo oprogramowanie, które realizuje zapytania DNS, czy też serwer domen jakiejś
organizacji. Chodzi głównie o tematykę &lt;a href=&#34;https://pl.wikipedia.org/wiki/Virtual_Private_Network&#34;&gt;VPN&lt;/a&gt;,
gdzie cały ruch sieciowy powinien być wrzucany do tunelu SSL/TLS i szyfrowany. W pewnych sytuacjach,
zapytania DNS mogą zostać wysyłane pod zewnętrzny resolver, często w formie niezaszyfrowanej i do
tego poza połączeniem VPN. Ten ruch można podsłuchać, przechwycić i poddać analizie. Celem tego
artykułu jest tak skonfigurowanie linux&#39;a (w tym przypadku dystrybucja Debian), by te przecieki
wyeliminować. Jest to możliwe za sprawą narzędzia &lt;code&gt;resolvconf&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Konfiguracja dnscrypt-proxy w OpenWRT</title>
      <link>https://morfikov.github.io/post/konfiguracja-dnscrypt-proxy-w-openwrt/</link>
      <pubDate>Sun, 24 Apr 2016 20:10:01 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/konfiguracja-dnscrypt-proxy-w-openwrt/</guid>
      <description>&lt;p&gt;Realizowanie zapytań DNS jest kluczowe do poprawnego działania min. stron internetowych. Router z
OpenWRT na pokładzie bez problemu potrafi rozwiązywać domeny na adresy IP. Jest to realizowane przez
oprogramowanie &lt;code&gt;dnsmasq&lt;/code&gt; . Problem w tym, że zwykle resolver, który będzie uwzględniany w
konfiguracji routera, wskazuje na serwery DNS naszego ISP, czy też jakiejś większej korporacji. W
ten sposób, wszystkie dane z przeglądania stron internetowych podajemy tym organizacjom za free.
Przy pomocy &lt;a href=&#34;https://dnscrypt.org/&#34;&gt;narzędzia dnscrypt-proxy&lt;/a&gt; jesteśmy w stanie zabezpieczyć naszą
sieć przed tego typu zabiegami zbierania danych. Po części też możemy uchronić się przed cenzurą,
którą może nam zafundować lokalny provider internetowy. W tym artykule zaimplementujemy obsługę
szyfrowanego resolver&#39;a DNS na naszym domowym routerze.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Aero2 w połączeniu z dnsmasq i dnscrypt-proxy</title>
      <link>https://morfikov.github.io/post/aero2-w-polaczeniu-z-dnsmasq-dnscrypt-proxy/</link>
      <pubDate>Sat, 02 Apr 2016 18:47:47 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/aero2-w-polaczeniu-z-dnsmasq-dnscrypt-proxy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://aero2.pl/&#34;&gt;Aero2&lt;/a&gt; już od dość dawna oferuje darmowy dostęp do internetu w technologi LTE ale jakoś
wcześniej nie byłem tym tematem zainteresowany. Parę dni temu złożyłem jednak wniosek o kartę SIM,
tak by posiadać zapasowe łącze na wypadek, gdyby mój obecny ISP z jakiegoś powodu padł. Aero2
oferuje wersję komercyjną jak i tę za free i każda z nich ma swoje wady i zalety. Jako, że to łącze
ma robić jedynie za zapas, to korzystam z wersji FREE, a jest ono dość poważne ograniczenie, tj.
występuje tutaj &lt;a href=&#34;https://pl.wikipedia.org/wiki/CAPTCHA&#34;&gt;kod CAPTCHA&lt;/a&gt;, który trzeba wpisywać tak co godzinę, po czym należy resetować
modem. Ten kod może zostać zaserwowany jedynie w przypadku korzystania z DNS Aero2 i pozornie
odpada możliwość używania własnego systemu DNS opartego o &lt;a href=&#34;http://www.thekelleys.org.uk/dnsmasq/doc.html&#34;&gt;dnsmasq&lt;/a&gt; i &lt;a href=&#34;https://dnscrypt.org/&#34;&gt;dnscrypt-proxy&lt;/a&gt;. Po
kilku dniach eksperymentów udało mi się wypracować przyzwoitą konfigurację, która potrafi obejść to
ograniczenie, poprawiając tym samym prywatność i bezpieczeństwo w internecie korzystając z
darmowego LTE za sprawą Aero2. W tym wpisie postaramy się zaimplementować ten mechanizm na debianie.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Cache DNS, czyli włączenie buforowania zapytań</title>
      <link>https://morfikov.github.io/post/cache-dns-buforowania-zapytan/</link>
      <pubDate>Mon, 16 Nov 2015 20:13:06 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/cache-dns-buforowania-zapytan/</guid>
      <description>&lt;p&gt;Większość z nas wie, że standardowe instalacje systemu linux nie buforują żadnych zapytań do
serwerów DNS. Dzieje się tak dlatego, że te systemy domyślnie nie mają zainstalowanego żadnego
oprogramowania, które by im to umożliwiało. Niesie to ze sobą zwiększenie opóźnień transakcji
krótkoterminowych, np. tych w protokole http czy https. Za każdym razem gdy odwiedzamy jakiś serwis
www, musimy wykonać szereg zapytań DNS, by rozwiązać nazwy domen na adresy IP. W przypadku gdybyśmy
mieli cache DNS, to te nazwy nie musiałyby być za każdym każdym razem rozwiązywane na nowo,
przynajmniej nie przez odpytywanie zdalnego serwera DNS, do którego RTT wynosi jakieś 20-40ms.
Przydałoby się zatem nieco poprawić wydajność stron www i w tym wpisie postaramy się zaimplementować
prosty cache DNS z wykorzystaniem &lt;a href=&#34;http://www.thekelleys.org.uk/dnsmasq/doc.html&#34;&gt;narzędzia dnsmasq&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>DNScrypt-proxy, czyli szyfrowanie zapytań DNS</title>
      <link>https://morfikov.github.io/post/dnscrypt-proxy-czyli-szyfrowanie-zapytan-dns/</link>
      <pubDate>Thu, 18 Jun 2015 20:00:54 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/dnscrypt-proxy-czyli-szyfrowanie-zapytan-dns/</guid>
      <description>&lt;p&gt;Do protokołów SSL/TLS w serwisach www chyba wszyscy już przywykli. Obecnie praktycznie na każdej
stronie, gdzie jest okienko logowania, mamy do czynienia z szyfrowaniem danych przesyłanych w
różnego rodzaju formularzach. Co prawda, klucze nie są zbyt długie (512-2048 bitów) ale zawsze to
lepsze niż nic. O ile dane służące do logowania czy też wszelkie operacje dokonywane w panelach
administracyjnych da radę ukryć bez większego problemu, o tyle zapytania DNS są przesyłane otwartym
tekstem i każdy może je sobie podejrzeć. Pytanie tylko, po co szyfrować ruch DNS? Czy są tam
przesyłane jakieś ważne informacje? Jeśli przyjrzymy się jak działa system DNS, możemy dojść do
wniosku, że szyfrowanie zapytań jest pozbawione sensu, bo z reguły nazwa domeny oznacza konkretny
adres IP. Znając adres IP, możemy ustalić kto na jakie strony wchodzi. Nie do końca jest to prawdą,
poza tym istnieją jeszcze inne czynniki, które sprawiają, że ukrycie zapytań DNS ma jak najbardziej
sens. W tym wpisie zaimplementujemy sobie na naszych linux&#39;ach szyfrowanie zapytań DNS przy
wykorzystaniu &lt;a href=&#34;https://dnscrypt.org/&#34;&gt;narzędzia dnscrypt-proxy&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
