Ubuntu-Server
Checklist

Implementation Plan

1. SSL Certificate and Domain Setup

  • Purchase SSL Certificate: Obtain an SSL certificate from GoDaddy if you haven't already.
  • Link Domain to DigitalOcean Droplet (GoDaddy):
    1. DNS Configuration:

    2. SSL Certificate Installation:

      • Generate a CSR (Certificate Signing Request):
        • SSH into your droplet and generate the CSR:
          sudo openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
        • Enter details as prompted.
      • Upload the CSR in your GoDaddy account and complete the validation process.
      • Download the certificate files once issued.
    3. Install the SSL Certificate on Nginx:

      • Transfer the certificate files to your droplet using SCP or SFTP.
      • Configure Nginx to use the SSL certificate:
        sudo nano /etc/nginx/sites-available/default
        Add the following under the server block for port 443:
        server {
            listen 443 ssl;
            server_name yourdomain.com www.yourdomain.com;
            ssl_certificate /etc/nginx/ssl/yourdomain.crt;
            ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
        }
      • Test and reload Nginx:
        sudo nginx -t
        sudo systemctl reload nginx
      • GoDaddy SSL Certificate Installation Guide for Nginx (opens in a new tab)

2. Initial Setup

3. Security Configurations

4. Application and Web Security

  • SSL/TLS Setup: Verify the proper implementation of SSL/TLS. Redirect HTTP traffic to HTTPS.
    sudo nano /etc/nginx/sites-available/default
    Add a 301 redirect:
    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        return 301 https://$host$request_uri;
    }
  • Install Web Application Firewall (WAF): Consider using a WAF like ModSecurity for Nginx.
  • HTTP Security Headers: Add security headers in Nginx:
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";

5. Monitoring and Backups

6. Documentation and Maintenance

  • Document IP, DNS, SSL, and security settings.
  • Regular Maintenance:
    • Weekly log checks and monitoring alerts.
    • Monthly security audits and documentation updates.
    • Quarterly security testing and performance reviews.

This plan provides a clear path from setting up your droplet, domain, SSL, and security to ongoing maintenance and monitoring.