Coder Social home page Coder Social logo

aws-personalsite's Introduction

aws-personalsite

A small static website that uses Docker+nginx, EC2 and Afraid.org DNS

Docker Image CI build and scan image

USAGE:

Run and bind $HOME to target=/path/to/html/ for Docker nginx.

sudo docker container run -d --name test-nginx --mount type=bind,source=/home/ubuntu/,target=/var/www/html/ -p 80:80 nginx_site:0.1

TODO:

  • crontab (automation) for FreeDNS script - Semi-complete, considering doing this with Terraform ✅
  • Logging - EFK Stack - Priority ⚡
  • Grafana - Priority ⚡
  • Actual Site Content(SoonTM) - Low priority ⬇️
  • StartTree - Low priority ⬇️
  • index.html and CSS to handle font-family tags instead of letting each tag use it individually. - Basic Implementation Done ✅
  • Gitea - Low priority ⬇️
  • Document the method to add emoji unicode to the <title> tag - Low priority ⬇️
  • Rewrite the Dockerfile - Priority ⚡ ▶️ In Progress

Caveats:

  • Exposing EC2 Port 80 for testing to 0.0.0.0/0 ::0 allows brute-force GET/POST attacks looking for unpatched 0-Day exploits.
  • If a suspected breach has occured on the EC2 instance, nuke .ssh/* on the compromised host, immediately close off ports on AWS Console from internet, invalidate the dirty SSH keys and terminate the instance ASAP.
  • Recreating an EC2 testing instance takes long, requires doing a full-upgrade and apt-get upgrade, and then installing Docker. Look into cutting down time with Terraform and ArgoCD.

Changes:

  • 0.1 - Initial Commit. Created Dockerfile. Broke the html in vim when trying to test docker volume bind mounts.
  • 0.2:
  • Security hardening, nginx config rebuilt from the ground up to mitigate brute force attacks via HTTP/S.
  • Enabled Snyk container image scanning and GitHub workflows.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.