Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upIntegration of DNSCrypt #2341
Comments
rugk
changed the title from
Integration for DNSCrypt
to
Integration of DNSCrypt
Sep 29, 2016
andrewdavidwong
added
enhancement
help wanted
C: other
labels
Sep 30, 2016
andrewdavidwong
added this to the Far in the future milestone
Sep 30, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
adrelanos
Sep 30, 2016
Member
DNSCrypt does not encrypt end-to-end. It moves the trust from ones ISP to the server running DNSCrypt.
I am not convinced this is worth being installed by default in Qubes.
Do we want to get into the business of judging that some server does a better job at not spying on DNS than users ISPs? That is such an individual choice. More so, which server one trusts.
|
DNSCrypt does not encrypt end-to-end. It moves the trust from ones ISP to the server running DNSCrypt. I am not convinced this is worth being installed by default in Qubes. Do we want to get into the business of judging that some server does a better job at not spying on DNS than users ISPs? That is such an individual choice. More so, which server one trusts. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rugk
Sep 30, 2016
DNSCrypt does not encrypt end-to-end
Depends on how you define it. It encrypts end-to-end from DNS server to client.
It moves the trust from ones ISP to the server running DNSCrypt.
Wrong. It moves trust from no trust at all (= anyone can hijack/modify it) to (at least) some DNS server provider the user chooses to use&trust.
Do we want to get into the business of judging that some server does a better job
No, users can (& should) choose the servers by themselves. DNSCrypt includes a list of supported servers.
better job at not spying on DNS
Also with DNSCrypt the dns server hoster can "spy" on DNS. That's not the issue here.
The issue is that anyone can spy and modify on DNS requests as they are usually unencrypted.
than users ISPs
Also ISPs could run a dnscrypt dns server.
That is such an individual choice. More so, which server one trusts.
Yes, and that's why users must choose the server to trust. DNSCrypt is about the connection to this server, which should be secured.
rugk
commented
Sep 30, 2016
Depends on how you define it. It encrypts end-to-end from DNS server to client.
Wrong. It moves trust from no trust at all (= anyone can hijack/modify it) to (at least) some DNS server provider the user chooses to use&trust.
No, users can (& should) choose the servers by themselves. DNSCrypt includes a list of supported servers.
Also with DNSCrypt the dns server hoster can "spy" on DNS. That's not the issue here.
Also ISPs could run a dnscrypt dns server.
Yes, and that's why users must choose the server to trust. DNSCrypt is about the connection to this server, which should be secured. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
adrelanos
Sep 30, 2016
Member
What does it actually protect against? Against weak adversaries, who would read cleartext DNS requests but that are not motivated to break Tor? That is a fundamental decision if such weaker defenses are worth going for. For serious hiding of DNS traffic, traffic should be routed through Tor.
It moves trust from:
- open WifFi observers or compromised machines in home WiFi network / compromised router
- adversaries capable to MITM between user and ISP
- ISP DNS server
To:
- some server that may or may not be spying and/or compromised
- the ISP of that some server
Qubes wants to become more usable. That includes coming with safe defaults. And not asking users any questions where they are likely to make bad choices.
Which server should present in the question? All from this list?
https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv
And should a gui be invented that runs at first boot where the user should choose?
I am reasonable advanced user, and I wouldn't know why I should trust one of these servers from this list more than another or more than my ISP. Being presented with such a choice at first boot would be confusing.
I'd have to set up my own DNSCrypt server. But then I would have to trust the ISP of the server more than my own ISP. There may be situations where one individually judges that this is useful. But I doubt we should make that decision by default for all users.
Perhaps have a list of "good" and "bad" countries? As in known to tamper with DNS traffic. Censorship, perhaps malicious redirects. Then automatically redirect DNS from "bad" countries to "good" countries?
Or when users state they are using an untrusted network, automatically encrypt and redirect their DNS traffic to some server?
It sounds nice at first, but it's a rabbit hole.
|
What does it actually protect against? Against weak adversaries, who would read cleartext DNS requests but that are not motivated to break Tor? That is a fundamental decision if such weaker defenses are worth going for. For serious hiding of DNS traffic, traffic should be routed through Tor. It moves trust from:
To:
Qubes wants to become more usable. That includes coming with safe defaults. And not asking users any questions where they are likely to make bad choices. Which server should present in the question? All from this list? https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv And should a gui be invented that runs at first boot where the user should choose? I am reasonable advanced user, and I wouldn't know why I should trust one of these servers from this list more than another or more than my ISP. Being presented with such a choice at first boot would be confusing. I'd have to set up my own DNSCrypt server. But then I would have to trust the ISP of the server more than my own ISP. There may be situations where one individually judges that this is useful. But I doubt we should make that decision by default for all users. Perhaps have a list of "good" and "bad" countries? As in known to tamper with DNS traffic. Censorship, perhaps malicious redirects. Then automatically redirect DNS from "bad" countries to "good" countries? Or when users state they are using an untrusted network, automatically encrypt and redirect their DNS traffic to some server? It sounds nice at first, but it's a rabbit hole. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rugk
Sep 30, 2016
For serious hiding of DNS traffic, traffic should be routed through Tor.
Of course, but this if for daily use.
And should a gui be invented that runs at first boot where the user should choose?
You're right, that's not a good idea. I mean maybe you can also implement this feature as "disabled by default" and when users inform themself about DNSCrypt they can use.
Or when users state they are using an untrusted network, automatically encrypt and redirect their DNS traffic to some server?
This might be an idea.
In any case I think it is a clear advantage that DNS requests are protected "in the last mile" from the DNS server to the client, as this is usually the weakest link. As explained on the project website DNSCrypt protects this part against attacks such as modification of the requests.
rugk
commented
Sep 30, 2016
Of course, but this if for daily use.
You're right, that's not a good idea. I mean maybe you can also implement this feature as "disabled by default" and when users inform themself about DNSCrypt they can use.
This might be an idea. In any case I think it is a clear advantage that DNS requests are protected "in the last mile" from the DNS server to the client, as this is usually the weakest link. As explained on the project website DNSCrypt protects this part against attacks such as modification of the requests. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
InnovativeInventor
Sep 7, 2017
It could be an option that can be set up by users who are interested in DNSCrypt
InnovativeInventor
commented
Sep 7, 2017
|
It could be an option that can be set up by users who are interested in DNSCrypt |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
adubois
Mar 2, 2018
No arm is stacking tor with it? or is there?
If you want I can document it, I just need to migrate my blog posts:
http://bowabos.blogspot.co.uk/2013/11/how-to-set-up-dnscrypt-proxy-on-qubes-os.html
adubois
commented
Mar 2, 2018
|
No arm is stacking tor with it? or is there? |
rugk commentedSep 29, 2016
•
edited
Edited 1 time
-
rugk
edited Sep 29, 2016 (most recent)
I'd suggest you to integrate DNSCrypt into Qubes OS. Preferably so that all VMs automatically use this as a DNS resolver.
DNSCrypt provides confidentially, integrity and protects against sniffing DNS queries, which are by default unencrypted and unauthenticated allowing DNS redirection attacks. It uses the well-known and -tested library NaCl (respectively it's fork Libsodium).