mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #3033] DNS over HTTPS (DoH) #1900
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#1900
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @netblue30 on GitHub (Nov 8, 2019).
Original GitHub issue: https://github.com/netblue30/firejail/issues/3033
I wanted to add DoH support by default for all sandboxes, but I ended up using OpenSSL. I don't want to create problems for anybody, so this goes as a separate project at least for now. We can bring it in firejail later.
https://github.com/netblue30/fdns
The proxy runs on port 127.1.1.1, so in firejail you would run:
firejail --dns=127.1.1.1 firefox
DoH functionality is already included in Firefox, and apparently some other browsers will follow (see https://www.zdnet.com/article/dns-over-https-will-eventually-roll-out-in-all-major-browsers-despite-isp-opposition/). We are more interested in things like bittorrent etc.
@ghost commented on GitHub (Nov 9, 2019):
Thanks for another great addition! Realizing this is brandnew, I wanted to ask clarification on what's mentioned here:
The second line seems odd, as in my understanding
ignore dnswill undo what the previous line does, defeating its purpose. Or am I misunderstanding this? I ask because I already make extensive use of firejail'sdns=127.0.0.1option, pointing it to a local DNSCrypt client (running on 127.0.0.1), which seems to work as expected. I only useignore dnsin .local overrides for services that havenet none.On another note, I wonder if it makes sense to explicitly inform users on how to
opt-outof Firefox's DoH by blocking use-application-dns.net (see this)?@rusty-snake commented on GitHub (Nov 9, 2019):
ignore dnswil ignore any following (but not previous) parseddnscommand.See my notes in this commit about
seccomp, these are the same rules.Or just set
about:config?filter=network.trr.modeto5.@ghost commented on GitHub (Nov 9, 2019):
@rusty-snake Thanks for clearing that up.
Indeed, there are several ways to opt-out. The network.trr.mode is a Firefox internal one. I referred to a DNS option. I just wanted to stress that a small entree in the fdns FAQ to inform users on how to opt-out would be nice.
@Nurmagoz commented on GitHub (Nov 18, 2019):
yes it will cause alot of troubles and hope never to be implemented by default. This is privacy suckness design to route all your traffic through CDN:
https://twitter.com/isotopp/status/1170973842954686464
https://developers.cloudflare.com/1.1.1.1/commitment-to-privacy/privacy-policy/firefox/
Yeah i believe you! ... Only if im idiot..
@laniakea64 commented on GitHub (Nov 19, 2019):
Sorry @netblue30 but enabling DoH by default like that will cause problems for people:
I have set up local DNS filtering at the system level, to e.g. block malicious domains and some particularly privacy-invasive domains. Per-program DoH bypasses the system DNS, so it will completely bypass this filtering. And firejail being a sandboxing program, this is even worse because firejail gets used to run the most exposed programs on the system. Bypassing security and privacy measures by default for the most exposed programs is unexpected and unacceptable.
No external DoH server will know about local domain names used for accessing local network resources. Using DoH by default will make such resources inaccessible by domain name, unnecessarily leak local domain names to an external server, and waste bandwidth.
I'm not sure I would be totally comfortable with the idea of my sandboxing program also being a server.
If DoH support does get integrated into firejail, please make it completely opt-in, like
--dns=is now, and/or add a build-time switch to completely disable firejail's DoH support at build time. Thanks!@netblue30 commented on GitHub (Nov 20, 2019):
@laniakea64
I had the feeling that would be the case, so it will stay forever as a separate plugin. It does bypass any dns-based security that is set up on the system or on the local network.
Mozilla was supposed to deploy DoH as default this autumn in the browser, but they are getting a lot of pushback from governments, ISPs and enterprise people. So they are cooling down on it. We'll see what they do next. Apparently, Google will make it opt-in in Chromium.
Anyway, as a separate/opt-in project it should be fine. Probably for enterprise users I will have to put a note on the main page of the project saying something like "don't use this on your employer network". I do expect them to start monitoring traffic on their networks.
@TNTBOMBOM
That's a good point. We just added --server=random where it pics a random server form the list. Currently we have 7 servers there, and the list is growing. The most interesting so far are two small privacy-oriented nonprofit foundations: https://42l.fr and https://appliedprivacy.net.
Thank you all for your input!
@pizzadude commented on GitHub (Nov 21, 2019):
thank you netblue30 for keeping this optional