There are two distinct ways of configuring web server:
- You can just copy three lines of code from section below
OR
- You can follow the manual which come after Contents section
cd && apt install sudo && sudo apt update && sudo apt upgrade && sudo apt-get install git -y
git clone https://github.com/rignellj/Roger-Skyline-1.git scripts && cd scripts
./roger_skyline_1.sh
- Introduction
- Creating Nonroot User
- Configure a Static IP
- Change the SSH Default Port and Setup SSH Access With Publickeys
- Firewall Setup With UFW
- DOS (Denial Of Service Attack) protection
- Protection Against Port Scans
- Disable the Services We Don’t Need
- Update Packages & Monitor Crontab Changes Scripts
- Self-signed SSL and Deployment
- Deployment Automation
- This part first installs required packages to your Linux Debian and also checks partitions
- Running
./01_intro.sh
will update & upgrade packages and also installs software that is needed for this project
Run ./02_add_sudouser.sh
to create given user and give sudo privilages to the user
- Run
./03_configure_interfaces.sh
to configure/etc/network/interfaces
file - Next run
./04_configure_static_ip.sh
. This will prompt IP address, Netmask and Gateway and configures with given addresses.
- Before moving to next step, user needs to create new ssh public key. Script will also ask to do this.
- Run
./05_ssh_configure.sh
to reset SSH port number
- Run
./06_firewall_rules.sh
to set up firewall rules - Then
./07_fail2ban.sh
will handle all the config for the DOS which will protect your open ports of your VM.
./08_portscans.sh
will set protection against scans on your VM’s open ports.
./09_disable_services.sh
--> This script disables unnecessary services.
- Running
./10_cron_conf.sh
will add few tasks to crontab file
- Running
./11_web_server_deployment.sh
will set self-signed SSL and also will handle all the config according to that.
- Running
./12_files_copy.sh
will start process which will ask user certain questions according from which machine to copy, which SSH ports to use, what is the result of $(whoami) on remote (host) and the full path to files to copy.
End of Deployment