Table of Contents
Fiche pédagogique
- Objectifs SMART : auditer un serveur Linux, automatiser son durcissement et livrer un lab Vagrant/Ansible reproductible en 10 jours.
- Durée : 12 h (5 h théorie, 7 h pratique)
- Prérequis : bases shell, Git, notions réseau.
- Niveau : Débutant → Intermédiaire.
Sommaire
- Architecture Linux & services essentiels
- Gestion des utilisateurs, permissions et sécurité
- Automatisation système (Bash, systemd, Ansible)
- Lab Vagrant + Molecule
- Cas pratiques : Golden Image & runbook incident
- Labs, quiz, checklist
- Ressources & synthèse
1. Architecture Linux & services essentiels
Comprendre la pile : boot (UEFI → GRUB → systemd), gestion des processus (ps, systemd-cgls), journaux (journalctl). Diagramme recommandé : « boot → PID1 → services ».
- Gestion paquets : APT, DNF.
- Réseau : iproute2, nftables.
- Stockage : LVM, RAID mdadm, snapshots, outils (guide RHEL).
2. Utilisateurs, permissions et sécurité
- Gestion comptes (
useradd,chage), groupes, PAM. - Permissions avancées : ACL (
setfacl),sudoers, SELinux/AppArmor. - Durcissement : CIS Benchmarks, lynis, journaux centralisés (rsyslog).
3. Automatisation système
Bash moderne (#!/usr/bin/env bash, set -euo pipefail), tests (bats-core), lint (shellcheck), packaging (Makefile).
#!/usr/bin/env bash
set -euo pipefail
trap 'echo "Erreur ligne $LINENO" >&2' ERR
BACKUP_DIR=${1:-/var/backups}
find /var/log -type f -mtime +7 -print0 | xargs -0 gzip -9
systemd : timers, unit override, journald persistent. Ansible : inventaires, rôles, collections.
4. Lab Vagrant + Molecule
Architecture : 1 VM control + 2 noeuds app.
Vagrant.configure('2') do |config|
config.vm.define 'control' do |node|
node.vm.box = 'bento/rockylinux-9'
node.vm.network 'private_network', ip: '192.168.56.10'
end
end
Rôle Ansible testé avec Molecule + Docker.
scenario:
name: default
lint: |
ansible-lint
5. Cas pratiques
- Golden Laptop : script bootstrap (Docker, kubectl, terraform, CLI cloud) + check versions.
- Runbook incident : modèle (symptôme, commande diagnostic, action).
- Audit sécurité : checklist CIS, rapport lynis.
6. Labs, quiz, checklist
| Lab | Objectif | Livrable |
|---|---|---|
| Lab services | Créer service systemd + timer | Unit files + README |
| Lab Vagrant | Provision 2 VM + Ansible roles | Dépôt Git + tests Molecule |
| Lab hardening | Appliquer CIS L1 + rapport | Rapport HTML + plan remédiation |
Quiz (exemples) : différence setuid/setgid, que fait systemctl daemon-reload, commandes LVM. Checklist pair : scripts testés, roles idempotents, documentation.
7. Ressources & synthèse
- Red Hat docs, Ubuntu Server Docs.
- Guide installation, Arch Wiki.
- Outils : cheat.sh, tmux, rsnapshot.
- Veille : Fedora Magazine, LWN.
À retenir : standardisez votre environnement, versionnez scripts et rôles, mesurez vos durcissements. Ce module alimente IaC et CI/CD.