Skip to content
LFCSEssential CommandsSingle Linux VMMedium

Create a TLS certificate, serve it with nginx, read another one

Scenario lfcs-cmd-002 · about 7 minutes · 8 points · 7 grader checks

Create a private key and a self-signed certificate with subject alternative names, serve HTTPS with it, and read the serial number of an existing certificate.

  • openssl
  • tls
  • x509
  • certificates
  • nginx

What you will practise

  • Create a private key and a self-signed certificate with SANs
  • Configure an HTTPS server with a certificate
  • Inspect an existing certificate

Start this lab

With the CLI installed and signed in, this command provisions a fresh Ubuntu 24.04 LTS virtual machine on your Mac, applies the scenario setup and prints the task below.

goldenkube start lfcs-cmd-002

Task

The task text exactly as the CLI shows it. Solve it on the machine, then run goldenkube submit.

1. Create an RSA private key of at least 2048 bits at /etc/ssl/lab/app.key (owned by root, readable and writable only by root) and a self-signed certificate /etc/ssl/lab/app.crt for it: - subject common name app.lab.internal - subject alternative names app.lab.internal and www.lab.internal - valid for 365 days 2. Configure nginx to serve /var/www/app over HTTPS on port 443 for app.lab.internal with that certificate. nginx must be running now and start at boot. (app.lab.internal resolves to 127.0.0.1.) 3. Write the serial number of the certificate /etc/ssl/lab/vendor.crt, in hexadecimal as openssl prints it, to /root/vendor-serial.txt.

Requirements and details

Certification
LFCS · Linux Foundation Certified System Administrator
Domain
Essential Commands
Difficulty
Medium
Environment
Single Linux VM
Recommended time
7 minutes
Points
8
Grader checks
7
Operating system
Ubuntu 24.04 LTS
Minimum CLI version
0.1.0
Scenario version
1
Published

Grading runs locally: 7 state checks read your machine when you submit; the scenario passes when every check passes. Hints, the reference solution and the check definitions are available only inside the CLI, not on this page.

LFCSEssential CommandsEasy

Git: branch, commit, tag and push

Clone a shared repository as another user, commit a configuration change on a new branch with a given identity, and push the branch and an annotated tag.

Single Linux VM · ~5 min · 8 points

  • git
  • branch
  • commit
  • tag
  • push

goldenkube start lfcs-cmd-001

LFCSEssential CommandsMedium

Free disk space and stop a CPU hog

Delete large old files selectively, release space held by a deleted but still open log without restarting its service, and find the service burning a CPU.

Single Linux VM · ~6 min · 7 points

  • disk-space
  • find
  • lsof
  • deleted-files
  • top
  • performance

goldenkube start lfcs-cmd-003

LFCSEssential CommandsMedium

Fix a service that needs more file descriptors and less privilege

A service refuses to start because of its open-file limit and running as root; fix it with a systemd drop-in, a dedicated system user and a memory cap.

Single Linux VM · ~7 min · 8 points

  • systemd
  • drop-in
  • limits
  • ulimit
  • journalctl
  • service-user

goldenkube start lfcs-cmd-004

Independent community project, not affiliated with or endorsed by CNCF or The Linux Foundation. Lab results are practice feedback, not an exam score.