🎯 About this course
You can already run a server. This course teaches you to protect it: who may log in and how, who may do what, which doors are open, and how you notice and handle it when something looks wrong. Every exercise names who needs it and why, uses a simulated machine that behaves like the real one, and ends with a check of the effective setting rather than the file you meant to edit. The course is defensive from start to finish.
By the end you will be able to
- Use ssh key pairs with the right file permissions to log in without a password, and explain which file holds which key.
- Write narrow sudo rules for single jobs, check them with visudo and sudo -l, and explain why ALL is rarely the right answer.
- Use account commands to create, lock, expire and remove accounts and to set password ageing, and explain what PAM decides.
- Apply modes, owners, the umask, ACLs, special bits and attributes so that each file is open to exactly the people who need it.
- Configure the ssh daemon, a default-deny host firewall and fail2ban without locking yourself out, plan updates and remove what is not needed.
- Use grep, awk and sort to answer the four questions of a log (how many, from where, which accounts, did anyone get in), and read last, lastb and who.
- Write audit watch rules and find who changed a file, and keep a baseline of fingerprints, AIDE and setuid lists to notice change.
- Plan and carry out an incident routine (preserve, contain, investigate, eradicate, recover, record) and write a short record with times.