Cyber Security Starter Kit Platform
Cyber Security Starter Kit Platform (CSSKP) allows to instantiate new self-assessment products such as Fit4Cybersecurity, Fit4Privacy, Fit4Contract and the like.
Deployment
Requirements
$ sudo apt install gettext postgresql
Set up your Python environment
$ pyenv install 3.9.5 # install a recent Python version
$ pyenv global 3.9.5 # make this version default for the whole system
$ pyenv versions # check
Feel free to use an alternative tool to pyenv or simply the Python version provided with your distribution.
Install the application
$ git clone https://github.com/CASES-LU/CSSKP.git
$ cd CSSKP/
$ npm install
$ poetry install
Likewise, the use of poetry is optional.
Configure and run the application
$ cp CSSKP/config_dev.py CSSKP/config_prod.py # configure the production settings
$ poetry shell
$ python manage.py collectstatic # copy static files required by Django Admin
$ python manage.py compilemessages # compile the translations
$ python manage.py migrate # need to initialize before create the first user
$ python manage.py createsuperuser --username <username>
Run the application:
$ python manage.py runserver # not for production
For production you can use Gunicorn or mod_wsgi.
Customization
Templates and configuration variables:
- settings (app name and description, etc.);
- pages templates (footer, about, help pages, etc.);
- images;
More information in the documentation.
Upgrading the application
$ cd CSSKP/
$ git pull origin master
$ poetry run python manage.py migrate
$ poetry run python manage.py compilemessages
If you want to update the translations, you must first run:
$ python manage.py makemessages -a --keep-pot # extract the translations
Then you can use a tool like poedit to translate the strings and you can compile with the previously mentioned command.
If you want to re-generate the .pot file:
$ python manage.py makemessages -a --keep-pot
Contributing
If you are interested to contribute to this project you can use the Dockerfile:
$ git clone https://github.com/CASES-LU/CSSKP.git
$ cd CSSKP/
$ docker-compose up -d
The server will be listening at http://127.0.0.1:8000.
The login for the Django Admin interface will be admin and the password will be password.
An up-to-date Docker container is available here: https://hub.docker.com/r/caseslu/csskp
License
This software is licensed under GNU Affero General Public License version 3
Copyright (C) 2019-2021 SMILE gie SECURITYMADEIN.LU