This project is about securely configuring a Linux server and deploying a Flask web application.
The deliverable of this project was a Markdown readme file that fully documents the steps taken in order to successfully configure the server. This document can be found on my GitHub account here: https://github.com/SteveWooding/fullstack-nanodegree-linux-server-config.
That document covers the following topics:
- adding a user
- allowing a user to run commands as root (sudo)
- updating system software
- setting up SSH keys for user login
- disable root login
- setting time zone and automatic time setting via NTP
- changing SSH port to non standard port
- configuring the Uncomplicated Firewall (UFW)
- install and configure Apache to server Python WSGI web applications
- install and configure PostgreSQL database
- automatic security updates
- banning IPs if they are the source of repeated failed login attempts