Sécurité informatique#

La sécurité n’est pas une fonctionnalité qu’on ajoute après coup — c’est une propriété systémique qui se conçoit, se construit et se maintient à chaque couche d’un système. Ce livre couvre l’intégralité du domaine : fondations cryptographiques, sécurité réseau, sécurité applicative (OWASP), conteneurs et cloud, sécurité offensive, réponse aux incidents et conformité réglementaire.

Chaque chapitre combine des explications conceptuelles, des commandes et configurations concrètes, et des cellules Python exécutables pour visualiser et simuler les mécanismes présentés. L’objectif est de comprendre non seulement le quoi, mais le pourquoi et le comment, avec suffisamment de profondeur pour être opérationnel.


Organisation du livre#

Partie I — Fondations#

Les bases sur lesquelles repose tout programme de sécurité : identifier les menaces, comprendre la cryptographie et maîtriser la gestion des identités.

  • Modélisation des menaces — Modélisation des menaces : STRIDE, DREAD, arbres d’attaque, PASTA, threat modeling applicatif

  • 02 — Cryptographie appliquée — Chiffrement symétrique (AES), asymétrique (RSA, ECC), fonctions de hachage, MAC, AEAD

  • 03 — IAM et identités — Authentification (MFA, FIDO2), autorisation (RBAC, ABAC), OAuth 2.0, OIDC, SAML

Partie II — Cryptographie avancée et PKI#

De la cryptographie fondamentale aux infrastructures de confiance à grande échelle.

  • 04 — TLS en profondeur — Handshake TLS 1.3, cipher suites, Perfect Forward Secrecy, HSTS, Certificate Transparency

  • 05 — PKI, certificats X.509 et rotation — PKI et certificats : CA, chaînes de confiance, X.509, OCSP, révocation, Let’s Encrypt

  • 06 — E2EE et secrets avancés — Chiffrement de bout en bout, Signal Protocol, gestion des secrets (Vault, SOPS, AWS Secrets Manager)

Partie III — Sécurité réseau#

Défense du périmètre réseau, détection des intrusions et sécurisation des protocoles fondamentaux.

  • 07 — Sécurité réseau — Pare-feu (nftables, iptables), DMZ, VPN (WireGuard, IPsec), NAC

  • 08 — IDS et Zero Trust — Snort/Suricata, Zeek, modèle Zero Trust, micro-segmentation, BeyondCorp

  • 9. Sécurité DNS, BGP et protocoles réseau — Sécurité DNS et BGP : DNSSEC, DoH, DoT, BGP hijacking, RPKI, filtrage de préfixes

Partie IV — Sécurité applicative et OWASP#

Les vulnérabilités les plus fréquentes des applications web et les contre-mesures efficaces.

  • 10 — OWASP : injections — SQLi, XSS, SSRF, XXE, path traversal — exploitation et défense

  • 11 — OWASP : authentification et cryptographie — Broken auth, insecure deserialization, IDOR, CORS, secrets dans le code

  • 12 — Sécurité des APIs — REST, GraphQL, gRPC — authentification, rate limiting, validation, fuzzing

Partie V — Conteneurs, cloud et supply chain#

Sécuriser les architectures modernes : conteneurs, orchestration, cloud public et chaîne d’approvisionnement logicielle.

  • 13. Hardening Docker et sécurité des images — Hardening Docker : namespaces, cgroups, seccomp, AppArmor, images minimales, Trivy

  • 14 — Kubernetes RBAC et sécurité — RBAC, Network Policies, PodSecurity, Falco, OPA/Gatekeeper, secrets etcd

  • 15 — IAM cloud et CSPM — IAM AWS/GCP/Azure, principe du moindre privilège, CSPM (Prowler, ScoutSuite)

  • 16 — Supply chain et SBOM — SLSA, SBOM (SPDX, CycloneDX), Sigstore/Cosign, dépendances et CVEs

Partie VI — Sécurité offensive et tests#

Penser comme un attaquant pour mieux défendre : reconnaissance, exploitation et équipes Red/Blue.

  • 17 — Pentest : reconnaissance — OSINT (Maltego, theHarvester), enumération réseau (nmap, masscan), footprinting

  • 18 — Pentest web — Burp Suite, SQLmap, exploitation XSS avancée, OWASP Testing Guide, reporting

  • 19 — Red et Blue Team — Kill chain de Lockheed Martin, MITRE ATT&CK, exercices Red vs Blue, Purple Team

Partie VII — Détection, IR, forensique et hardening#

Détecter les attaques, répondre aux incidents et durcir les systèmes.

Partie VIII — Conformité et maturité#

Cadres réglementaires, certification et construction d’un programme de sécurité durable.


Prérequis

Ce livre suppose une familiarité avec Linux (ligne de commande, administration de base), les réseaux (TCP/IP, DNS, HTTP) et Python (pour les cellules de visualisation). Les connaissances en sécurité ne sont pas prérequises — chaque concept est introduit à partir des fondations.

Environnement d’exécution

Les cellules Python utilisent numpy, pandas, matplotlib, seaborn, cryptography et pyjwt. L’ensemble des dépendances est listé dans requirements.txt. Pour exécuter localement : pip install -r requirements.txt dans un environnement virtuel Python 3.10+.