-
Notifications
You must be signed in to change notification settings - Fork 1
Part F Secure your installation
This part describes how to make FST more secure. Additional actions may be necessary for your particular server environment.
These four steps outline the bare minimum security for a public demo server.
##1. Secure your login##
This should already be done, it was covered in the first part of the installation guide.
Here is a small checklist:
-
Do you always login to the server as user 'fst'?
-
Does the 'sudo' command work when you are logged in as 'fst'?
-
Can you login as 'fst' without a password?
-
Have you disabled root login?
If you have problems with any of these, go back to Part A and fix it! Your server is not secure.
##2. Change Django settings and disable DEBUG mode##
DEBUG mode is valuable during installation and for debugging errors. But it should always be disabled on a public server.
Login to the server as 'fst'- Change the file 'demo_settings.py' to disable DEBUG
sudo sed -i 's/^DEBUG = True/DEBUG = False/' ~/fst/fst_web/demo_settings.py
Verify that the change happened
sudo grep "DEBUG =" ~/fst/fst_web/demo_settings.py
##3. Make your secret key unique##
Django has a secret key that must be unique for every installation.
FST gives you a simple, built-in way to do that:
cd ~/fst python manage.py generate_secret_key --replace
Verify that the key was installed:
cd ~/fst python manage.py generate_secret_key
Read more about why Django's secret key is important here:
https://docs.djangoproject.com/en/1.8/ref/settings/#secret-key
http://stackoverflow.com/questions/15170637/effects-of-changing-djangos-secret-key
##4. Setup firewall and timeserver##
Installing firewall and timeserver
Note! This release of FST does not have detailed documentation for production use.
HTTPS is a strict security requirement for production use. You must install FST on it's own domain with a valid HTTPS certificate.
###Django's security documentation###
Anyone installing on a production server should read Django's security documentation carefully.
Django deployment checklist: https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/
Overview of Django security: https://docs.djangoproject.com/en/1.10/topics/security/