Self-paced

Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.

Bootcamp

Learn live

Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.

Upcoming live events

Learning library

For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.

It makes sense to start learning by reading and watching videos about fundamentals and how things work.

Search from all Lessons


LoginGet Started

Register to 4Geeks

← Back to Projects

Configuring a Secure Server with SSL/TLS Using OpenSSL

Difficulty

  • intermediate

Average duration

2 hrs

Technologies

Difficulty

  • intermediate

Average duration

2 hrs

🌱 How to start this project?
  • Requirements

🌱 How to start this project?

This exercise aims to teach students how to set up a secure server using OpenSSL to provide secure communications via SSL/TLS.

Requirements

  • A Debian virtual machine installed in VirtualBox. (we will use the previously configured machine in previous classes).

📝 Instructions

  • Open this URL and fork the repository https://github.com/breatheco-de/set-up-an-SSL-in-openSSL-with-a-secure-server

fork button

A new repository will be created in your account.

  • Clone the newly created repository into your localhost computer.
  • Once you have cloned successfully, follow the steps below carefully, one by one.

Step 1: Generate a private key and a Certificate Signing Request (CSR):

💡Make sure to protect this private key properly.

During the process, you will be prompted to enter information about your organization. (Here's an example of how you can complete it):

  • Country Name (2 letter code): ES
  • State or Province Name (full name): Madrid
  • Locality Name (eg, city): Madrid
  • Organization Name (eg, company): MiEmpresa
  • Organizational Unit Name (eg, section): IT
  • Common Name (eg, fully qualified host name): mi-dominio.com
  • Email Address: admin@mi-dominio.com

Step 2: Sign the CSR to Obtain a Self-Signed Certificate:

Step 3: Configure Apache to Use the SSL Certificate:

Step 4: Enable SSL Site and SSL Module:

Step 5: Update the Hosts File:

Step 6: Test the Connection:

mi-dominio.com

💡 NOTE: For the purpose of this educational exercise, while using localhost with HTTPS (https://localhost/) suffices to demonstrate basic SSL/TLS configuration using OpenSSL, including the setup of a custom domain like mi-dominio.com provides a more comprehensive and practical learning experience. This additional step allows understanding of how DNS resolution works in a real environment. When generating the SSL/TLS certificate, it is crucial that the Common Name matches the domain used to access the server, thus avoiding security warnings and errors in web browsers. This reinforces understanding of essential concepts and enhances practical skills necessary for handling SSL/TLS configurations in a professional environment.

🚛 How to deliver this project?

We have developed a script to help you measure your success during this project.

1chmod +x check_ssl.sh
1./check-rules.sh

Signup and get access to similar projects

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • intermediate

Average duration

2 hrs

Difficulty

  • intermediate

Average duration

2 hrs

Difficulty

  • intermediate

Average duration

2 hrs

Difficulty

  • intermediate

Average duration

2 hrs

Signup and get access to similar projects

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • intermediate

Average duration

2 hrs

Difficulty

  • intermediate

Average duration

2 hrs