Un systĂšme dâexploitation (OS) est la couche logicielle entre les utilisateurs/applications et le matĂ©riel. Il alloue le temps CPU, gĂšre la mĂ©moire et les fichiers, contrĂŽle les pĂ©riphĂ©riques et fournit, via les appels systĂšme ainsi que la shell/GUI, une interface unifiĂ©e pour exĂ©cuter les programmes de maniĂšre efficace et sĂ©curisĂ©e.
- Gestion des processus et du CPU : crĂ©ation/fin de processus, planification des threads sur les cĆurs.
- Gestion de la mĂ©moire : allocation de la RAM, mise en Ćuvre de la mĂ©moire virtuelle et de lâisolation.
- Gestion des périphériques et des E/S : abstraction des disques, cartes réseau, claviers via des pilotes.
- Gestion du systÚme de fichiers : organisation des données en fichiers/répertoires avec permissions.
- Sécurité et comptabilité : authentification, autorisation, journalisation (logs), quotas.
- Interface utilisateur et programme : shell/GUI et API dâappels systĂšme.
- Kernel (noyau) : cĆur privilĂ©giĂ© sâexĂ©cutant en Kernel Mode ; responsable de lâordonnancement, de la mĂ©moire, des pilotes, des systĂšmes de fichiers et de lâIPC.
- Shell : interface (CLI ou GUI) qui interprĂšte les commandes et lance les programmes.
- Appels systĂšme (syscalls) : points dâentrĂ©e contrĂŽlĂ©s depuis lâespace utilisateur vers les services du noyau (p. ex.
open, read, execve, CreateProcessW).
Styles de noyau courants en cybersécurité :
- Monolithique (ex. Linux) : la plupart des services dans le noyau.
- Micro-noyau : services déplacés en espace utilisateur pour plus de modularité.
- Hybride (ex. Windows, XNU) : combinaison des deux approches.
- Processus : programme en cours dâexĂ©cution avec son propre espace dâadressage virtuel.
- Thread : unitĂ© planifiable au sein dâun processus, partageant sa mĂ©moire.
- Ordonnanceurs : décident de la prochaine exécution (FCFS, SJF, Priorité, Round-Robin, MLFQ). Comprendre préemption vs. non-préemption, changements de contexte et famine est crucial pour la performance et la forensique.
- MĂ©moire virtuelle : fournit Ă chaque processus un espace dâadressage logique, isolĂ©, adossĂ© Ă la RAM et au disque (pagination/paging).
- Algorithmes de remplacement de pages (p. ex. FIFO, LRU, Optimal) équilibrent localité et surcoût.
- Protection (modes utilisateur/noyau, permissions de page) empĂȘchant lâinterfĂ©rence entre processus.
- Les OS exposent des systÚmes de fichiers (ex. ext4/XFS sous Linux, NTFS/ReFS sous Windows) avec métadonnées, permissions/ACL et journalisation pour la résilience.
- E/S bloc (disques/SSD) utilise des ordonnanceurs ; E/S caractÚre (terminaux) est orientée flux.
- Ordonnancement disque (ex. SCAN/LOOK) et buffering/caching améliorent le débit.
Ătapes typiques :
- UEFI/BIOS initialise le matĂ©riel et trouve le chargeur dâamorçage.
- Le bootloader charge le noyau (et initramfs) en mémoire.
- Le noyau initialise les sous-systĂšmes, monte la racine et lance le premier processus dâespace utilisateur (
init/systemd ou Windows Session Manager).
- Démarrage des services et du gestionnaire de session/connexion.
Les actions utilisateur sâexĂ©cutent en User Mode ; le cĆur de lâOS en Kernel Mode.
Primitifs communs :
- Identités et groupes ; permissions (rwx, ACL), propriété et frontiÚres de privilÚges.
- Application de politiques (Windows : UAC, Group Policy ; Linux : DAC + MAC comme SELinux/AppArmor).
- Audit et journalisation (Windows Event Logs, syslog/journald sous Linux).
Bonnes pratiques : moindre privilÚge, correctifs réguliers, authentification forte.
- Machines virtuelles (VM) : Ă©mulent un matĂ©riel complet pour exĂ©cuter plusieurs OS sur un mĂȘme hĂŽte.
- Conteneurs : (namespaces/cgroups Linux) isolent des processus sur un noyau partagĂ© â dĂ©marrage rapide, forte densitĂ© ; excellents pour la prod et les labs.
- Desktop : Windows, macOS, distributions Linux â productivitĂ©, dĂ©veloppement, jeu.
- Serveur : Linux/Windows Server â services headless, tuning performance & sĂ©curitĂ©.
- Mobile : Android/iOS â sandbox applicative et paradigmes de sĂ©curitĂ© mobile.
- Linux :
useradd, groupadd, passwd -l, fichiers /etc/passwd, /etc/shadow.
- Windows :
net user, net localgroup, console MMC « Local Users & Groups ».
- Linux :
apt, dnf, yum, apk.
- Windows : Winget/Chocolatey ; service Windows Update (
wuauserv).
- Linux :
systemctl enable|start <service> (systemd) ou service (SysV).
- Windows : Service Control Manager (
sc config/start/stop), Services.msc.
- Linux :
chmod, chown, umask ; systĂšmes ext4/XFS.
- Windows : ACL NTFS (GUI ou
icacls), héritage, audit.
- Linux :
/var/log/*, journalctl ; logrotate pour rotation/compression.
- Windows : Observateur dâĂ©vĂ©nements â Application/Security/System ; rĂ©tention via Group Policy ou console.
- Linux :
journalctl -u <svc>, dmesg, top/htop, ss -tulpn, lsof, strace.
- Windows : filtres de lâEvent Viewer, Resource Monitor, Process Explorer,
Get-WinEvent, Get-Process, netstat, outils Sysinternals.
- Faites tourner les logs, centralisez (syslog â SIEM) et dĂ©finissez des politiques de rĂ©tention/accĂšs. logrotate est lâoutil standard Linux pour lâauto-rotation.
Linux
- Désactiver la connexion root via SSH (
PermitRootLogin no), privilégier les clés.
- Patcher réguliÚrement ; packages minimaux ; pare-feu (
ufw/nftables).
- Permissions correctes sur les fichiers sensibles (ex.
/etc/shadow 640, propriétaire root:shadow).
- Configurer logrotate et la centralisation des logs ; surveiller les Ă©checs dâauthentification.
Windows
- Imposer NLA pour RDP ; désactiver Guest ; politiques de verrouillage robustes.
- Maintenir Windows Update actif ; Defender + SmartScreen activés.
- Limiter lâusage dâadmin local ; moindre privilĂšge ; AppLocker/WDAC.
- Définir la rétention des journaux et les exporter vers un SIEM.
- Quâest-ce quâun OS ? Interface entre utilisateur/applications et matĂ©riel ; gĂšre les ressources et fournit des services.
- Processus vs thread ? Le processus a son espace dâadresses ; les threads le partagent et sont lâunitĂ© dâordonnancement.
- MĂ©moire virtuelle ? Abstraction offrant aux processus des espaces dâadresses isolĂ©s via pagination et stockage secondaire.
- Kernel vs shell ? Kernel = cĆur privilĂ©giĂ© ; shell = interface (CLI/GUI) dialoguant avec le noyau via syscalls.
- Monolithique vs micro-noyau ? Monolithique : services dans le noyau ; micro-noyau : noyau minimal, services en espace utilisateur.
Exécuter dans une VM ou un conteneur jetable.
Linux
# 1) Utilisateurs & groupes
sudo groupadd secops && sudo useradd -m -g secops -s /usr/sbin/nologin secops && sudo passwd -l secops
# 2) Paquets (Debian/Ubuntu)
sudo apt-get update -y && sudo apt-get install -y htop && htop --version && sudo apt-get remove -y htop
# 3) Services (systemd)
sudo systemctl enable --now cron || echo "Not available here"
# 4) Rotation des logs
cat | sudo tee /etc/logrotate.d/custom <<'EOF'
/var/log/custom.log {
weekly
rotate 4
compress
missingok
notifempty
create 0640 root adm
}
EOF
sudo touch /var/log/custom.log && sudo chown root:adm /var/log/custom.log && sudo chmod 0640 /var/log/custom.log
# 5) Durcissement SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart ssh || true
Windows (PowerShell en administrateur)
# 1) Utilisateurs & groupes
net user secops /add /y
net localgroup "Users" secops /add
# 2) Paquets via winget (ou Chocolatey si dispo)
winget install --id=7zip.7zip -e; winget uninstall --id=7zip.7zip -e
# 3) Services
sc config wuauserv start= auto
sc start wuauserv
# 4) Rétention des logs (ex. : Application = 64MB)
wevtutil sl Application /ms:67108864
# 5) RDP + NLA recommandé (Group Policy / System Properties > Remote)
- ACL : liste de contrĂŽle dâaccĂšs â permissions granulaires sur des objets.
- Changement de contexte (Context Switch) : sauvegarde/restitution de lâĂ©tat CPU pour alterner les threads.
- SystÚme de fichiers journalisé : enregistre les modifications pour une meilleure résilience aux pannes.
- Kernel/User Mode : niveaux de privilÚges CPU déterminant les opérations autorisées.
- Pagination (Paging) : déplacement de pages entre RAM et disque.
- PrĂ©emption : lâordonnanceur interrompt un thread pour en exĂ©cuter un autre.
- Appel systĂšme (syscall) : frontiĂšre dâAPI entre espace utilisateur et services du noyau.
- Intégrer des mots-clés dans H1/H2 : « Operating System Basics », « OS for Cybersecurity », « Linux vs Windows administration ».
- Ajouter des liens internes vers Linux CLI, Windows Registry, SIEM/Logging et Threat Hunting.
- Proposer un cheat sheet téléchargeable et des scripts de lab pour augmenter le temps passé et les backlinks.
- Marquer la FAQ avec JSON-LD (FAQPage) pour obtenir des rich results.