Commit graph

224 commits

Author SHA1 Message Date
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
Nolan Lawson
79f58d8b13 Fix typo in BgBouncer-guide.md (#168) 2017-04-27 22:24:59 +02:00
wxcafé
938575a679 Revert "Avoid hard-coding ciphers into configuration (#122)" (#170)
This reverts commit fc79d23ad0.
2017-04-27 22:15:37 +02:00
Bjarni Rúnar Einarsson
fc79d23ad0 Avoid hard-coding ciphers into configuration (#122)
* 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. :)
2017-04-27 22:13:27 +02:00
Nolan Lawson
0282f3d7e4 Update Tuning.md to mention STREAMING_CLUSTER_NUM (#151)
* Update Tuning.md to mention `STREAMING_CLUSTER_NUM`

This is a new option as documented here: bb04a9be52/.env.production.sample (L90-L92)

* note number of cores - 1
2017-04-27 20:02:47 +02:00
Nolan Lawson
5f371e9264 Fix typo 2017-04-27 07:37:52 -07:00
Nolan Lawson
dcc2945e59 Add a bit more about logging 2017-04-27 07:37:02 -07:00
Nolan Lawson
cd3d3f9fa0 Add PgBouncer guide 2017-04-27 07:29:44 -07:00
zorun
371864c39e Development: Fix bundle install instructions and expand on running rails (#133) 2017-04-27 11:15:53 +02:00
wxcafé
64a1c834b2 Docker-guide consistency 2017-04-27 10:56:41 +02:00
178inaba
fbb0f346c3 Add yarn install option 2017-04-24 22:21:23 +09:00
Christian Quest
8fca29162d munin graph for your mastodon instance 2017-04-23 18:51:37 +02:00
Eugen
645fd80eff Merge pull request #134 from zorun/letsencrypt
Production guide: add support for let's encrypt in the nginx config
2017-04-23 06:00:14 +02:00
Nolan Lawson
8bc1fd2194 only add cache-control, remove comment 2017-04-22 17:09:39 -07:00
Nolan Lawson
32f4c5319f add nginx config for static assets 2017-04-22 16:19:53 -07:00
Baptiste Jonglez
a8d244ad42 Production guide: add support for let's encrypt in the nginx config
This notably fixes potential issues like this one https://github.com/tootsuite/mastodon/issues/1665
2017-04-22 18:44:22 +02:00
Alan deLevie
4fc9c889ef Fixing typos in Docker-Guide.md (rails -> rake) (#112) 2017-04-22 10:38:15 +02:00
Dan Hunsaker
d693b104f9 Document Nanobox Usage
To be merged after Nanobox Support is merged in the main repo: https://github.com/tootsuite/mastodon/pull/1709
2017-04-22 01:21:37 -06:00
Fred Wenzel
b98af5e96d Add default CSP
Add a default CSP that allows anything from the local domain, plus inline styles, data: URIs, and no framing.
2017-04-21 21:57:48 -07:00
Ash Furrow
22c52995ad Adds note about persisting volumes. (#113) 2017-04-22 00:34:36 +02:00
Gervais Gwenaël
9efa9b69d8 Small URL error in Resources-needed.md (#116)
Corrected "https://mastodon.technllogy" to "https://mastodon.technology"
2017-04-22 00:29:06 +02:00
cubefoo
553d04cf43 update nginx ssl config (#120)
To further increase security add a strong Diffie-Hellman group, which is standard practice when setting up ssl certs. Anyone who can setup letsencrypt can also setup a DH group.
2017-04-22 00:28:43 +02:00
Nate Berkopec
7bde3a602a Make tuning.md a little more accurate 2017-04-21 12:16:27 -06:00
James
fa8d76c406 Add administration section on how to create users while registration is closed (#107) 2017-04-20 20:08:05 +02:00
Chris Castle
85ff981217 Fix bad quote char in IAM policy (#108) 2017-04-20 20:07:32 +02:00
Tachibana waita
509793419d add git fetch line to upgrade section (#110) 2017-04-20 20:06:21 +02:00
Eugen
38fcd2a5c9 Merge pull request #98 from ashfurrow/docker-update
Updates Docker Update Instructions for git
2017-04-20 14:46:56 +02:00
wxcafé
3c211890df Fixes update section 2017-04-20 02:17:52 +02:00
Simon
ffe2935f5c Add cost estimate column (#91)
* Add cost estimate column

To give interested admin an idea of what expected costs might be.

* Add estimate for mastodon.technology 

based on blog post

* Fix missing header dashes
2017-04-20 01:09:09 +02:00
Sergiusz Bazański
95a6040458 Mention yarn install in production upgrade guide (#62) 2017-04-19 18:44:07 +02:00
Aaron Coburn
18e4c617a2 Update link (#93)
Fix typo
2017-04-19 18:36:28 +02:00
Ben Hamill
43692e45b0 Mention Yarn in Dev Docs (#100)
Adds a mention of `yarn install` in the development guide so people know
to, well, run it.
2017-04-19 18:28:13 +02:00
wxcafé
a6f0fbc043 Might have not been a good idea 2017-04-19 18:21:28 +02:00
wxcafé
507de093a6 Adds disk usage and fixes info for my instance 2017-04-19 17:03:35 +02:00
Ash Furrow
24e97522a6
Updates update instructions. 2017-04-18 20:58:59 -04:00
Matt Jankowski
4b67a3574b Import from main repo README (#82)
* Add docker guide from main repo readme

* Add maintenance tasks doc to running section

* Clean up markdown in prod guide

* Move guidance to use tagged releases to docs

* Move local domain and host config to docs repo

* Title of page

* Update Production-guide.md
2017-04-18 16:32:47 +02:00
Ash Furrow
d0f619f23a Added documentation. (#85) 2017-04-18 16:14:57 +02:00
Florent Viel
1a82d42d76 fix typo (#86) 2017-04-18 16:14:20 +02:00
wxcafé
1dee21633b Adds the mastodon-admin Mailing list 2017-04-17 17:49:49 +02:00
Boris Mann
1388d60f42 Updated Mailgun instructions (#76)
This is not quite step-by-step yet, but at least indicates that you need to do more than just adding the Mailgun add on.
2017-04-17 17:14:55 +02:00
Ashley
18b243df0d Make it clearer that installing 'vagrant-hostsupdater' is optional (#78) 2017-04-17 17:14:14 +02:00
Erwan Leboucher
0b5cb11d08 Use the united command for daily task (#81)
commit of mastodon here e17f9d5e1a
2017-04-17 17:13:15 +02:00
Valentin Lorentz
35abda9b20 Fix bandwidth units for oc.todon.fr (#80)
* Fix bandwidth units for oc.todon.fr

(+ round the values a bit)

* Fix units again

* Consistency
2017-04-17 17:12:50 +02:00
Lukas Burk
124a1c1646 Add users:clear rake task to admin guide (#73) 2017-04-17 02:07:34 +02:00
Dolf RATTMANN
a893d018ba Prevent people from pulling master in production (#71) 2017-04-17 00:32:34 +02:00
Naouak
9c1972673a Customization with custom.scss documentation (#56)
* Customization with custom.scss documentation

* Update Customizing.md
2017-04-17 00:26:17 +02:00
wxcafé
eb32fc9738 Specifies to run the latest tagged release 2017-04-16 16:14:31 +02:00
Wxcafé (Clément Hertling)
602ba587f9 Merge remote-tracking branch 'origin/master' 2017-04-16 12:03:45 +02:00
Valentin Lorentz
52708eb561 Resources needed: Add oc.todon.fr stats and more columns (#57)
* Resources needed: Add oc.todon.fr stats and more columns

* Resources needed: Add details on the server model
2017-04-16 11:57:39 +02:00
nightpool
c631975d93 Fix typo
fix two small typos
2017-04-15 20:13:06 -04:00
Ash Furrow
4e1e8bf7aa Added recommendation against running free dynos in production. (#54) 2017-04-15 23:58:33 +02:00
wxcafé
77469f413d Create Ressources-needed.md 2017-04-15 21:30:01 +02:00
Edwin Torres
e743a88870 Fixed grammatical error and incorrect icon filename (#45)
* Fixed grammatical error. 'Setup' should be 'set up' in two places

* Fixed incorrect filename for Follow icon
2017-04-15 01:10:09 +02:00
James Moore
3cfacecb6c moved things into alternatives.md 2017-04-14 15:53:38 -07:00
wxcafé
9ffcb6f10d Merge pull request #5 from feragon/openrc
Add init scripts
2017-04-14 10:23:48 +02:00
Florian Roméo
2652c9dd0a Move init scripts to Misc.md 2017-04-14 10:06:01 +02:00
wxcafé
bdf7d53c9a Merge pull request #29 from jemus42/patch-1
Add info about already set HTTP headers
2017-04-14 02:07:34 +02:00
wxcafé
6e431d26de Removes duplicate HSTS directive 2017-04-14 02:03:03 +02:00
wxcafé
368d815e4d Removes the includeSubDomains directive from HSTS 2017-04-14 02:00:01 +02:00
wxcafé
f2814435d5 Merge branch 'master' into patch-2 2017-04-14 01:56:54 +02:00
wxcafé
5bbee7f69e Merge pull request #14 from datn/master
made pg_hba.conf addition with ident for Ubuntu 16.04
2017-04-14 01:53:07 +02:00
wxcafé
5c7a3ec16c Merge pull request #12 from staticsafe/master
Use 127.0.0.1 instead of localhost in Sidekiq proxy_pass.
2017-04-14 01:50:51 +02:00
Lukas Burk
dae0d21d57 Add info about already set HTTP headers
Intended to avoid setting duplicate HTTP headers which will cause issues with tools like Mozilla Observatory many people use to evaluate an instance's security.
2017-04-13 19:37:33 +02:00
wxcafé
d960311faa Merge pull request #23 from foozmeat/pr-cron
simplified the cronjob section
2017-04-13 19:30:43 +02:00
James Moore
b8cd7a99d4 removed weird dot characters 2017-04-13 10:28:57 -07:00
codl
0005b49faf example nginx: remove includeSubDomains from hsts 2017-04-13 10:28:50 +02:00
James Moore
9c679e3741 simplified the cronjob section 2017-04-12 21:57:04 -07:00
Shel R
35f696b95e Merge pull request #16 from expenses/master
Added ngrok link
2017-04-12 12:39:39 -04:00
Shel R
bd5972626a Merge pull request #6 from Komic/master
Adding an Apache configuration example
2017-04-12 12:22:40 -04:00
Angristan
d92bd4544e Add IPv6 for port 443 2017-04-12 16:07:26 +02:00
Expenses
d31186318a Added ngrok link 2017-04-12 20:18:53 +12:00
datn
98095b39bd forgot to restart postgres; more exact match on sed 2017-04-11 22:11:43 -07:00
datn
e55c767f50 made pg_hba.conf addition with ident for Ubuntu 16.04 2017-04-11 22:00:57 -07:00
staticsafe
036c8fdb8c Use 127.0.0.1 instead of localhost in Sidekiq proxy_pass.
Sidekiq only listens on v4 and using localhost will create
non-usable connections to ::1
2017-04-11 23:27:25 +00:00
Komic
d75e3d6087 Adding an Apache configuration example
(also added my instance)
2017-04-11 19:38:41 +02:00
Florian Roméo
e9b4f585bd Add init scripts 2017-04-11 19:30:07 +02:00
Ash Furrow
7303db4934 Updated Heroku deploy guide. 2017-04-11 13:21:59 -04:00
Eugen Rochko
eebeee2b76 Up-to-date dump from main repository 2017-04-11 17:48:27 +02:00
Ash Furrow
acae9db314 Adds user confirmation rake task (#1300)
* Adds task to confirm user by email.

* Adds documentation for manual confirmation.
2017-04-09 01:09:46 +02:00
Eugen
5c962c196f Merge pull request #1115 from vmincev/patch-1
Update Production-guide.md
2017-04-08 11:38:54 +02:00
Shel R
210477bfb2 Merge branch 'master' into patch-1 2017-04-07 22:59:07 -04:00
David Huerta
e8e607a356 Merge branch 'master' into patch-1 2017-04-07 19:46:07 -04:00
Eugen
266cf6c3c2 Merge pull request #1204 from benklop/patch-1
Update Administration-guide.md
2017-04-08 01:00:32 +02:00
benklop
be8680df9a Update Administration-guide.md
the syntax for running the rake task wasn't correct.
2017-04-07 16:31:50 -06:00
David Huerta
774b752498 Update Heroku-guide.md
Cleaning up the heroku admin command bit to match the form used in Administration-guide.md and clarify the wording a bit.
2017-04-07 17:44:32 -04:00
David Huerta
9efa356f9c Update Heroku-guide.md
Removing some of the confusion around what format S3 bucket names and regions should be entered as well as providing an example of an S3 policy that follows best security practices for this sort of thing.
2017-04-07 17:29:21 -04:00
Eugen
b44df8f36c Merge pull request #1191 from d3vgru/master
change suggested cipher for nginx
2017-04-07 23:02:49 +02:00
Eugen
b1501669f9 Merge pull request #1172 from mjankowski/mj-heroku-docs
Update heroku instructions
2017-04-07 22:50:31 +02:00
seekr
7123e2cb5a typo 2017-04-07 16:33:13 -03:00
Ed Knutson
b130db887e change suggested cipher for nginx 2017-04-07 14:10:39 -05:00
Matt Jankowski
f26e10dd99 Update heroku instructions 2017-04-07 12:50:29 -04:00
Vladimir Mincev
272d25c383 Update Production-guide.md
Under ## General dependencies:
apt-get needs sudo and install was typed wrongly.
2017-04-07 01:05:32 +02:00
Eugen
d09a7460b3 Merge pull request #1042 from johnsudaar/feature/scalingo_one_click
Cosmetic changes to the scalingo deployment
2017-04-06 19:32:12 +02:00
Alex Gleason
77924befb2 Linux users must enable NFS for Vagrant 2017-04-06 12:16:39 -04:00
Jonathan Hurter
c3f536126a Make scalingo doc clearer 2017-04-05 17:48:55 +02:00
Eugen
237ff5dd8f Merge pull request #947 from johnsudaar/feature/scalingo_one_click
Add Scalingo deployment support
2017-04-05 16:50:46 +02:00
Jonathan Hurter
a9265eadda Add doc 2017-04-05 16:00:48 +02:00
Angristan
5d21f25944 Add git and curl as dependencies
In some VPS templates, they are not installed by default.
2017-04-05 14:11:08 +02:00
Angristan
781c555ef5 ECDH only
Disable DHE ciphers. We don't loose any compatibility as we already use TLS 1.2, and ECDH is faster and safer.
Also, it's better so specify the curve.

This is the conf I use here : https://tls.imirhil.fr/https/mstdn.io
2017-04-05 10:44:08 +02:00
Jason Snell
84b533490d SSL best practices for nginx 2017-04-04 18:43:21 -07:00
Eugen
d1d2eb57b7 Merge pull request #885 from optikfluffel/patch-1
Update Production-guide.md
2017-04-05 03:24:08 +02:00
Eugen
48589d1ec3 Merge pull request #842 from Angristan/patch-2
Missing quotes
2017-04-05 03:08:24 +02:00
Eugen
865427092d Merge pull request #854 from Angristan/patch-3
Fix crontab edit
2017-04-05 03:07:28 +02:00
Eugen
af710eb5eb Merge pull request #891 from ashfurrow/patch-1
Adds instructions for adding admin users for Heroku installs
2017-04-05 03:01:43 +02:00
Ash Furrow
0a8023314b Updates instructions. 2017-04-04 20:53:31 -04:00
Eugen
d7b9a8c1e1 Merge pull request #872 from kwaio/patch-1
typo in admin doc
2017-04-05 02:53:09 +02:00
Ash Furrow
eada9ae113 Adds instructions for adding admin users. 2017-04-04 18:45:24 -04:00
Udo Kramer
38bc079678 Update Production-guide.md 2017-04-04 23:45:29 +02:00
Nope Nope
72319ecf7b typo in admin doc
s/rails/rake/
2017-04-04 20:45:32 +02:00
Angristan
080caa0dff Add file package
If the file package is not installed, we get "Validation failed: File has contents that are not what they are reported to be" when upload media.
2017-04-04 19:23:53 +02:00
Angristan
c4afe950bb Fix crontab edit
Missing -u parameter to specify the mastodon user.
2017-04-04 17:23:56 +02:00
Angristan
5714143e53 Missing quotes 2017-04-04 15:57:37 +02:00
walfie
eef381b5c6 Fix typo in Heroku guide 2017-04-04 00:00:56 -04:00
Eugen Rochko
5e91a1dfbd Separate background jobs into different queues. ATTENTION: new queue "pull"
must be added to the Sidekiq invokation in your systemd file

The pull queue will handle link crawling, thread resolving, and OStatus
processing. Such tasks are more likely to hang for a longer time (due to
network requests) so it is more sensible to not make the "in-house" tasks
wait for them.
2017-04-04 00:53:20 +02:00
Valentin Lorentz
973a74d252 Also fix the start command. 2017-04-03 00:10:51 +02:00
Valentin Lorentz
8b5966b37b Fix install instructions.
Closes GH-745.
2017-04-03 00:08:40 +02:00
Eugen Rochko
b505ee3ee2 Add tuning documentation, add <content> tags back to most salmons,
make status pagination headers generation more lax about next page
existing
2017-02-25 03:34:37 +01:00
Tom McAtee
bafb096d4f Fixed the URL
Heroku uses the referrer URL to point at the repo that should be deployed; from this page that includes part of a path that breaks the deployment (specifically /blob/master/docs/Running-Mastodon/Heroku-guide.md).

I've replaced the vanilla address with one that includes a specific reference to the root of the repo
2017-02-14 12:46:18 +10:30
Eugen Rochko
017297c1e2 Add rake task for making someone into an admin 2017-02-13 20:42:02 +01:00
Eugen Rochko
845e23a837 Add postgres setup instructions to docs 2017-02-07 23:57:30 +01:00
Eugen Rochko
0cb6db2972 Make the streaming API also handle websockets (because trying to get the browser EventSource interface to
work flawlessly was a nightmare). WARNING: This commit makes the web UI connect to the streaming API instead
of ActionCable like before. This means that if you are upgrading, you should set that up beforehand.
2017-02-04 00:34:31 +01:00
Effy Elden
376165bee4 Add default account details to developer documentation. 2017-01-27 02:03:13 +11:00
Effy Elden
6c12fda90a Add separate sections for Heroku and Vagrant deployments. Add guide for instance administration. Move 'Contribution guide' to 'Development guide'. 2017-01-22 19:50:40 +11:00
Eugen Rochko
2eb6ed093f Add wiki contents to docs/ instead 2017-01-21 22:51:02 +01:00