Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create https.json #112

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Create https.json #112

wants to merge 3 commits into from

Conversation

StarPicard
Copy link
Contributor

First implementation of some https presets.
Source: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/user.js#L691

@allo- allo- mentioned this pull request Mar 23, 2018
@shvchk
Copy link

shvchk commented May 7, 2020

Maybe consider adding HTTPS only mode available from FF 76.

@allo-
Copy link
Owner

allo- commented May 7, 2020

@StarPicard I am not sure if we discussed this already in an issue:

Your settings look good, but they are a rather opaque set of "trust me, this will improve your security" settings, that are just described with labels like ultra. This is fine for copy & paste from a user.js file, but I am not sure how it fits in the generator that tries to be transparent in what each switch does.

In addition you may need to be careful not to set things, that are obsolete later. Let's say we would have set a TLSv1.1-only switch, then users would now need to change it to use TLSv1.2 and TLSv1.3.

I am still thinking about a "paranoid" (or similar) profile for users who know a bit more and risk to break more, but get the best security as default. There it may fit in, or will fit in split into a few more settings, so I kept this PR open.

@shvchk This looks promising and is easy to understand.

My personal opinion: From the post you linked I think it looks too much like a "real" security error considering the current internet, but it should look like this, once we are able to really obsolete plain HTTP. I guess Mozillas plan is to enable it by default in some future release, probably when Google does the same.
I would have preferred for now a warning in another style and with a bit more explanation.

For the generator: I think we can include this with an appropriate warning. Do you like to open an own issue for that containing the setting and the link, so you get notified when it's added?

"security.pki.sha1_enforcement_level": 1,
"security.ssl.treat_unsafe_negotiation_as_broken": true,
"browser.ssl_override_behavior": 1,
"security.insecure_connection_icon.enabled": true,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could also add security.insecure_connection_text.enabled = true, which adds text "Not Secure" to HTTP sites.

{
"security.tls.version.min": 3,
"security.tls.version.fallback-limit": 3,
"security.tls.version.max": 4,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting a max version may be dangerous when there are newer TLS versions and the old ones are proven to be insecure

{
},
{
"security.tls.version.min": 3,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Min TLS 1.3 would be nice, but probably still breaks many websites. We need to split this into multiple settings.

"security.tls.version.max": 4,
"security.ssl.disable_session_identifiers": true,
"security.ssl.errorReporting.automatic": false,
"security.ssl.errorReporting.enabled": false,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error reporting is more about privacy. I guess security is even improved by sending error reports (so sites can be fixed).

Comment on lines +46 to +47
"security.OCSP.enabled": 1,
"security.OCSP.require": true,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OCSP without stapling is a privacy problem, disabling OCSP is a security problem. I am not sure if we should change anything here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants