"A DNSCrypt egy olyan protokoll, amely hitelesíti a DNS-ügyfél és a DNS-feloldó közötti kommunikációt. Megakadályozza a DNS hamisítást. Kriptográfiai aláírásokat használ annak ellenőrzésére, hogy a válaszok a kiválasztott DNS-feloldóból származnak-e, és hogy azokat nem hamisították-e meg. Ez egy nyílt specifikáció, ingyenes és nyílt forráskódú referencia-implementációkkal, és egyetlen vállalattal, sem szervezettel nem áll kapcsolatban. Ingyenes, DNSCrypt-kompatibilis feloldók az egész világon elérhetők."
Az alkalmazás több mint 200 dns szerver használatát teszi lehetővé, a listán többek között olyan nagy tapasztalattal rendelkező szolgáltatók is megtalálhatók mint a: AdGuard, CloudFlare, Cisco, Comodo, Google, IBM (quad9) és a Yandex. Mindezt többféle szűréssel vagy anélkül, DoH és DNSCrypt protokollok használatával.
Gondolom még senkivel sem fordult elő az az eset, hogy a munkáltatójától vagy az internet szolgáltatótól elkérték a lekérdezett dns címek listáját (vagy csak nem tud róla). Majd mazsolázott rajta valaki unalmában, mert az gondolta neki a feladata a teljes felügyelet:) dnscrypt.info
Én a DNSCrypt-Proxy-t használom, kb 5 éve. DNSCrypt-Proxy
Ezt az alkalmazást használom macOS, Windows, Fedora és Ubuntu operációs rendszereken is, ezért egyszerűbbnek és hatékonyabbak találtam az előre lefordított bináris fájlok használatát. Download the latest release
Jelenleg a legfrissebb Linuxos csomag a "dnscrypt-proxy-linux_x86_64-2.0.44.tar.gz 3.8 MB"
Letöltés és kicsomagolás után terminálban, mc használatával átmásolom az "opt" könyvtárba a "linux-x86_64" mappát "dnscrypt-proxy" néven.
- jogosultságok megőrzése nélkül, ebben az esetben futtathatóvá teszem a dnscrypt-proxy fájlt
- normál felhasználóként, majd átadom a mappa jogosultságokat a root-nak (chown -R root:root dnscrypt-proxy/)
Beállítások
Mentem (másolom) az „example-dnscrypt-proxy.toml" fájlt, „dnscrypt-proxy.toml néven”.
Valójában ha nem rendelkezel ipv6 kapcsolattal és a log fájlok sem érdekelnek akkor a továbbiakban semmi dolgod vele. Telepítés és indítás után megkeresi a leggyorsabb szervereket és azokat használja.
ipv6 használata esetén
listen_addresses = ['127.0.0.1:53', '[::1]:53']
#listen_addresses = ['127.0.0.1:53']
...
ipv6_servers = true
log
log_level = 2
log_file = 'dnscrypt-proxy.log'
query_log
file = 'query.log'
format = 'tsv'
Telepítés, indítás és az összes rendelkezésre álló parancs.
# cd /opt/dnscrypt-proxy
# ./dnscrypt-proxy -service install
# ./dnscrypt-proxy -service start
# ./dnscrypt-proxy -service stop
# ./dnscrypt-proxy -service restart
# ./dnscrypt-proxy -service uninstall
Szerintem jobb ha nem keverjük bele a systemd-resolved alkalmazást.
Ha fennhagyjuk, sincs gond de felesleges a /etc/resolv.conf tartalmát módosítani, mert visszaáll a default helyzetbe.
# systemctl stop systemd-resolved
# systemctl disable systemd-resolved
# apt remove resolvconf
Gnome használata esetén a beállítások/hálózat/wired/ipv4 (ipv6)
kikapcsoljuk az automatikus dns lekérést, és megadjuk az alábbi címeket:
- ipv4 esetén a 127.0.0.1
- ipv6 esetén a ::1
A rendszer újraindítása nélkül is működik, de a resolvconf csomag eltávolítás miatt érdemes újraindítani az operációs rendszerünket. Az alkalmazás első indítás kicsit hosszadalmasabb, mert ekkor hozza létre a log, a query és a szerverek listáját majd válaszidőt számol. Valójában a továbbiakban teljesen gondozásmentes az alkalmazásunk.
Teszt
# /opt/dnscrypt-proxy/dnscrypt-proxy -resolve ubuntu.com
Resolving [ubuntu.com]
Domain exists: yes, 3 name servers found
Canonical name: ubuntu.com.
IP addresses: 2001:67c:1360:8001::2c, 2001:67c:1360:8001::2b, 2001:67c:1562::1f, 2001:67c:1562::20, 91.189.91.45, 91.189.88.180, 91.189.91.44, 91.189.88.181
TXT records: google-site-verification=VRrD2nJ205Fu2-BOz9aflO85_pK6FIivrHt833IZLp8 MS=ms76489702
Resolver IP: 209.250.241.25 (jarjar.meganerd.nl.)
Lehetőség van (káros) domain tiltásra is, akár a phishing.army listája alapján. Amitől valójában mindenki ódzkodik, mert kicsit lassít (de hát a biztonság ...).
nano /opt/dnscrypt-proxy/dnscrypt-proxy.toml
blacklist
blacklist_file = 'blacklist.txt'
log_file = 'blocked.log'
log_format = 'tsv'
Lista letöltése a háttérben
crontab -e
* */6 * * * wget -q https://phishing.army/download/phishing_army_blocklist_extended.txt -O /opt/dnscrypt-proxy/blacklist.txt >/dev/null 2>&1
crontab -l
wget -q https://phishing.army/download/phishing_army_blocklist_extended.txt -O /opt/dnscrypt-proxy/blacklist.txt
Egy kis érdekesség, a log fájl utolsó két sora:
[NOTICE] Server with the lowest initial latency: cloudflare-ipv6 (rtt: 3ms)
[NOTICE] dnscrypt-proxy is ready - live servers: 109
Használja valaki a repos változatot, ha igen hogyan?