Add exception list for https-first with remote settings
Categories
(Core :: DOM: Security, enhancement, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox135 | --- | fixed |
People
(Reporter: freddy, Assigned: maltejur)
References
(Blocks 1 open bug)
Details
(Whiteboard: [domsecurity-active])
Attachments
(1 file, 5 obsolete files)
HTTPS-First allows for fallbacks when a website does not provide HTTPS. However, there is a low number of websites that support HTTPS but do not work over HTTPS (prime example is http://www.bom.gov.au/). Therefore, we need an opt-out.
Our Product team argues that a browser button is a poor choice because then we will put the onus on the end user, who already has a (somewhat undesirable) "unbreak this website please" button with the Tracking Protection. Having two buttons that serve a similar flow would be unfortunate.
Therefore, we want to work with a list of websites that should not be upgraded.
Tim Huang suggests using remote settings collectio on the server end and implementing a client in Firefox to consume this. The list itself could live on GitHub and be maintained as a separate repo.
Further pointers (from Tim)
| Reporter | ||
Updated•2 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 2•1 year ago
•
|
||
To add a exemption list for HTTPS-Only/-First, we have decided a while ago that between remote settings, modifying the webcompat addon, and custom prefs, prefs are the best choice. They are the easiest to implement and can be updated quickly between releases if a site breaks because of HTTPS-Only/-First. So I have attached a prototype patch that adds four new prefs that implement an allowlist. They work as following:
dom.security.https_only_mode.exempt_domains.managed - Comma-separated list of eTLD+1 domains which should be ignored by HTTPS-Only. This pref is where the Mozilla-managed exemptions should be stored and updated. This pref should not be edited by users, unless they do not want to receive updates for exemptions.
dom.security.https_only_mode.exempt_domains.user_overrides - Similar comma-separated list as the first pref, although this is meant for users to individually override exemptions from the managed pref, or add their own exemptions. The entries of this list can optionally be prefixed with a - to indicate that a exemption should be removed instead of added. This list has priority over the first one.
dom.security.https_first.exempt_domains.managed and dom.security.https_first.exempt_domains.user_overrides - Similar to first two, although this time for HTTPS-First
An example of how these prefs can be set could be:
dom.security.https_first.exempt_domains.managed = a.example.com
(a.example.com is broken with HTTPS-First, so it is included by default in this pref)
dom.security.https_first.exempt_domains.user_overrides = -a.example.com,b.example.org
(The user does not want the default exemption, so they remove it again. They also want a exemption for b.example.org though, so they add it here)
It is also important to mention that there already is a mechanism for regular users to add exemptions via permissions that are completely unrelated to these prefs. They can be found in the HTTPS-Only section of the Privacy & Security settings, or in the site identity panel (lock icon) if there has been any interaction with HTTPS-Only/-First. These permissions can not easily be set though by default by us, and more importantly, they can not be updated quickly. This is why we want to add these prefs in addition to the current permission.
| Assignee | ||
Comment 3•1 year ago
•
|
||
Mike, I was told that this is probably an interesting option for enterprise users, for example if any internal sites behave weirdly with HTTPS-Only/-First. I could imagine that it makes sense to add an enterprise policy which can also accept similar positive and negative overrides as the user_overrides pref. That policy could than be mapped to a locked third pref dom.security.https_only_mode.exempt_domains.enterprise_overrides.
Implementing that is probably best suited for a follow-up bug. But I already wanted to ask about your opinion now, because if you still have any fundamental concerns about these prefs, they can be best addressed now.
Comment 4•1 year ago
|
||
Having the same things configured between prefs and permissions seems like a foot gun.
That being said, if I did this via policy, I would probably use the existing permissions mechanisms not the prefs (as it's much easier to manage adding to the permissions stuff with policy).
| Assignee | ||
Comment 5•1 year ago
•
|
||
I see what you mean and had the same thought myself. The problem with permissions right now is that afaik we have no good way of adding "default" permissions for specific sites. But since you are also concerned about adding a extra pref, and I head a similar comment from pbz
on Slack, it may be a better idea to add some sort of Remote Settings capability for default permissions in the permissions manager. That would be more work than what would be required for the prefs, but it would also mean the same mechanism can be used for other permissions down the line.
If we would go that route, I could imagine that remote settings can always provide a list of default exceptions, and the user can then override those via the existing permissions ui (see attached mockup).
| Assignee | ||
Comment 6•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 7•1 year ago
|
||
| Assignee | ||
Comment 8•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
| Reporter | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 9•1 year ago
|
||
| Reporter | ||
Comment 10•1 year ago
|
||
Is this a duplicate of bug 1919558?
It seems patches 1-6 and 8 went to bug 1919558 and patch 7 went here?
| Reporter | ||
Comment 11•1 year ago
|
||
Oh never mind. This is about the HTTPS-First specific bit. Bug 1919558 is making that generic over all existing permissions, which is - by the way - really nice to have :)
| Reporter | ||
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 12•1 year ago
|
||
Updated•1 year ago
|
Comment 13•1 year ago
|
||
Comment on attachment 9429854 [details]
Bug 1816449 - Part 7: Add test for remote permission service r?pbz!,#permissions-reviewers!
Revision D225049 was moved to bug 1919558. Setting attachment 9429854 [details] to obsolete.
Comment 14•1 year ago
|
||
Comment 15•1 year ago
|
||
Comment 16•1 year ago
|
||
Comment 17•1 year ago
|
||
Backed out for causing failures at test_open_and_databases.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/37f09713c73175d0a40718b24cf5a7e65f83d707
Failure log: https://treeherder.mozilla.org/logviewer?job_id=481837969&repo=autoland&lineNumber=3613
Comment 18•1 year ago
|
||
Comment 19•1 year ago
|
||
Backed out for causing mochitest failures @ test_refresh_firefox.py
Backout link: https://hg.mozilla.org/integration/autoland/rev/03586c970444deda68081dd83122b13ae535f66d
| Assignee | ||
Updated•1 year ago
|
Comment 20•1 year ago
|
||
Comment 21•1 year ago
|
||
| bugherder | ||
Description
•