Learn the Machine From the Metal Up

A from-scratch, zero-black-box curriculum for the people who keep clusters alive: Linux internals & security, DISA STIGs, HPC benchmarking, eBPF, Ansible, Warewulf, RDMA fabric, parallel storage, containers, kernel tuning, anomaly detection, fraud detection, key management, SOC & detection engineering, NOC & incident command, Splunk/SIEM, chaos engineering, and red/blue/purple teaming — with runnable pure-Python labs that model the real thing.

✅ CI-tested labs 🐍 Pure Python 3, zero deps 📼 21 modules · 126 lessons
Scroll to explore
5
Course Parts
21
Modules
63
Runnable Labs
800+
Interview Q&A

Twenty-One Modules, One Cluster

Every module follows the same shape: three runnable stepN_*.py labs that model the real mechanism with no dependencies, a BEGINNER_GUIDE with everyday analogies, a DEEP_DIVE with production war-stories and real configs, and an INTERVIEW file of micro-detail Q&A.

📘 Prefer a guided path? Five parts, deep and wide.

Part 1 — Fundamentals: the twenty-one topics below as 21 chapters × 6 levels, from plain-English analogy to an Ultimate level of real production scenarios.
Part 2 — Linux Kernel Internals & Performance Engineering: 16 chapters × 5 levels on scheduler internals, NUMA, cgroups v2, perf/eBPF profiling, kernel bypass, live-patching.
Part 3 — HPC Cluster Orchestration at Scale: 16 chapters × 5 levels on Slurm internals, Warewulf, MPI placement, RDMA fabric, parallel filesystems, GPU scheduling.
Part 4 — Security Hardening & Compliance Engineering: 16 chapters × 5 levels on STIG/CIS automation, SELinux, kernel hardening, supply-chain security, PAM, OpenSCAP.
Part 5 — Production Systems Operations: 16 chapters × 5 levels on fleet observability, centralized logging, anomaly detection, chaos engineering, on-call & postmortems — each ending in an interview drill.

Part 1 — Fundamentals → Part 2 — Kernel & Perf → Part 3 — HPC Orchestration → Part 4 — Security Hardening → Part 5 — Production Ops →
01
Linux Internals & the Boot Path
/proc • page cache • scheduler • cgroups • namespaces

What actually happens between power-on and a login prompt. The virtual filesystem, the page cache, how fork() and the CFS/EEVDF scheduler share a CPU, and why "free memory" is a lie you should stop worrying about.

Step 1 Step 2 Step 3 Guide
02
Security Hardening
CIS • SSH • sudo • SELinux • auditd • attack paths

Turning a default install into a defensible one. Baseline scoring, SSH and PAM, least-privilege sudo, SELinux vs AppArmor, kernel sysctl hardening, and how a small misconfiguration becomes root.

Step 1 Step 2 Step 3 Guide
03
STIGs & Compliance Automation
DISA STIG • SCAP • XCCDF/OVAL • OpenSCAP • CaC

How the DoD ships a hardened OS. The XCCDF/OVAL data model, CAT I/II/III severity, oscap scanning and remediation, SSG/ComplianceAsCode, tailoring, POA&Ms, and keeping an accredited system compliant over time.

Step 1 Step 2 Step 3 Guide
04
HPC Benchmarking
HPL • HPCG • STREAM • OSU • IOR • roofline

Measuring a machine honestly. Sizing HPL for the Top500 run, STREAM and the memory wall, OSU latency/bandwidth, IOR/mdtest for storage, the roofline model, and Amdahl vs Gustafson when your scaling curve bends.

Step 1 Step 2 Step 3 Guide
05
eBPF & Observability
verifier • maps • ring buffer • bpftrace • CO-RE

Safe programs in the kernel. Why the verifier rejects your loop, how maps and the ring buffer move data to userspace, tracepoints vs kprobes vs fentry, CO-RE and BTF, and building a syscall latency histogram the way bpftrace does.

Step 1 Step 2 Step 3 Guide
06
Ansible Automation at Scale
inventory • idempotency • roles • strategies • rolling

Configuration as a repeatable fact. Inventory and group_vars precedence, what "idempotent" really demands of a task, handlers, serial rolling updates with health gates, and why free strategy and fact-caching decide your window.

Step 1 Step 2 Step 3 Guide
07
Warewulf Provisioning
PXE/iPXE • TFTP/HTTP • overlays • stateless nodes

Booting a thousand diskless nodes from one image. The DHCP → TFTP → iPXE → kernel/initramfs handshake, container images as node images, system vs runtime overlays, and why stateless provisioning makes a node reboot instead of a ticket.

Step 1 Step 2 Step 3 Guide
08
HPC Cluster Architecture & Slurm
Slurm • backfill • MPI • PMIx • cgroups • fairshare

How a batch scheduler turns a room of servers into a shared supercomputer. Partitions and QOS, the backfill algorithm, fairshare, MPI ranks and collectives, process binding, and the control-plane daemons that must never go down.

Step 1 Step 2 Step 3 Guide
09
Networking & RDMA Fabric
InfiniBand • RoCE • fat-tree • SHARP • subnet manager

The wires that make MPI fast. RDMA vs the kernel TCP path, InfiniBand vs RoCEv2, fat-tree bisection bandwidth and oversubscription, the subnet manager, adaptive routing, and reading ibstat / perfquery.

Step 1 Step 2 Step 3 Guide
10
Parallel Storage
Lustre • BeeGFS • NFS • striping • metadata • IOR

Feeding thousands of ranks from one filesystem. MDS/OSS/OST anatomy, stripe count and size, the metadata bottleneck and the ls -l that took the cluster down, progressive file layouts, and why small random I/O is the enemy.

Step 1 Step 2 Step 3 Guide
11
Containers & Reproducibility
Apptainer • SIF • Spack • EasyBuild • modules

Making a run reproduce in five years. Apptainer/Singularity's rootless single-file model vs Docker, binding the host MPI and fabric into a container, Spack concretization and the build DAG, and environment modules / Lmod.

Step 1 Step 2 Step 3 Guide
12
Kernel & Performance Tuning
NUMA • cgroups v2 • hugepages • tuned • isolcpus

The last 20% of performance. NUMA locality and numactl, cgroups v2 resource control, hugepages and the TLB, C-states and the governor, CPU isolation and IRQ affinity, and tuned profiles for latency vs throughput.

Step 1 Step 2 Step 3 Guide
13
Linux Security — LSM, seccomp, caps
capabilities • seccomp-bpf • SELinux/AppArmor • namespaces • IMA

The kernel guardrails a process cannot argue with. "root" split into 40 capabilities, a syscall allowlist that deletes 80% of the attack surface, SELinux type enforcement and the domain transition, and why a confined RCE goes nowhere.

Step 1 Step 2 Step 3 Guide
14
Anomaly Detection on Encrypted Activity
flow features • JA3/JA4 • beaconing • exfil • DoH

When the payload is encrypted, the shape still talks. Direction/size/timing features that separate web from exfil from C2, TLS client fingerprints against an egress allowlist, and jitter-resistant beacon detection — no decryption.

Step 1 Step 2 Step 3 Guide
15
Fraud & Circumvention Detection
velocity rules • linkage graphs • device/bot • cost-based eval

Judging behaviour you can't fully see: sliding-window velocity and impossible travel, linkage graphs that expose a ring one account can't, device/proxy/bot tells, and why you tune the threshold by dollars, not accuracy.

Step 1 Step 2 Step 3 Guide
16
Key-Management Infrastructure
envelope encryption • KMS/HSM • Shamir • rotation windows

The vault under everything. KEK/DEK hierarchies where rotation re-wraps keys not petabytes, crypto-shredding for "delete my data", k-of-n secret sharing and the key ceremony, and signing-key rotation without an auth outage.

Step 1 Step 2 Step 3 Guide
17
SOC Operations & Detection Engineering
triage • ATT&CK coverage • FP tuning • SOAR • MTTD

The room that watches. Alert triage and analyst tiers, detection-as -code and the precision/recall trade, an ATT&CK coverage matrix weighted by prevalence, and why a noisy rule is worse than no rule.

Step 1 Step 2 Step 3 Guide
18
NOC & Incident Command
golden signals • error budgets • SEV • IC roles • postmortems

Running it well when it is down. The four golden signals and why you page on symptoms not causes, multi-window burn-rate alerting, incident command roles, and the blameless postmortem.

Step 1 Step 2 Step 3 Guide
19
Splunk & SIEM
SPL • indexes • stats family • CIM • correlation • RBA

Logs into answers. SPL as a Unix pipeline for events, indexes and sourcetypes, the stats/eventstats/streamstats confusion settled, data models & CIM, and correlation searches with throttling and risk-based alerting.

Step 1 Step 2 Step 3 Guide
20
Chaos Engineering & Resilience
steady-state hypothesis • blast radius • GameDays • circuit breakers

Breaking things on purpose to find the weaknesses first. The steady-state hypothesis test, bounding blast radius by error budget, the staged ramp with an abort button, and the four things that stop a dependency failure from cascading.

Step 1 Step 2 Step 3 Guide
21
Red Team / Blue Team / Purple Team
kill chain • ATT&CK • lateral movement • purple loop

Attack to learn defence. The intrusion lifecycle and why the detection stage beats the detection count, lateral movement as shortest-path graph search (BloodHound-style), and the purple feedback loop that shrinks the gap list.

Step 1 Step 2 Step 3 Guide

Guide Index

Every module is explained three ways — plain-English analogy, a production deep-dive with real configs and outage stories, and an interview drill of micro-details.

ModuleBeginnerDeep DiveInterview
Linux internalsGuideDeep DiveQ&A
Security hardeningGuideDeep DiveQ&A
STIGs & complianceGuideDeep DiveQ&A
HPC benchmarkingGuideDeep DiveQ&A
eBPF & observabilityGuideDeep DiveQ&A
Ansible automationGuideDeep DiveQ&A
Warewulf provisioningGuideDeep DiveQ&A
HPC / Slurm architectureGuideDeep DiveQ&A
Networking & RDMA fabricGuideDeep DiveQ&A
Parallel storageGuideDeep DiveQ&A
Containers & reproducibilityGuideDeep DiveQ&A
Kernel & performance tuningGuideDeep DiveQ&A
Linux security (LSM/seccomp/caps)GuideDeep DiveQ&A
Anomaly detection on encrypted activityGuideDeep DiveQ&A
Fraud & circumvention detectionGuideDeep DiveQ&A
Key-management infrastructureGuideDeep DiveQ&A
SOC & detection engineeringGuideDeep DiveQ&A
NOC & incident commandGuideDeep DiveQ&A
Splunk & SIEMGuideDeep DiveQ&A
Chaos engineering & resilienceGuideDeep DiveQ&A
Red / blue / purple teamingGuideDeep DiveQ&A

Keep Learning

Five course parts in this repo — Part 1 from first principles, Parts 2–5 operating the standard tools at production depth.

🐧
Course · Part 1 — Fundamentals
This repo · 21 modules × 6 levels

Linux internals → hardening & STIGs → HPC benchmarking → eBPF → Ansible → Warewulf → Slurm → fabric & storage → containers & tuning → SOC/NOC & red/blue teaming.

Open Part 1
🧠
Course · Part 2 — Kernel Internals & Performance
This repo · 16 chapters × 5 levels

Scheduler internals, memory management & NUMA, cgroups v2, perf/eBPF profiling in production, I/O schedulers, kernel bypass, live-patching, fleet-wide sysctl tuning.

Open Part 2
🖥️
Course · Part 3 — HPC Cluster Orchestration
This repo · 16 chapters × 5 levels

Slurm scheduler internals, Warewulf provisioning at scale, MPI placement & topology awareness, RDMA/InfiniBand fabric design, parallel filesystems, GPU scheduling, burst-to-cloud HPC.

Open Part 3
🛡️
Course · Part 4 — Security Hardening & Compliance
This repo · 16 chapters × 5 levels

DISA STIG automation at fleet scale, CIS benchmarks as code, SELinux/AppArmor policy authoring, kernel hardening, supply-chain security, secrets management, intrusion detection, OpenSCAP.

Open Part 4
📡
Course · Part 5 — Production Systems Operations
This repo · 16 chapters × 5 levels

Fleet-wide observability, centralized logging at scale, anomaly detection, chaos engineering for bare-metal/HPC, on-call & incident response, capacity planning, postmortems.

Open Part 5
🤖
AI-ML & DevOps-Infra — sibling curricula
External · satyabhan007.github.io

AI/ML engineering from scratch through production system design and enterprise-scale AI, and infrastructure from IaC through Kubernetes platform engineering and observability — the same "from scratch, zero black box" approach applied to two other stacks.

AI-ML ↗ DevOps-Infra ↗

Built for the Interview

Each INTERVIEW.md is a drill of the exact micro-details that come up in Linux / HPC / DevSecOps screens — asked as a question, answered in a few tight sentences, with the "why it matters" that separates a memorised answer from an understood one.

🧠
Concept checks
"What is a major vs minor page fault?"

Definitions you must be able to give cold, with the one detail interviewers probe for.

🔧
Debug drills
"Load is 40, CPU is 3% — explain."

Symptom → hypotheses → the command that confirms it, for the classic failure modes.

📐
Back-of-envelope
"Size HPL for 64 nodes × 512 GB."

The formulas — HPL N, bisection bandwidth, Amdahl limit, stripe count — worked in your head.

Quick Start

No cluster required. Every lab is pure Python 3 with zero dependencies — it models the real mechanism so you can read and modify it.

1
Clone the repository
The full curriculum, guides and labs.
git clone https://github.com/satyabhan007/linux-hpc-security.git
cd linux-hpc-security
2
Run the whole lab suite
All 63 labs, ~12s, no dependencies. This is what CI runs on every push.
python3 run_all.py
3
Walk any module
Read the guide, then run the three steps in order.
python3 benchmarking/step1_hpl_problem_size.py
python3 hpc/step1_slurm_backfill.py
python3 ebpf/step3_latency_hist.py
Clone on GitHub Read the Guides