DNS : le carnet d'adresses mondial que tu dois savoir lire
Ce que DNS fait réellement
Quand ton navigateur tape monprojet.fr, il ne sait pas où se trouve le serveur. Il connaît un nom — pas une adresse. Le Système de Noms de Domaine (DNS pour Domain Name System) est ce qui traduit monprojet.fr en 195.24.xx.xx, l'adresse IP réelle de ton serveur.
Cette traduction suit un chemin précis. Ton ordinateur interroge d'abord un résolveur récursif — souvent celui de ton FAI, de Cloudflare (1.1.1.1) ou de Google (8.8.8.8). Ce résolveur ne connaît pas forcément la réponse de tête, mais il sait à qui demander. Il remonte la chaîne : les serveurs racine (13 clusters planétaires qui connaissent la liste des TLD), puis les serveurs TLD (.fr, .com, etc.), puis finalement le serveur autoritaire de ton domaine — celui que ton registrar ou Cloudflare héberge pour toi. C'est ce serveur autoritaire qui possède la vérité sur tes records.
La réponse remonte dans l'autre sens, mise en cache à chaque étape, et ton navigateur peut enfin se connecter.
Les types de records que tu rencontres au quotidien
| Record | Rôle | Exemple d'utilisation |
|---|
| A | Fait pointer un nom vers une IPv4 | monprojet.fr → 195.24.12.3 |
| AAAA | Fait pointer un nom vers une IPv6 | monprojet.fr → 2a01:cb15::1 |
| CNAME | Alias vers un autre nom | www → monprojet.fr |
| MX | Serveurs de messagerie entrants | monprojet.fr → mail.google.com (priorité 10) |
| TXT | Texte libre — SPF, DKIM, vérifications | v=spf1 include:_spf.google.com ~all |
| NS | Serveurs autoritaires du domaine | ns1.cloudflare.com |
| CAA | Autorités autorisées à émettre des certificats | letsencrypt.org seulement |
Le record TXT mérite une attention particulière. Il sert à la fois à l'authentification mail (SPF, DKIM, DMARC) et à la vérification de propriété du domaine (Google, Stripe, GitHub). Si ton record SPF est absent ou mal formé, tes mails Stripe finissent en spam — ou pire, sont rejetés avant d'atteindre la boîte.
TTL et propagation : le délai qui tue les lancements
Le TTL (Time To Live) est la durée en secondes pendant laquelle un résolveur peut mettre en cache ta réponse DNS avant de reposer la question. Un TTL de 86400 signifie 24 heures. Un TTL de 300 signifie 5 minutes.
La règle opérationnelle : 48 heures avant un changement DNS important, baisse ton TTL à 300. Quand le changement est fait et vérifié, remonte à une valeur haute (3600 ou davantage) pour réduire la charge sur ton serveur autoritaire. Si tu fais un changement de MX avec un TTL de 86400 laissé en place, tu attends potentiellement 24h que tous les résolveurs du monde invalident leur cache — et pendant ce temps, une partie de tes mails partent vers l'ancienne destination.
DNSSEC : la signature qui empêche l'empoisonnement
Le DNS classique n'est pas authentifié. Un attaquant qui contrôle un résolveur intermédiaire peut répondre à ta place et rediriger ton domaine vers son serveur. C'est ce qu'on appelle du DNS cache poisoning ou un DNS hijack — la tactique TA0001 du référentiel MITRE ATT&CK (Initial Access).
DNSSEC (DNS Security Extensions) ajoute une signature cryptographique à chaque réponse DNS. Le résolveur peut vérifier que la réponse vient bien du serveur autoritaire légitime. Cloudflare active DNSSEC en un clic dans le panneau DNS. Si ton registrar supporte la délégation DNSSEC et que tu utilises Cloudflare, le toolkit C2-02 couvre exactement cette configuration.
IPv4, IPv6 et le problème de la rareté
Une adresse IP (Internet Protocol) est le numéro de voirie d'une machine sur internet. IPv4 encode l'adresse sur 32 bits, ce qui donne environ 4,3 milliards d'adresses uniques — un chiffre qui semblait astronomique en 1981 et qui s'est révélé dramatiquement insuffisant. Le pool d'adresses IPv4 publiques est épuisé depuis 2011 chez IANA (l'autorité mondiale d'allocation).
IPv6 encode l'adresse sur 128 bits. Le nombre d'adresses disponibles est si grand que chaque grain de sable de la planète pourrait en avoir plusieurs. La migration tarde parce que les deux protocoles ne sont pas directement compatibles, mais une infrastructure moderne doit supporter les deux (ce qu'on appelle le dual-stack). Si ton VPS n'a pas d'adresse IPv6, une partie de ta résilience réseau est manquante.
NAT : pourquoi ton adresse locale n'est pas ton adresse internet
Chez toi, ton ordinateur a une adresse comme 192.168.1.24. C'est une adresse privée, non routable sur internet public. Ton routeur FAI fait de la NAT (Network Address Translation) : il traduit cette adresse privée en l'adresse publique de ta connexion (par exemple 82.64.xx.xx) quand il envoie un paquet, et fait le chemin inverse quand il reçoit une réponse.
En production, ton VPS, lui, a directement une adresse publique. Il n'y a pas de NAT entre lui et internet — ce qui veut dire que chaque port ouvert est directement accessible depuis n'importe où dans le monde. C'est pour ça qu'un firewall configuré dès le premier jour n'est pas optionnel.
BGP en trois lignes : pourquoi internet peut disparaître pendant quelques heures
Internet n'est pas un réseau unique. C'est une collection de milliers de réseaux autonomes (AS pour Autonomous System) — Orange, Cloudflare, Amazon, OVH — qui échangent des informations de routage via le protocole BGP (Border Gateway Protocol). BGP dit à chaque réseau quels préfixes IP sont accessibles via quel voisin.
Le problème : BGP est un protocole basé sur la confiance. N'importe quel AS peut annoncer qu'il possède un préfixe IP qu'il ne possède pas — une erreur de configuration ou une manipulation délibérée qui s'appelle un BGP hijack. Le résultat : le trafic destiné à ta plateforme est redirigé vers un AS tiers, parfois pendant plusieurs heures, avant que les opérateurs corrigent manuellement les tables de routage. Les incidents BGP ayant affecté des services majeurs (Facebook en 2021, Cloudflare en 2020) ont duré de quelques minutes à plusieurs heures et sont documentés publiquement.
Tu ne contrôles pas BGP. Mais tu dois en connaître l'existence pour comprendre pourquoi un service peut être inaccessible sans que ni ton serveur ni ton DNS soient en cause.
Géolocalisation IP : ce que tes utilisateurs et tes attaquants voient
Les bases de données de géolocalisation IP (MaxMind, IPinfo) font correspondre une plage d'adresses à un pays ou une ville. Ces données sont imprécises — souvent au niveau régional, parfois complètement fausses pour les VPN et les Tor exit nodes. Mais elles servent à deux choses en pratique : configurer des règles de rate-limiting géographiques dans ton WAF (Web Application Firewall), et comprendre d'où viennent les tentatives d'authentification suspectes dans tes logs.
HTTPS et TLS : le cadenas que tout le monde croit comprendre
Le handshake TLS simplifié
HTTPS n'est pas un protocole distinct d'HTTP. C'est HTTP transporté sur une couche TLS (Transport Layer Security). TLS s'intercale entre la couche réseau et ton application pour chiffrer les données en transit.
Quand ton navigateur contacte un serveur HTTPS, les deux parties négocient un canal sécurisé en quelques allers-retours — le TLS handshake :
- Le client annonce les algorithmes de chiffrement qu'il supporte et génère un nombre aléatoire.
- Le serveur choisit un algorithme, présente son certificat X.509, et génère son propre nombre aléatoire.
- Les deux parties s'accordent sur une clé de session symétrique (via ECDHE — échange de clés Diffie-Hellman sur courbe elliptique — dans TLS 1.3) sans jamais la transmettre en clair.
- Tout le trafic qui suit est chiffré avec cette clé de session.
TLS 1.3 (le standard actuel) simplifie et accélère ce processus. Si ton serveur Nginx ou Traefik n'a pas été configuré pour refuser TLS 1.0 et 1.1, tu exposes encore des utilisateurs à des protocoles dépréciés avec des vulnérabilités connues.
Certificats X.509 : ce que le cadenas vert veut dire
Un certificat X.509 est un document signé cryptographiquement qui dit : "Ce serveur s'appelle monprojet.fr, et l'autorité de certification Untel l'atteste." Il contient la clé publique du serveur, le nom du domaine (ou les domaines couverts par un certificat wildcard *.monprojet.fr), la date d'expiration, et la signature de l'autorité.
Ton navigateur maintient une liste d'autorités de certification (CA) de confiance. Quand il reçoit un certificat, il vérifie que la signature remonte à l'une de ces CA via une chaîne de confiance. Si la CA n'est pas dans la liste, ou si le certificat a expiré, tu vois l'avertissement rouge "Connexion non sécurisée" — et selon les études de conversion, 50 à 80% des visiteurs ne cliquent pas sur "continuer".
Let's Encrypt vs certificats payants
| Let's Encrypt | Certificat payant (DigiCert, Sectigo…) |
|---|
| Coût | Gratuit | 10 à 1 500 €/an selon niveau |
| Durée | 90 jours, renouvellement automatique | 1 à 2 ans |
| Niveau de validation | DV (Domain Validation uniquement) | DV, OV ou EV (Organisation, Extended) |
| Support | Communautaire | Commercial avec SLA |
| Wildcard | Oui (via DNS challenge) | Oui |
| Cas d'usage Cyberviseur | Tout projet bootstrap | Obligatoire si paiements EV requis ou assurance |
Pour 99% des projets indépendants, Let's Encrypt suffit largement. Le renouvellement automatique via Certbot ou Traefik élimine le risque d'expiration — à condition que l'automatisation tourne réellement. Un certificat qui expire la nuit de ton lancement parce que le cron ne s'est pas exécuté, c'est un incident P1 évitable.
HSTS, SNI et OCSP : les trois détails qui font la différence
HSTS (HTTP Strict Transport Security) est un header de réponse qui dit au navigateur : "Pour ce domaine, utilise uniquement HTTPS pendant N secondes, même si l'utilisateur tape http://." Le préchargement HSTS (includeSubDomains; preload) va plus loin : ton domaine est inscrit dans une liste compilée dans le navigateur lui-même, ce qui élimine le premier aller-retour HTTP avant la redirection. Résultat : aucune possibilité de downgrade vers HTTP même sur une première visite.
SNI (Server Name Indication) est l'extension TLS qui permet à un serveur de présenter plusieurs certificats sur une seule adresse IP. Sans SNI, il faudrait une adresse IP dédiée par domaine — ce qui était le cas avant TLS 1.0 et reste la contrainte sur certains équipements réseau anciens. Avec SNI, ton Traefik peut servir des dizaines de domaines avec des certificats différents sur le même port 443.
OCSP (Online Certificate Status Protocol) est le mécanisme qui permet de vérifier en temps réel si un certificat n'a pas été révoqué. En pratique, les navigateurs implémentent aujourd'hui l'OCSP stapling : c'est le serveur qui récupère et met en cache la réponse OCSP, évitant à chaque client de faire une requête directe à la CA. Si l'OCSP stapling n'est pas configuré, un navigateur qui ne peut pas joindre la CA peut échouer à valider ton certificat dans certains modes stricts.