Pilier 04

Réseaux
& Systèmes

Une API rigoureuse sur un serveur mal configuré ne protège rien.

Pourquoi

Dans un réseau à plat où toute machine parle à toutes les autres, le meilleur code du monde ne change rien. Comprendre la couche du dessous change la façon dont on écrit celle du dessus.


Architecture

Comment je pense un déploiement

Segmenter. Filtrer entre les segments. Ne jamais exposer la base.

ZONE PUBLIQUE ZONE APPLICATIVE ZONE DE DONNÉES Reverse proxy · TLS Client web & mobile API REST · JWT Service de traitement Conteneurs Base relationnelle Données chiffrées pare-feupare-feu 443port interne
Les trois règles

Refus par défaut

Aucun flux autorisé tant qu'il n'est pas justifié. On ouvre, on ne ferme pas.

Base jamais exposée

Le serveur de données n'accepte que la zone applicative.

Cloisonnement

Une compromission publique ne donne pas accès aux données.

Étude technique

Le DNS, et pourquoi il fait peur

Le service dont tout dépend, et que presque personne ne surveille.

DNSCache poisoning Amplification DDoSTunneling DNSSECDNS over HTTPS

Étude du fonctionnement du protocole, de ses failles structurelles et des réponses existantes. Présentée à l'oral.

Les quatre angles

Empoisonnement de cache

Injecter une réponse falsifiée dans le cache d'un résolveur, pour rediriger silencieusement tout un réseau vers un serveur contrôlé.

Amplification en DDoS

Une requête minuscule provoque une réponse volumineuse. En usurpant l'adresse source, l'attaquant transforme des résolveurs ouverts en artillerie contre sa cible.

Tunneling et exfiltration

Le DNS sort de presque tous les réseaux, y compris ceux qui bloquent tout le reste. Encoder des données dans des sous-domaines en fait un canal de sortie discret — c'est le point que je trouve le plus intéressant, parce qu'il n'est pas un défaut du protocole mais de la confiance qu'on lui accorde.

Les réponses

DNSSEC signe les réponses et rend la falsification détectable. DNS over HTTPS les chiffre et empêche l'observation passive — au prix de la visibilité pour l'équipe qui défend le réseau. Aucune des deux n'est gratuite.

Le diaporama complet (PDF)

Compétences

Fondamentaux

Adressage & VLAN

Plans IPv4, masques, sous-réseaux, domaines de diffusion séparés.

Routage & commutation

Routeurs, commutateurs, tables statiques, protocoles dynamiques.

Filtrage & pare-feu

Règles de filtrage, refus par défaut, ouverture explicite.

Analyse de trafic

Lecture de captures paquet par paquet.

Administration Linux

Services, permissions, scripts, journaux, durcissement.

Docker & virtualisation

Environnements reproductibles, images minimales, sans privilèges.

Ce qui est automatisé s'exécute toujours.

Ce qui repose sur la discipline s'oublie un vendredi soir. C'est pourquoi les contrôles de sécurité ont leur place dans la chaîne d'intégration.

Pipeline GitLab CI en quatre étapes : test, build, package, deploy
Un passage du pipeline — quatre étapes, tests unitaires et d'intégration, base MySQL éphémère en conteneur.
Ma chaîne GitLab CI

Le problème

Tests lancés à la main, donc irrégulièrement. Les régressions se découvraient en démonstration.

Mis en place

  • Déclenchement à chaque envoi
  • Tests en environnement conteneurisé
  • Service MySQL éphémère via Docker
  • Contrôle qualité et artefacts

Ce que je referais

Ma chaîne s'arrêtait aux tests. J'ajouterais un audit des dépendances vulnérables et une détection de secrets, en échec bloquant.