mail account autoconfiguration via DNS SRV (possibly with DNSSEC) rfc6186
Categories
(Thunderbird :: Account Manager, enhancement)
Tracking
(Not tracked)
People
(Reporter: dbaron, Unassigned, NeedInfo)
References
()
Details
(Whiteboard: See comment 63)
Attachments
(1 obsolete file)
Comment 1•19 years ago
|
||
Reporter | ||
Comment 2•19 years ago
|
||
Comment 3•18 years ago
|
||
Comment 4•18 years ago
|
||
Comment 5•18 years ago
|
||
Updated•17 years ago
|
Comment 6•17 years ago
|
||
Comment 7•17 years ago
|
||
Updated•17 years ago
|
Updated•17 years ago
|
Updated•17 years ago
|
Updated•17 years ago
|
Comment 10•17 years ago
|
||
Comment 11•17 years ago
|
||
Comment 12•17 years ago
|
||
Updated•17 years ago
|
Comment 13•17 years ago
|
||
Comment 14•17 years ago
|
||
Comment 15•17 years ago
|
||
Comment 16•17 years ago
|
||
Comment 17•17 years ago
|
||
Comment 18•17 years ago
|
||
Comment 19•17 years ago
|
||
Comment 20•17 years ago
|
||
Comment 22•16 years ago
|
||
Comment 23•16 years ago
|
||
Comment 24•16 years ago
|
||
Comment 25•16 years ago
|
||
Comment 26•16 years ago
|
||
Comment 27•16 years ago
|
||
Comment 28•16 years ago
|
||
Comment 29•16 years ago
|
||
Comment 30•16 years ago
|
||
Comment 31•16 years ago
|
||
Comment 32•16 years ago
|
||
Comment 33•16 years ago
|
||
Comment 34•16 years ago
|
||
Comment 35•16 years ago
|
||
Comment 36•15 years ago
|
||
Comment 37•15 years ago
|
||
Comment 38•15 years ago
|
||
Comment 39•15 years ago
|
||
Updated•15 years ago
|
Comment 40•15 years ago
|
||
Reporter | ||
Comment 41•15 years ago
|
||
Comment 42•15 years ago
|
||
Comment 43•15 years ago
|
||
Comment 44•15 years ago
|
||
Comment 45•15 years ago
|
||
Comment 46•15 years ago
|
||
Comment 48•14 years ago
|
||
Updated•14 years ago
|
Comment 50•14 years ago
|
||
Comment 51•12 years ago
|
||
Comment 52•12 years ago
|
||
Comment 53•12 years ago
|
||
Comment 54•12 years ago
|
||
Comment 55•12 years ago
|
||
Comment 56•12 years ago
|
||
Comment 57•10 years ago
|
||
Comment 58•8 years ago
|
||
Comment 59•7 years ago
|
||
Comment 60•7 years ago
|
||
Updated•7 years ago
|
Comment 61•7 years ago
|
||
Comment 62•7 years ago
|
||
Comment 63•7 years ago
|
||
Comment 64•7 years ago
|
||
Comment 65•7 years ago
|
||
Comment 66•6 years ago
|
||
It's easier to add a dns field, than to configure via a web server
We will hope that the RFC will be applied
Comment 67•5 years ago
|
||
For the record (and potential inspiration), implementation of rfc6186 in kmail is done: https://github.com/k9mail/k-9/pull/4719
Comment 68•5 years ago
|
||
After 14 years this is still open. What I can't figure out is why not having DNSSEC with RFC 6186 is seen as such a big problem while the currently implemented Autoconfiguration feature gets the information from plain HTTP URLs. Both methods are identically vulnerable to MitM.
Comment 69•5 years ago
•
|
||
Esa, I answered that 3 years ago in comment 63. I mentioned 3 separate reasons. Each reason on its own is a serious problem.
Comment 70•5 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #69)
Esa, I answered that 3 years ago in comment 63. I mentioned 3 separate reasons. Each reason on its own is a serious problem.
Thanks, Ben! Some good and valid arguments there. It's just that while the current approach might have some clear advantages over RFC 6186, it doesn't seem any better security wise – quite the opposite. Or does the Autoconfiguration perhaps support HTTPS and HSTS (RFC 6797) with preloading, which would make forcing TLS possible?
Comment 71•3 years ago
|
||
(In reply to Ben Bucksch (:BenB) from comment #63)
- DNS SRV does not give us some critical information we need to configure the accounts. Specifically, which form the username needs to be transmitted. Is it bbob, or bbob@example.com, or even something like EXAMPLE\bbob? Get it wrong, and the configuration
doesn't work.
Sure, we can try them all. And risk authentication failures and - worst
case - triggering
3-failures-in-a-row-and-you're-out security mechanisms.
We're back to guessing and trail&error.
That defeats the entire point of getting an authoritative configuration
that will definitely work.
If we were to support DNS SRV, then only as a second-class, fallback,
legacy format.
This question is already addressed by RFC 6186, see under Section 4:
When a user identifier is required, MUAs MUST first use the full email address provided by the user, and if that results in an authentication failure, SHOULD fall back to using the "local-part" extracted from the email address. This is in line with the guidance outlined in Section 5. If both these user identifiers result in authentication failure, the MUA SHOULD prompt the user for a valid identifier.
According to Section 5, service providers SHOULD implement their service so that either the mail address or the "local-part" only is sufficient for authentication. So this should work for most cases.
I propose that for the username Thunderbird should do according to the RFC. If both variants fail, Thunderbird could then fallback to first try out the other auto configuration methods. If any other auto configuration method are configured, Thunderbird could use those and ignore the DNS SRV records. If only the DNS SRV are configured, it could ask the user. If such rare case happens, users should probably know which username they should use. If not, it is still better to only ask for the username instead of currently not implementing DNS SRV because it might not work perfectly and ask the user for the complete server configuration.
To me, it sounds like you want users to have a great experience with Thunderbird. However, I think users will now go to a mail provider which claims to support auto configuration according to common standard (referring to RFC 6186) and they will see that most mail applications support his mail provider out of box, but not Thunderbird, which in my opinion could lead that users might not want to use Thunderbird "because it does not just work".
Updated•3 years ago
|
Comment 72•2 years ago
|
||
Hello,
at what stage is the implementation of RFC6186? It seems like it still doesn't work. It would really make life easier for us ISPs.
Comment 73•2 years ago
|
||
bug 1852752 seems to be necessary before this can be done
Comment 74•1 year ago
|
||
(In reply to Selek Respa from comment #73)
bug 1852752 seems to be necessary before this can be done
Comment 75•1 year ago
•
|
||
MUAs MUST first use the full email address provided by the user, and if that results in an authentication failure, SHOULD fall back to using the "local-part" extracted from the email address
a) This is not good enough, because it's guessing / try&error.
b) We also need to know the authentication method: Password or OAuth2 or CRAM MD5 or SCRAM or one of the other SASL mechanisms. Together with the 2 username forms, there are too many permutations (2 * 5 = 10, just for these 2 factors), and we cannot try them all.
c) The servers may block the user account after too many failed login attempts, so even one pass with all the permutations might lock the user out and make even the working (!) config fail as well. Which, together, makes guessing fairly futile.
We need both username form and authentication method, and we need to be certain about both of them.
Comment 76•1 year ago
•
|
||
If the reasoning is about DNS SRV being a standard: Autoconfig is already a quasi-standard today, supported by over 10 email clients and many servers and server-side software, and we (i.e. the people at the IETF and me) are currently in the process of standardizing it as IETF standard.
Comment 77•8 months ago
|
||
Hi,
(In reply to Ben Bucksch (:BenB) from comment #75)
MUAs MUST first use the full email address provided by the user, and if that results in an authentication failure, SHOULD fall back to using the "local-part" extracted from the email address
[…]
We need both username form and authentication method, and we need to be certain about both of them.
I understand and I agree with the reasons you give here to need both username form and authentication method. I read the draft you are working on too, nice work, thanks for this.
However, in the Autoconfig method there is one missing information, too: what if one can't setup a webserver on port 80 or 443? Think about people with limited port range, for any reason.
That's a real use case not addressed by Autoconfig. Only a kind of mix of DNS + Autoconfig can solve this issue (like the one explained in this outdated but interesting wiki page, but I know this may not be very convenient).
What do you think?
Comment 78•3 months ago
|
||
For some hard data, I wrote a script to check all of the config files in Mozilla's IPSDB, which includes over 900 domains. Of those 153 config files, I was able to find a full configuration directly from the provider for 41 of them. I of course first looked for an XML autoconfig file, but then fell back to looking for DNS SRV records. Of the 41 configurations I was able to find, 9 were from DNS SRV records, so by supporting RFC 6186, we could potentially remove at least 9 config files from the ISPDB. See this comment on the ISPDB repository for more information the full results. If anyone wants to reproduce these results or test other providers, the script is available here.
A couple of things to note: The current autoconfig standard that Thunderbird follows already requires looking up the DNS MX record, which without validating the DNSSEC is just as vulnerable as looking up DNS SRV records. In addition, Thunderbird actually already uses DNS SRV records without validating the DNSSEC when determining the CardDAV and CalDAV configuration per RFC 6764. Obviously, we will need local DNSSEC validation in Thunderbird, as well as private DNS with DoH.
Comment 79•2 months ago
|
||
Keep in mind though that local dns resolvers on your local cpe might already get the data via dot&doh. Don' tie these requirements together too strictly.
Comment 80•2 months ago
|
||
Keep in mind though that local dns resolvers on your local cpe might already get the data via dot&doh. Don' tie these requirements together too strictly.
The problem is that many ISP provided DNS servers do not support DNSSEC, so directly supporting either DoH or DoT would be required for Thunderbird to validate the DNSSEC for those users. For example, if I try to make a DNS request using my default DNS resolver and delv
, which attempts to validate the DNSSEC, I just get errors:
$ delv +short example.com
;; broken trust chain resolving 'example.com/DS/IN': 10.255.255.254#53
;; broken trust chain resolving 'example.com/DNSKEY/IN': 10.255.255.254#53
;; broken trust chain resolving 'example.com/A/IN': 10.255.255.254#53
;; resolution failed: broken trust chain
However, if I instead use CloudFlare's DNS resolver, it works as expected:
$ delv @1.1.1.1 +short example.com
23.192.228.80
...
Therefore, if Thunderbird were to support local DNSSEC validation without private DNS, it would be somewhat useless for many users. The good news is that Mozilla has already implemented DoH support in Firefox, so it would just need to be copied over to Thunderbird and enabled (partly bug 1757761). Thunderbird would also need the UI that was added to Firefox in bug 1610741/bug 1596847. My script uses Mozilla's CloudFlare DoH endpoint by default for the DNS record lookups and per the standard, it also shows if it found the configuration using an insecure method (the DNS records were not signed with DNSSEC).
What is really ironic is that Thunderbird's new Thundermail e-mail service actually supports RFC 6186, but this could only be used by other clients:
$ delv @1.1.1.1 +short _imaps._tcp.tb.pro SRV
0 1 993 mail.tb.pro.
$ delv @1.1.1.1 +short _pop3s._tcp.tb.pro SRV
0 1 995 mail.tb.pro.
$ delv @1.1.1.1 +short _submissions._tcp.tb.pro SRV
0 1 465 mail.tb.pro.
Comment 81•2 months ago
•
|
||
DNS MX record ... is just as vulnerable as looking up DNS SRV records
Yes, but we use MX only as fallback when we cannot get the config directly. If possible, we use HTTPS from the provider directly, or ISPDB, which is also HTTPS. But you're recommending to replace these secure mechanisms with the less secure DNS SRV:
by supporting RFC 6186, we could potentially remove at least 9 config files from the ISPDB
In addition, DNS SRV does not provide a solution for reason 3 in comment 63. DNS SRV only provides hostname and port. It's simply lacking the majority of the information: username form, authentication method, OAuth2 server etc.pp.. Scrambling and guessing and try&error are not a solution, esp. when it comes to login, and considering the multiplication of the various factors - that's what we did 15 years ago, before AutoConfig, and it did not work, that's why I invented AutoConfig in the first place.
Description
•