Linux security and hardening

Make the server hard to get into, and know when someone tries.

⏰ 8 weeks🎯 Standard🧩 Capstone🖥 Any device · our GPUs
Generated from this course

🎯 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.
Curriculum

Topics covered

Who gets in 4 topics

  • Entry check: are you ready to harden a server?
    A forty-five minute check of the Linux skills this course builds on, with a pointer to the earlier topic to revisit for each one.
  • Ssh keys instead of passwords
    How an ssh key pair works, the file permissions that make it safe, putting a public key on a server, checking fingerprints, one key per person and device, and revoking…
  • sudo and least privilege
    Why work as a normal user, how sudoers rules are written and checked, what to avoid (ALL, careless NOPASSWD, wildcards, shell-opening programs), and how to read the sudo…
  • Accounts, passwords and PAM
    The life of an account (create, change, pause, end), locking and expiring, password ageing with chage, finding empty passwords, the PAM stack and password strength, with…

Who can touch what 4 topics

  • Modes, ownership and umask
    Owner, group and others with r, w and x, setting modes and owners, the umask for new files, auditing for world-writable and owner-less files, and a shared team folder.
  • Access control lists
    Named users and groups on a file with ACLs, getfacl and setfacl, the mask and effective permissions, default ACLs for new files, and when to use a group instead.
  • Setuid, setgid, sticky and capabilities
    The three special mode bits, why setuid programs are a risk and how to baseline them, sticky for shared folders, setgid for team folders, and capabilities as a smaller…
  • Attributes and mandatory access control
    Immutable and append-only file attributes, why mandatory access control confines programs whatever their owner, AppArmor and SELinux modes, and the habit of learning in…

Closing the doors 4 topics

  • Hardening sshd
    The sshd settings that close the front door (root login, passwords, AllowUsers, tries, grace time, X11), testing with sshd -t and reading with sshd -T, and the order of…
  • A host firewall with ufw
    What a host firewall does, default deny, allow rules with source restrictions, the order that avoids a lockout, counting listening ports with ss, and rule hygiene.
  • Updates and a smaller attack surface
    Why updates are the cheapest defence, a patching routine and automatic security updates, taking inventory and running less, replacing clear-text services, and keeping a…
  • Slowing brute force with fail2ban
    How fail2ban counts failures and bans addresses, jails, filters and limits, enabling and reading it, protecting your own network, lifting a ban, testing a filter, and…

Seeing what happened 4 topics

  • Reading the logs that matter
    Where sign-in evidence lives, the four questions (how many, from where, which accounts, did anyone get in), counting with grep, awk, sort and uniq, last, lastb and who…
  • Watching important files with auditd
    What the audit system records, watch rules (path, accesses, key), finding events with ausearch and aureport, auid and sudo, keeping rules across reboots, and choosing…
  • Noticing change: baselines and integrity checks
    What a baseline and a hash are, checking a few files with sha256sum, whole-tree checks with AIDE (init, activate, check), the setuid baseline with find and diff, where…
  • When something looks wrong: the incident routine
    The six-step routine (preserve, contain, investigate, eradicate, recover, record), locking accounts and ending processes, why keys and sessions matter, looking for what…

Infrastructure behind security 4 topics

  • The map of security infrastructure
    The parts that make security work on one server (identity store, ssh daemon, sudo policy, host firewall, log pipeline and clock), a card for each with role, resource…
  • Sizing, capacity and cost of watching
    The audit daemon and the integrity database as parts, how much a log grows (events times bytes times days times margin), finding the slowest or fullest stage with…
  • Failure, secrets and recovery
    Secrets and backups as parts, a failure table (failure, symptom, first check, safe action) and practising it, keeping secrets out of scripts, logs and command lines…
  • Operating it: alerts, updates, handover and trade-offs
    Monitoring and alerting and the update routine as parts, what a good alert says and why every check has a heartbeat, updates as a routine with a reboot window, a…

Interview ready 2 topics

  • Interview ready: access, permissions and hardening
    The questions people really ask about keys, sudo, permissions, ACLs, setuid, the firewall and hardening, with model answers, a routine for timed hands-on tasks, strong…
  • Interview ready: detection, response and a mock round
    The questions people really ask about logs, auditing, integrity checks and incident response, with model answers, strong and weak answers, four timed terminal tasks and…
Course at a glance

See how this course is built

Where the time goes

Longer spokes mean more hours on that module.

Course roadmap click a step

Try a lesson0 / 3

Sample questions from this course. Your progress is kept only in your browser.

Week by week

Drag the slider, or press play, to walk through the course and see what you will have built by each week.

Week 1 of 8
Wk 1

Luck is not a plan

The warm-up studio and scene 1: ssh keys instead of passwords.

Wk 2

Power and accounts

Scenes 2 and 3: sudo and least privilege; accounts, passwords and PAM.

Wk 3

Who can touch what

Scenes 4 to 7: modes and umask, ACLs, special bits, attributes and mandatory access control.

Wk 4

Closing the doors

Scenes 8 to 11: sshd, the firewall, updates and fail2ban.

Wk 5

Seeing what happened

Scenes 12 to 15: logs, auditd, integrity checks and the incident routine.

Wk 6

Under the hood

Scenes 16 to 19: the map, capacity, failure and recovery, and operating it.

Wk 7

Interview ready

Scenes 20 and 21: model answers, timed hands-on tasks and mock rounds.

Wk 8

Capstone review

Present the capstone: the Harbour Street security review.

What you'll build

The hardening checklist and evidence

A checklist for vault covering ssh, sudo, accounts, permissions, firewall and updates, with the command that shows the effective setting for each and a before-and-after transcript.

The detection and response pack

A log-reading routine, a set of audit watches, an integrity baseline, an incident record with times, and a failure table.

The security map and handover

A card for each part that grants or records access, a capacity sheet for the record, and a one-page handover with alerts and who to call.

Why take this course

  • Harden a real server step by step
  • Know what is in force, not just what you typed
  • Notice and handle a break-in calmly

You will build

  • A hardened and watched server
  • A detection and response pack
  • A security map and handover

What you can do afterwards

  • Protect a server with confidence
  • Explain your choices and their risks
  • Answer security interview questions with specifics
How to take it

💳 Delivery & fees

One course, four ways to attend. Fees are per course, in rupees excluding 18% GST (the GST-inclusive amount is shown too).Fees are per course, in Canadian dollars, before applicable GST/HST.Fees are per course, in US dollars, before any applicable local taxes. Bulk and institutional volume pricing is available.

Self-paced

₹1,71,000

+ 18% GST · ₹2,01,780 all-in

Programme ₹1,48,700 + infrastructure & GPU labs ₹22,300

≈ ₹21,375 per week ex-GST over 8 weeks

CA$14,500

per course, before applicable GST/HST

Includes our GPU lab infrastructure: no cloud credits to buy

≈ CA$1,813 per week over 8 weeks

US$10,400

per course, before any applicable local taxes

Includes our GPU lab infrastructure: no cloud credits to buy

≈ US$1,300 per week over 8 weeks

  • Full recorded library
  • Browser GPU lab
  • All project briefs
  • Mentor review add-on
Most popular

Live online

₹2,05,000

+ 18% GST · ₹2,41,900 all-in

Programme ₹1,78,300 + infrastructure & GPU labs ₹26,700

≈ ₹25,625 per week ex-GST over 8 weeks

CA$17,400

per course, before applicable GST/HST

Includes our GPU lab infrastructure: no cloud credits to buy

≈ CA$2,175 per week over 8 weeks

US$12,500

per course, before any applicable local taxes

Includes our GPU lab infrastructure: no cloud credits to buy

≈ US$1,563 per week over 8 weeks

  • Everything in self-paced
  • Scheduled live classes
  • 1:8 mentor code review
  • Cohort + capstone review

Hybrid — weekend

₹2,22,500

+ 18% GST · ₹2,62,550 all-in

Programme ₹1,93,500 + infrastructure & GPU labs ₹29,000

≈ ₹27,813 per week ex-GST over 8 weeks

CA$18,850

per course, before applicable GST/HST

Includes our GPU lab infrastructure: no cloud credits to buy

≈ CA$2,356 per week over 8 weeks

US$13,500

per course, before any applicable local taxes

Includes our GPU lab infrastructure: no cloud credits to buy

≈ US$1,688 per week over 8 weeks

  • Recorded weekday lessons
  • Live weekend sessions
  • Full mentor review
  • Cohort + capstone

Live in-person

₹2,48,000

+ 18% GST · ₹2,92,640 all-in

Programme ₹2,15,700 + infrastructure & GPU labs ₹32,300

≈ ₹31,000 per week ex-GST over 8 weeks

CA$21,050

per course, before applicable GST/HST

Includes our GPU lab infrastructure: no cloud credits to buy

≈ CA$2,631 per week over 8 weeks

US$15,100

per course, before any applicable local taxes

Includes our GPU lab infrastructure: no cloud credits to buy

≈ US$1,888 per week over 8 weeks

  • Everything in live online
  • Classroom instruction
  • On-site mentor time
  • In-person study group

Bulk and institutional pricing. Volume discounts are available for institutions, campuses, companies and groups enrolling several learners. Ask for a group quote →

Your fee includes our GPU lab infrastructure — no cloud credits to buy. See how we compare, with sources →

Ready when you are

Apply for this course

Tell us the format you prefer and we'll confirm the next cohort date and your fee on a short call.

Apply for this course