Objective. Students independently harden a misconfigured Linux server, investigate a simulated intrusion scenario embedded within it, and produce a professional security report.
This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
This capstone lab brings together every skill from the Linux for Cybersecurity course. You will receive a deliberately broken Ubuntu Server virtual machine, find every security problem in it, fix those problems, and write a professional report that could go to a real client or employer. Working independently is required — the goal is to prove you can do this job without prompting.
All work is performed inside an isolated virtual machine. Never connect the misconfigured VM to a production or public network. Keep it on a host-only or isolated virtual network adapter throughout the lab. Take a snapshot of the VM before making any changes so you can return to the original state if needed. Document every command as you type it — do not reconstruct commands from memory after the fact.
Begin by treating the VM the way an attacker or an auditor would: assume nothing is safe until you verify it.
SSH configuration. Open `/etc/ssh/sshd_config` and check for dangerous settings such as `PermitRootLogin yes`, `PasswordAuthentication yes`, and an exposed default port. Use `ss -tlnp` or `netstat -tlnp` to confirm which port the daemon is actually listening on.
Running services. Run `systemctl list-units --type=service --state=running` to inventory every active service. Compare that list to what a minimal server needs. Services such as `telnet`, `ftp`, `rsh`, or unneeded web servers represent unnecessary attack surface.
User accounts. Examine `/etc/passwd` for accounts with a valid shell that should not exist. Check `/etc/shadow` permission bits. Use `awk -F: '($3 == 0)' /etc/passwd` to find any non-root account with UID 0 — a major red flag.
File permissions. Run `find / -xdev -type d -perm -0002 2>/dev/null` to locate world-writable directories. Run `find / -xdev -perm -4000 -type f 2>/dev/null` to find SUID binaries that should not have that bit set.
Log analysis. Examine `/var/log/auth.log` and `/var/log/syslog` for injected intrusion indicators — repeated failed logins, successful logins at unusual hours, privilege escalation events, or connections from unexpected IP addresses. Use `grep`, `awk`, and `journalctl` to filter and count events systematically.
Firewall state. Run `sudo ufw status verbose` or `sudo iptables -L -n -v` to see whether a firewall is active and whether the rules are appropriate.
Record every finding in a numbered list as you go. Note the file path, the exact bad value or line, and a severity rating (Critical, High, Medium, or Low) based on the potential impact.
For each finding, apply a specific fix and record the exact command or file edit in your runbook.
Wrap all remediation commands into a Bash script so another engineer could reproduce your hardening on a fresh image. Comment each block of the script clearly.
Your written report must follow this structure:
1. Executive Summary — Two to three short paragraphs written for a non-technical manager. State what was found, how serious the risk was, and whether the system is now safe.
2. Technical Findings — One entry per vulnerability. Each entry must include the finding name, severity, the evidence you collected (exact command output or log excerpt), and the remediation you applied.
3. Conclusion — Summarize the overall security posture before and after remediation, and recommend any follow-up actions.
4. Appendices — Attach your runbook Bash script(s).
Use precise, plain language. Avoid vague phrases like "some issues were found." Name the specific file, setting, or account involved in every finding.
Your instructor will assess the live VM and your report against a rubric: vulnerability discovery (40%), correct remediation (30%), report clarity and accuracy (20%), and professional presentation (10%). A score of 75% or higher with no critical vulnerability left unaddressed is required to pass.
As you work, keep your CompTIA Security+ and CySA+ objective checklists nearby. Log analysis, hardening configurations, least-privilege principles, and incident investigation appear directly on both exams. This lab is practice for the real job and for the test.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.