Domain Name Service (DNS) is one of the oldest parts of internet architecture, and remains one that has largely been untouched by efforts to make the web safer and more private. On the Firefox network and security teams, we’re working to change that by encrypting DNS queries and by testing a service that keeps DNS providers from collecting and sharing your browsing history.
For more than 30 years, DNS has served as a key mechanism for accessing sites and services on the web. Browsers (including Firefox) use DNS to access a distributed database that turns URLs into TCP/IP addressing information. Firefox cannot do much without the service. DNS hails from the days of a kinder, more gentle Internet where it was normal to make this kind of query using unencrypted protocols and send them to any nearby server who claimed to be able to answer it.
This approach is no longer a fit for the modern Internet. Because there is no encryption, other devices along the way might collect (or even block or change) this data too. DNS lookups are sent to servers that can spy on your website browsing history without either informing you or publishing a policy about what they do with that information.
While sophisticated users can turn to cloud-based “open resolvers” that offer better privacy controls than what is available by default from most internet service providers (ISPs), these resolvers rely on the same old unencrypted protocols so ISPs can often intercept data anyway.
Our first effort to upgrade the privacy of DNS is to implement the DNS over HTTPS (DoH) protocol, which encrypts DNS requests and responses. See Lin Clark’s terrific explainer about how DNS over HTTPS can really improve the state of the art.
DoH support has been added to Firefox 62 to improve the way Firefox interacts with DNS. DoH uses encrypted networking to obtain DNS information from a server that is configured within Firefox. This means that DNS requests sent to the DoH cloud server are encrypted while old style DNS requests are not protected. DoH standardization is currently a work in progress and we hope that soon many DNS servers will secure their communications with it.
Firefox does not yet use DoH by default. See the end of this post for instructions on how you can configure Nightly to use (or not use) any DoH server.
Our second effort focuses on building a default configuration for DoH servers that puts privacy first.
We are running a shield study where some Nightly users will participate in one or more experiments to help us build out a secure, cloud-based service that handles DoH requests. All Nightly users will receive an in-product notification about these studies.
Cloudflare is our partner for these experiments. When a shield study is active, Nightly Firefox will automatically use Cloudflare’s secure DNS over HTTPS service (though we aren’t using the famous 1.1.1.1 address). The first study will test whether DoH’s performance is up to the task.
We’ve chosen Cloudflare because they agreed to a very strong privacy agreement that protects your data. TCP/IP requires sharing the name of a website with a third party in order to connect, regardless of whether you’re using DoH or traditional DNS. We want to be confident your DNS operates with strong privacy preserving terms like those we have established with Cloudflare.
We believe that negotiating a privacy first operating agreement is something that Firefox can do for people that is just impractical to ask them to do for themselves. Imagine calling up your residential ISP and asking them to agree to an audit that demonstrates they do not log your IP address on their DNS server. And then repeating the process for your favorite coffee shop, library, friend’s house — anywhere you and your browser go to connect.
Firefox improves user privacy by default by finding good partners, establishing legal agreements that put privacy first, and eventually shipping a default configuration we believe is best.
Shield studies will come and go. If you would like to see what studies you are currently enrolled in simply load about:studies in the location bar. You can also opt out of studies on that page.
How-To Manually Configure DoH
Do you want to use (or not use) DoH all the time? Use the configuration editor to configure DoH if you want to test DoH outside of a shield study. DoH support works best in Firefox 62 or newer. Shield studies will not override your manual configuration.
1] Type about:config in the location bar
2] Search for network.trr (TRR stands for Trusted Recursive Resolver – it is the DoH Endpoint used by Firefox.)
3] Change network.trr.mode to 2 to enable DoH. This will try and use DoH but will fallback to insecure DNS under some circumstances like captive portals. (Use mode 5 to disable DoH under all circumstances.)
4] Set network.trr.uri to your DoH server. Cloudflare’s is https://mozilla.cloudflare-dns.com/dns-query but you can use any DoH compliant endpoint.
The DNS tab on the about:networking page indicates which names were resolved using the Trusted Recursive Resolver (TRR) via DoH.
Brian Herman wrote on
      
        wrote on        
          
        
      
    
Byron Goodman wrote on
      
        wrote on        
          
        
      
    
Max wrote on
      
        wrote on        
          
        
      
    
thierrybo wrote on
      
        wrote on        
          
        
      
    
victor wrote on
      
        wrote on        
          
        
      
    
Mark R wrote on
      
        wrote on        
          
        
      
    
Ralf wrote on
      
        wrote on        
          
        
      
    
Fahrenheit 451 wrote on
      
        wrote on        
          
        
      
    
Damon wrote on
      
        wrote on        
          
        
      
    
Eric wrote on
      
        wrote on        
          
        
      
    
Dennis wrote on
      
        wrote on        
          
        
      
    
Mike Gale wrote on
      
        wrote on        
          
        
      
    
Wellington Torrejais da Silva wrote on
      
        wrote on        
          
        
      
    
Frank wrote on
      
        wrote on        
          
        
      
    
XCanG wrote on
      
        wrote on        
          
        
      
    
Patrick McManus wrote on
      
        wrote on        
          
        
      
    
XCanG wrote on
      
        wrote on        
          
        
      
    
Csaba wrote on
      
        wrote on        
          
        
      
    
gmelis wrote on
      
        wrote on        
          
        
      
    
Lord of the flies wrote on
      
        wrote on        
          
        
      
    
David C. wrote on
      
        wrote on        
          
        
      
    
Adam wrote on
      
        wrote on        
          
        
      
    
LinuxBender wrote on
      
        wrote on        
          
        
      
    
22December wrote on
      
        wrote on        
          
        
      
    
Filipescu Mircea Alexandru wrote on
      
        wrote on        
          
        
      
    
Sanity wrote on
      
        wrote on        
          
        
      
    
bussdriver wrote on
      
        wrote on        
          
        
      
    
Firefox User No more wrote on
      
        wrote on        
          
        
      
    
Nathan Hubbard wrote on
      
        wrote on        
          
        
      
    
Felix wrote on
      
        wrote on        
          
        
      
    
Mot wrote on
      
        wrote on        
          
        
      
    
Karel wrote on
      
        wrote on        
          
        
      
    
Ingo wrote on
      
        wrote on        
          
        
      
    
Eric wrote on
      
        wrote on        
          
        
      
    
Patrick McManus wrote on
      
        wrote on        
          
        
      
    
bodo wrote on
      
        wrote on        
          
        
      
    
Bruce wrote on
      
        wrote on        
          
        
      
    
Ralph Loizzo wrote on
      
        wrote on        
          
        
      
    
Josh wrote on
      
        wrote on        
          
        
      
    
Throwaway wrote on
      
        wrote on        
          
        
      
    
Ailothaen wrote on
      
        wrote on        
          
        
      
    
Robert wrote on
      
        wrote on        
          
        
      
    
Clarissa wrote on
      
        wrote on        
          
        
      
    
PhoenixRevertsToAshes wrote on
      
        wrote on        
          
        
      
    
Caus wrote on
      
        wrote on        
          
        
      
    
Jamie wrote on
      
        wrote on        
          
        
      
    
Enrico Weigelt, metux IT consult wrote on
      
        wrote on        
          
        
      
    
Daniel Brandt, Public Information Research wrote on
      
        wrote on        
          
        
      
    
Dan wrote on
      
        wrote on        
          
        
      
    
Rene wrote on
      
        wrote on        
          
        
      
    
Kevin Burke wrote on
      
        wrote on        
          
        
      
    
David wrote on
      
        wrote on        
          
        
      
    
Jim Smith wrote on
      
        wrote on        
          
        
      
    
Jim Smith wrote on
      
        wrote on        
          
        
      
    
David Davidson wrote on
      
        wrote on        
          
        
      
    
ingo wrote on
      
        wrote on        
          
        
      
    
aldofo wrote on
      
        wrote on