Skip to content

Projects#

Let's get practicing what we've learned from above.

Encryption#

  1. Generate a key pair
  2. Encrypt a file
  3. Have your mentor do the same, and send you a file
  4. Confirm signatures and such
  5. Use a symmetric algorithm to encrypt a file and send it to your mentor
  6. Have your mentor send you an encrypted file (and its secret) and decrypt it

TLS#

  1. Create a self-signed certificate
  2. Use it via nginx
  3. See what happens when you access the site via HTTPS
  4. Create a certificate using Let's Encrypt and repeat the above

Firewalls#

Limited Project Work

Firewalls are a security concept and as such, the amount of project work you can get done here, at this point in your learning, is limited. We cannot encourage you to play around with the local firewall on your local computer as you might expose yourself to very real, very serious threats.

There will be plenty of firewall related projects in the Cloud section of Stage One, trust us.

  1. Does your local system have a firewall installed?
  2. What rules are in place right now?
    1. Don't list them all, as there might be thousands!
  3. What happens if you add a rule to block outbound connections to any remote server on TCP port 80 (HTTP)? Can you access website via http://?
  4. Try pinging 1.1.1.1 (Cloudflare's DNS server[s]), and then try blocking ICMP ping from your host to that exact IP - can you ping it now?
  5. Using draw.io or miro.com, design a simple diagram that explores the following traffic flows:
    1. Traffic coming from the Internet, through a firewall, and accessing a web server
    2. Traffic coming from the web server to a databae in another subnet
    3. Traffic coming from head office to a VPN server on the network
  6. Now think about the protocols being used, and design rules for each of the following:
    1. Only allow HTTPS traffic from the Internet to the web server
    2. Only allow head office's IP (1.3.5.7) to access the VPN server
    3. Prevent anything BUT the web server and VPN from accessing the database

Zero Trust#

We don't have a Zero Trust project for you to complete. It's an extremely advanced topic, so we'll explore it later on.

Authentication#

  1. Add an extra step of authentication to your online accounts by adding a 2FA device to them
    1. We recommend Microsoft's Authenticator app as it allows you to sync the tokens (secrets) to a Microsoft account
  2. Ensure your email accounts have a unique, separate passPHRASE
  3. Check your email address and or password at ';--have i been pwned?

Password Management#

We think this one is going to be obvious: download, install and start using a password manager. Here are some choices:

  1. 1Password
  2. bitwarden (open-source)

We cannot recommend any others at this time.

Cloud Secrets Management#

We will get the opportunity to delve into application level secrets management later on.

OWASP#

We will also get the opportunity to go use some OWASP resources when we come to write our own web app later on.

CIS#

These are optional, but fun if you're willing to give them a go.

  1. Apply some CIS benchmarks to a Ubuntu 22.04 VM
  2. Write a short report on the tools that CIS provides to help with using their standards.

NIST#

Repeat the CIS projects above.