documentation/Running-Mastodon
Bjarni Rúnar Einarsson 72ed10378f Avoid hard-coding ciphers into configuration (#171)
* Avoid hard-coding ciphers into configuration

This change allows OpenSSL to choose the most appropriate available cipher(s) from the HIGH cipher suite. This is sufficient to get an A on the SSLLabs.com tests suite. If MEDIUM is allowed as well, the grade drops to a B which is still more than adequate for most deployments.

This type of configuration would prevent problems such as the current inability of Tusky on Android 7 devices to connect to some Mastodon instances.

The main benefit though, is this delegates the decisions about which ciphers are "good" and which ciphers are "bad" to the experts; the distribution security teams and the OpenSSL developers. If a weakness is found in a particular cipher it will get moved from HIGH to one of the lower classes (or removed entirely) and this will get deployed just like any other security update. Similarly, if new stronger ciphers are standardized (such as Curve 25519) - these will immediately become available without needing to change the configuration.

Hope this helps!

Note: I have not been able to test this change with Mastodon myself. I am using these settings in production elsewhere though, and they work quite well. Alternately, if people don't want to trust the OpenSSL definitions, please consider taking a look at https://wiki.mozilla.org/Security/Server_Side_TLS and implementing the recommendations from there.

* Also avoid SHA1

As requested during review. :)

* Fix a typo in the ssl_ciphers line

I wrote !SHA1, should have written just !SHA. Very sorry about the noise.
2017-04-27 22:25:39 +02:00
..
Administration-guide.md munin graph for your mastodon instance 2017-04-23 18:51:37 +02:00
Alternatives.md moved things into alternatives.md 2017-04-14 15:53:38 -07:00
Customizing.md Customization with custom.scss documentation (#56) 2017-04-17 00:26:17 +02:00
Development-guide.md Development: Fix bundle install instructions and expand on running rails (#133) 2017-04-27 11:15:53 +02:00
Docker-Guide.md Docker-guide consistency 2017-04-27 10:56:41 +02:00
Heroku-guide.md Fix bad quote char in IAM policy (#108) 2017-04-20 20:07:32 +02:00
Maintenance-Tasks.md Import from main repo README (#82) 2017-04-18 16:32:47 +02:00
PgBouncer-guide.md Fix typo in BgBouncer-guide.md (#168) 2017-04-27 22:24:59 +02:00
Production-guide.md Avoid hard-coding ciphers into configuration (#171) 2017-04-27 22:25:39 +02:00
Resources-needed.md Small URL error in Resources-needed.md (#116) 2017-04-22 00:29:06 +02:00
Scalingo-guide.md Make scalingo doc clearer 2017-04-05 17:48:55 +02:00
Tuning.md Update Tuning.md to mention `STREAMING_CLUSTER_NUM` (#151) 2017-04-27 20:02:47 +02:00
Vagrant-guide.md Make it clearer that installing 'vagrant-hostsupdater' is optional (#78) 2017-04-17 17:14:14 +02:00