Module 9 — Réseau

Network Services

Explore les services réseau essentiels qui font fonctionner Internet : DNS, DHCP, HTTP, email, FTP et plus encore. Comprends leur fonctionnement et leurs vulnérabilités.

  • Comprendre la résolution DNS et ses types d'enregistrements
  • Maîtriser le processus DORA du DHCP
  • Connaître les méthodes HTTP et la sécurisation HTTPS
  • Identifier les protocoles email (SMTP, POP3, IMAP)
  • Différencier FTP actif et passif et leurs alternatives sécurisées

🌐 9.1 — DNS (Domain Name System)

Le DNS est le service qui traduit les noms de domaine lisibles par les humains (comme www.google.com) en adresses IP compréhensibles par les machines (comme 142.250.179.68). Sans DNS, tu devrais mémoriser des adresses numériques pour chaque site.

Le DNS, c'est l'annuaire téléphonique d'Internet. Tu cherches le nom d'une personne (nom de domaine) et l'annuaire te donne son numéro (adresse IP). Sans cet annuaire, tu devrais connaître par coeur le numéro de chaque personne que tu veux appeler.

Hierarchie DNS complete

Le DNS est organise en une structure hierarchique arborescente a 4 niveaux. Un nom de domaine complet se lit de droite a gauche (du plus general au plus specifique) :

Hierarchie complete du systeme DNS : Root → TLD → SLD → Subdomain
. (Root DNS Servers) — Le sommet de la hierarchie

13 root servers nommes de A a M, chacun gere par un operateur different :

A — VerisignB — USC-ISIC — CogentD — U Maryland
E — NASAF — ISCG — US DoDH — US Army
I — NetnodJ — VerisignK — RIPE NCCL — ICANN
M — WIDE Project

En realite, ce sont 13 adresses IP (identifiants) derriere lesquelles se cachent des centaines de serveurs physiques repartis dans le monde entier grace a l'anycast. Ils connaissent les adresses de tous les serveurs TLD.

TLD Servers (Top-Level Domain) — Domaines de premier niveau

Gerent les domaines de premier niveau. 3 categories principales :

  • gTLD (generic) : .com, .org, .net, .edu, .gov, .info, etc.
  • ccTLD (country code) : .fr, .uk, .de, .jp, .ca, etc.
  • Infrastructure : .arpa (resolution inverse, ex: in-addr.arpa)

Ils connaissent les serveurs autoritatifs de chaque domaine enregistre dans leur TLD.

SLD (Second-Level Domain) → Authoritative DNS Servers

Le SLD est le nom de domaine enregistre par l'organisation (ex: google dans google.com, cisco dans cisco.com).

Les serveurs autoritatifs contiennent les enregistrements DNS reels (A, AAAA, MX, etc.) d'un domaine specifique. C'est la source de verite.

Subdomains — Sous-domaines

Les sous-domaines sont des divisions supplementaires gerees par le proprietaire du domaine : www, mail, ftp, blog, etc.

Exemple : dans www.cisco.com.www est le subdomain, cisco est le SLD, com est le TLD, . est la racine.

Recursive Resolver (serveur recursif / DNS cache)

Generalement ton FAI ou un service public comme 8.8.8.8 / 8.8.4.4 (Google), 1.1.1.1 (Cloudflare), ou 9.9.9.9 (Quad9). Il fait le travail de recherche a ta place en interrogeant les serveurs de la hierarchie et met en cache les reponses selon le TTL.

FQDN — Fully Qualified Domain Name

Un FQDN est le nom de domaine complet, incluant tous les niveaux jusqu'a la racine, termine par un point :

Structure d'un FQDN
www . cisco . com . --- ----- --- - | | | | | | | └── Root (racine, implicite) | | └── TLD (Top-Level Domain) | └── SLD (Second-Level Domain) └── Subdomain (sous-domaine / host) FQDN complet : www.cisco.com. Longueur max : 253 caracteres Label max : 63 caracteres par label

Format du message DNS

Chaque message DNS (requete et reponse) a le meme format, compose de 5 sections :

SectionDescriptionPresent dans
HeaderID de transaction (16 bits), flags (QR, Opcode, AA, TC, RD, RA, RCODE), compteurs pour chaque sectionRequete + Reponse
QuestionLe nom de domaine recherche (QNAME), le type (QTYPE: A, MX...) et la classe (QCLASS: IN pour Internet)Requete + Reponse
AnswerLes enregistrements de ressource (Resource Records) repondant a la questionReponse
AuthorityLes enregistrements NS pointant vers les serveurs autoritatifs pour le domaineReponse
AdditionalInformations supplementaires (ex: adresses IP des serveurs NS mentionnes dans Authority)Reponse

Types d'enregistrements DNS

TypeNom completRoleFormat / Exemple
AAddressAssocie un nom a une adresse IPv4www.example.com. IN A 93.184.216.34
AAAAIPv6 AddressAssocie un nom a une adresse IPv6www.example.com. IN AAAA 2606:2800:220:1::248
MXMail ExchangeIndique le serveur de messagerie du domaine. Champ priority (plus petit = prioritaire)example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 mail2.example.com.
(10 est plus prioritaire que 20)
CNAMECanonical NameAlias d'un nom vers un autre nom (le nom canonique). Ne peut pas coexister avec d'autres types pour le meme nomblog.example.com. IN CNAME www.example.com.
NSName ServerIndique les serveurs DNS autoritatifs pour une zoneexample.com. IN NS ns1.example.com.
PTRPointerResolution inverse (IP vers nom). Utilise le domaine special in-addr.arpa (IPv4) ou ip6.arpa (IPv6)34.216.184.93.in-addr.arpa. IN PTR www.example.com.
TXTTextTexte libre. Utilise pour SPF, DKIM, DMARC, verification de domaineexample.com. IN TXT "v=spf1 include:_spf.google.com ~all"
SOAStart of AuthorityDefinit les parametres de la zone DNS : serveur primaire, email admin, serial, refresh, retry, expire, minimum TTLexample.com. IN SOA ns1.example.com. admin.example.com. (2024010101 3600 900 604800 86400)
SRVService LocatorLocalise un service specifique. Format : _service._proto.name. TTL IN SRV priority weight port target_sip._tcp.example.com. IN SRV 10 60 5060 sip.example.com.
TTL — Time To Live des enregistrements
Chaque enregistrement DNS possede un TTL (Time To Live) en secondes qui indique combien de temps le resolver peut garder la reponse en cache avant de redemander au serveur autoritatif. Un TTL court (300s = 5 min) permet des changements rapides mais genere plus de trafic DNS. Un TTL long (86400s = 24h) reduit le trafic mais retarde la propagation des modifications.

Resolution recursive vs iterative

Recursive Query

Le client demande au resolver recursif de trouver la reponse complete. Le resolver fait tout le travail :

  1. Le client demande : "Quelle est l'IP de www.cisco.com ?"
  2. Le resolver verifie d'abord son cache local
  3. Si pas en cache, il interroge le root server → obtient l'adresse du serveur TLD .com
  4. Le resolver interroge le serveur TLD .com → obtient l'adresse du serveur autoritatif de cisco.com
  5. Le resolver interroge le serveur autoritatif → obtient l'adresse IP
  6. Le resolver met en cache la reponse (selon le TTL) et la renvoie au client

Avantage : Simple pour le client, tout le travail est delegue. C'est le mode utilise entre le client et son resolver DNS configure (FAI, 8.8.8.8, etc.).

Iterative Query

Le serveur DNS repond avec la meilleure information qu'il possede. S'il ne connait pas la reponse, il renvoie une referral (reference vers un autre serveur) :

  1. Le resolver demande au root server → "Je ne sais pas, mais demande au serveur TLD .com (referral)"
  2. Le resolver demande au serveur TLD .com → "Je ne sais pas, mais demande au serveur autoritatif de cisco.com (referral)"
  3. Le resolver demande au serveur autoritatif → "Voici l'adresse IP ! (authoritative answer)"

Avantage : Reduit la charge sur les serveurs DNS intermediaires. C'est le mode utilise entre le resolver recursif et les serveurs de la hierarchie DNS.

En pratique : le client fait une requete recursive vers le resolver, et le resolver fait des requetes iteratives vers les serveurs de la hierarchie.

DNS Caching (Mise en cache)

Le DNS utilise intensivement le cache a plusieurs niveaux pour reduire le trafic et accelerer les reponses :

  • Cache du navigateur : le navigateur garde en memoire les resolutions recentes (Chrome: chrome://net-internals/#dns)
  • Cache de l'OS : le systeme d'exploitation maintient un cache DNS local. Commandes : ipconfig /displaydns (Windows), systemd-resolve --statistics (Linux)
  • Cache du resolver recursif : le serveur DNS recursif (FAI, Google DNS) cache les reponses selon le TTL de chaque enregistrement
  • Fichier hosts : resolution locale statique (/etc/hosts sur Linux, C:\Windows\System32\drivers\etc\hosts sur Windows) — consulte AVANT le DNS

TTL (Time To Live) : chaque enregistrement DNS a un TTL en secondes. Quand le TTL expire, le cache doit re-interroger le serveur autoritatif. Vidage du cache : ipconfig /flushdns (Windows), systemd-resolve --flush-caches (Linux).

Securite DNS

Le DNS n'a pas ete concu avec la securite en tete. Plusieurs extensions et protocoles ont ete developpes pour combler ces faiblesses :

DNSSEC ajoute des signatures cryptographiques aux reponses DNS pour garantir :

  • Authenticite : la reponse vient bien du serveur autoritatif
  • Integrite : la reponse n'a pas ete modifiee en transit

DNSSEC utilise des enregistrements supplementaires : RRSIG (signature), DNSKEY (cle publique), DS (Delegation Signer), NSEC/NSEC3 (preuve de non-existence).

Limitation : DNSSEC ne chiffre PAS les requetes — il ne fait que signer les reponses. Le contenu reste visible en clair.

DNS over HTTPS encapsule les requetes DNS dans des requetes HTTPS standard (port 443).

  • Avantages : chiffrement complet des requetes DNS, difficile a bloquer (meme port que le web), protege la vie privee contre l'ecoute du FAI
  • Inconvenients : rend la surveillance reseau plus difficile pour les SOC, peut contourner les politiques de filtrage DNS de l'entreprise
  • Providers : Google (https://dns.google/dns-query), Cloudflare (https://cloudflare-dns.com/dns-query)

DNS over TLS encapsule les requetes DNS dans une connexion TLS sur le port dedie 853.

  • Avantages : chiffrement des requetes DNS, port dedie donc plus facile a identifier et gerer pour les administrateurs reseau
  • Inconvenients : facile a bloquer (il suffit de bloquer le port 853), moins repandu que DoH
  • Difference avec DoH : DoT utilise un port dedie (853), DoH se melange au trafic HTTPS (443). DoT est prefere en entreprise (controlable), DoH est prefere pour la vie privee.

Le DNS tunneling est une technique d'exfiltration de donnees et de Command & Control (C2) qui encode des donnees dans les requetes DNS (sous-domaines) et les reponses (enregistrements TXT).

Exemple : encoded-data.malicious-domain.com — les donnees volees sont encodees dans le sous-domaine.

Indicateurs de detection (IOC) :

  • Volume inhabituellement eleve de requetes DNS vers un meme domaine
  • Sous-domaines anormalement longs (ex : > 50 caracteres)
  • Entropie elevee dans les noms de domaine (caracteres aleatoires)
  • Nombreuses requetes TXT (utilisees pour le canal retour)
  • Requetes vers des domaines nouvellement enregistres

Defenses : monitoring DNS, limitation du taux de requetes, blocage des requetes vers des domaines suspects, inspection des reponses TXT.

Attaques DNS courantes
  • DNS Cache Poisoning / Spoofing : injection de fausses reponses dans le cache d'un resolver pour rediriger les utilisateurs
  • DNS Amplification (DDoS) : utilisation de serveurs DNS ouverts pour amplifier le trafic vers une victime (requete petite → reponse volumineuse)
  • DNS Hijacking : modification des enregistrements DNS (compromission du registrar ou du serveur autoritatif)
  • DNS Tunneling : exfiltration de donnees et C2 via les requetes/reponses DNS

📋 9.2 — DHCP (Dynamic Host Configuration Protocol)

Le DHCP attribue automatiquement des adresses IP et d'autres paramètres réseau (masque, passerelle, serveur DNS) aux appareils qui se connectent. Sans DHCP, chaque appareil devrait être configuré manuellement.

Le DHCP, c'est comme la réception d'un hôtel. Quand tu arrives, la réception (serveur DHCP) t'attribue un numéro de chambre (adresse IP), te donne le plan de l'hôtel (masque de sous-réseau), t'indique la sortie (passerelle par défaut) et le numéro du concierge (serveur DNS). Tout est automatique.

Le processus DORA — Detail exact

L'attribution d'une adresse IP par DHCP suit 4 etapes, mnemotechnique DORA. DHCP utilise UDP : port 67 (serveur) et port 68 (client) :

Processus DORA — Attribution DHCP (UDP ports 67/68)
1. Discover (Decouverte) — BROADCAST

Le client envoie un message broadcast sur le reseau : "Y a-t-il un serveur DHCP ici ?"

Source IP : 0.0.0.0 (le client n'a pas encore d'IP)

Dest IP : 255.255.255.255 (broadcast)

Source Port : UDP 68 (client) → Dest Port : UDP 67 (serveur)

Source MAC : adresse MAC du client → Dest MAC : FF:FF:FF:FF:FF:FF

DHCPDISCOVER — Le client inclut son adresse MAC pour s'identifier et peut demander une IP specifique (option 50).

2. Offer (Offre) — UNICAST ou BROADCAST

Le serveur DHCP repond avec une proposition d'adresse IP, accompagnee du masque, de la passerelle, du serveur DNS et de la duree du bail.

Source IP : IP du serveur DHCP (ex: 192.168.1.1)

Dest IP : 255.255.255.255 (broadcast, car le client n'a pas encore d'IP) ou unicast vers la MAC du client

Source Port : UDP 67 → Dest Port : UDP 68

DHCPOFFER (ex: "Je te propose 192.168.1.50, masque 255.255.255.0, GW 192.168.1.1, DNS 8.8.8.8, bail 24h")

Plusieurs serveurs DHCP peuvent repondre avec des offres differentes.

3. Request (Requete) — BROADCAST

Le client accepte une offre en envoyant un broadcast DHCPREQUEST (pour informer TOUS les serveurs DHCP).

Source IP : 0.0.0.0 (toujours pas d'IP confirmee)

Dest IP : 255.255.255.255 (broadcast)

Pourquoi broadcast ? Pour que les autres serveurs DHCP sachent que leur offre a ete refusee et qu'ils peuvent liberer l'IP proposee.

Le message contient l'identifiant du serveur choisi (Server Identifier, option 54).

4. Acknowledge (Accuse de reception) — UNICAST ou BROADCAST

Le serveur confirme l'attribution et envoie tous les parametres reseau definitifs.

Source IP : IP du serveur DHCP

Dest IP : 255.255.255.255 ou unicast vers le client

DHCPACK — Le client peut maintenant utiliser l'adresse IP pendant la duree du bail (lease).

Si le serveur refuse : il envoie un DHCPNAK et le client recommence le processus DORA.

Le bail DHCP (Lease) — Renouvellement

L'adresse IP n'est pas attribuee pour toujours. Elle est pretee pour une duree definie appelee bail (lease). Le client doit renouveler son bail avant expiration :

Moment% du bailActionType
T1 — Renewal 50% Le client envoie un DHCPREQUEST unicast directement au serveur DHCP d'origine pour renouveler son bail. Si le serveur repond avec un DHCPACK, le bail est renouvele. Unicast
T2 — Rebinding 87.5% Si aucune reponse a T1, le client envoie un DHCPREQUEST broadcast pour trouver N'IMPORTE QUEL serveur DHCP qui peut renouveler son bail. Broadcast
Expiration 100% Le bail expire. Le client perd son adresse IP, arrete toute communication reseau et recommence le processus DORA complet. Reset
Exemple concret
Avec un bail de 24 heures : le renouvellement (T1) tente a 12h (50%), le rebinding (T2) a 21h (87.5%), et l'expiration a 24h (100%).

Attaques DHCP et defenses

Un attaquant place un faux serveur DHCP sur le reseau. Ce serveur pirate repond aux requetes DISCOVER avant le serveur legitime et distribue de fausses configurations :

  • Fausse passerelle par defaut → tout le trafic passe par l'attaquant (Man-in-the-Middle)
  • Faux serveur DNS → redirection vers des sites malveillants (DNS poisoning)
  • Faux masque de sous-reseau → isolation du client ou redirection du trafic

L'attaquant envoie des milliers de requetes DHCPDISCOVER avec des adresses MAC usurpees (spoofees) pour epuiser le pool d'adresses IP du serveur DHCP legitime.

  • Resultat : plus aucune adresse disponible pour les clients legitimes (deni de service)
  • Souvent combinee avec un rogue DHCP server : apres l'epuisement, l'attaquant met en place son propre serveur qui repond a toutes les requetes
  • Outil d'attaque courant : Yersinia, Gobbler

Le DHCP Snooping est une fonctionnalite de securite des switches qui protege contre les attaques DHCP :

  • Ports trusted (de confiance) : seuls les ports connectes aux serveurs DHCP legitimes sont marques comme "trusted" et peuvent envoyer des DHCPOFFER et DHCPACK
  • Ports untrusted : tous les autres ports. Les messages DHCP serveur (Offer, ACK) sont bloques sur ces ports
  • DHCP Snooping Binding Table : le switch maintient une table associant les adresses MAC aux adresses IP attribuees. Cette table est utilisee par d'autres mecanismes de securite (Dynamic ARP Inspection, IP Source Guard)
  • Rate limiting : limite le nombre de requetes DHCP par port pour prevenir le starvation

🌍 9.3 — HTTP / HTTPS

HTTP (HyperText Transfer Protocol) est le protocole fondamental du Web. Il définit comment les navigateurs et les serveurs web communiquent. HTTPS en est la version sécurisée, chiffrée via TLS.

HTTP, c'est comme envoyer une carte postale : tout le monde peut lire le contenu en transit. HTTPS, c'est comme envoyer une lettre dans une enveloppe scellée : seul le destinataire peut lire le contenu.

Méthodes HTTP

MéthodeActionDescriptionIdempotent ?
GETLireRécupère une ressource (page, image, API)Oui
POSTCréerEnvoie des données au serveur (formulaire, upload)Non
PUTRemplacerRemplace entièrement une ressource existanteOui
PATCHModifierModifie partiellement une ressourceNon
DELETESupprimerSupprime une ressourceOui
HEADMétadonnéesComme GET mais sans le corps de la réponseOui
OPTIONSCapacitésListe les méthodes supportées par le serveurOui

Codes de réponse HTTP

2xx — Succès

  • 200 OK : requête réussie, réponse renvoyée
  • 201 Created : ressource créée avec succès (après un POST)
  • 204 No Content : succès, mais pas de contenu à renvoyer

3xx — Redirection

  • 301 Moved Permanently : la ressource a été déplacée définitivement
  • 302 Found : redirection temporaire
  • 304 Not Modified : utilise la version en cache

4xx — Erreur client

  • 400 Bad Request : requête mal formée
  • 401 Unauthorized : authentification requise
  • 403 Forbidden : accès interdit (même avec authentification)
  • 404 Not Found : ressource introuvable
  • 405 Method Not Allowed : méthode HTTP non supportée

5xx — Erreur serveur

  • 500 Internal Server Error : erreur générique du serveur
  • 502 Bad Gateway : le serveur intermédiaire a reçu une réponse invalide
  • 503 Service Unavailable : serveur surchargé ou en maintenance
  • 504 Gateway Timeout : le serveur intermédiaire n'a pas reçu de réponse à temps

HTTPS et TLS Handshake

HTTPS = HTTP + TLS (Transport Layer Security, successeur de SSL). Le processus de connexion securisee se fait via le TLS Handshake, qui differe selon la version :

TLS 1.2 Handshake — 2 allers-retours (2-RTT)

  1. ClientHello : le navigateur envoie les versions TLS supportees, la liste des cipher suites (algorithmes de chiffrement), un nombre aleatoire (Client Random) et des extensions
  2. ServerHello : le serveur choisit la version TLS, la cipher suite, et envoie son nombre aleatoire (Server Random)
  3. Certificate : le serveur envoie son certificat numerique (contenant sa cle publique, signe par une CA)
  4. ServerKeyExchange : le serveur envoie les parametres pour l'echange de cles (si Diffie-Hellman). Optionnel avec RSA.
  5. ServerHelloDone : le serveur a fini sa partie
  6. ClientKeyExchange : le client genere le Pre-Master Secret, le chiffre avec la cle publique du serveur et l'envoie
  7. ChangeCipherSpec (client) : "A partir de maintenant, tout sera chiffre"
  8. Finished (client) : premier message chiffre, verifie l'integrite du handshake
  9. ChangeCipherSpec (serveur) + Finished (serveur) : confirmation

Les deux parties derivent la cle de session symetrique (Master Secret) a partir du Pre-Master Secret + Client Random + Server Random.

TLS 1.3 Handshake — 1 aller-retour (1-RTT)

TLS 1.3 (RFC 8446) est plus rapide et plus securise :

  1. ClientHello : le client envoie ses parametres ET ses cles publiques Diffie-Hellman (key shares) directement dans le premier message
  2. ServerHello + Certificate + CertificateVerify + Finished : le serveur repond avec tout en une seule fois. Le handshake est chiffre des ce message.
  3. Finished (client) : confirmation du client. Le transfert de donnees peut commencer.

Ameliorations de TLS 1.3 vs 1.2 :

  • 1 RTT au lieu de 2 (voir 0-RTT pour les reconnexions)
  • Suppression des cipher suites obsoletes (RC4, DES, 3DES, MD5, SHA-1, RSA key exchange)
  • Forward Secrecy obligatoire : uniquement Diffie-Hellman ephemere (DHE/ECDHE), pas de RSA key exchange
  • Handshake chiffre des le ServerHello (seuls ClientHello et ServerHello sont en clair)
  • 0-RTT (Early Data) : permet d'envoyer des donnees des le premier message lors d'une reconnexion (risque de replay attack)

Headers HTTP importants pour la cybersecurite

HeaderDirectionRoleInteret securite
HostRequeteNom de domaine du serveur cible (obligatoire en HTTP/1.1)Virtual hosting — un serveur peut heberger plusieurs sites
User-AgentRequeteIdentifie le navigateur/client (type, version, OS)Detection de bots, fingerprinting, identification de malware C2
Content-TypeLes deuxType MIME des donnees (text/html, application/json, multipart/form-data)Prevention des attaques MIME-type confusion
AuthorizationRequeteIdentifiants d'authentification (Bearer token, Basic base64)Si intercepte en HTTP (port 80), les credentials sont compromis
Set-CookieReponseDefinit un cookie sur le navigateur (session, preferences)Flags importants : Secure, HttpOnly, SameSite
X-Forwarded-ForRequeteIP originale du client (ajoutee par les proxies/load balancers)Peut etre usurpe (spoofed) — ne jamais s'y fier seul pour l'authentification
RefererRequeteURL de la page d'ou vient la requeteFuite d'information, peut reveler des URLs sensibles
ServerReponseIdentifie le logiciel serveur (Apache, Nginx, IIS)Information disclosure — facilite le ciblage d'exploits
Strict-Transport-SecurityReponseForce le navigateur a n'utiliser que HTTPS (HSTS)Protege contre le downgrade HTTP et le SSL stripping
X-Content-Type-OptionsReponseValeur nosniff — empeche le MIME-type sniffingProtege contre l'execution de scripts deguises en images/CSS
Port par defaut
HTTP utilise le port 80, HTTPS utilise le port 443. En cybersecurite, le trafic sur le port 80 est considere comme non securise et peut etre intercepte facilement (sniffing). HSTS (HTTP Strict Transport Security) force les navigateurs a utiliser HTTPS exclusivement.

📧 9.4 — Services Email (SMTP, POP3, IMAP)

L'email repose sur plusieurs protocoles qui travaillent ensemble pour envoyer, transmettre et recevoir des messages.

L'email fonctionne comme le courrier postal : SMTP est le facteur qui collecte et livre le courrier entre les bureaux de poste. POP3 est le fait d'aller chercher ton courrier et de le ramener chez toi (il disparaît de la boîte). IMAP, c'est comme avoir une boîte postale au bureau de poste où tu peux consulter ton courrier sans le prendre.

Les 3 protocoles email

SMTP — Simple Mail Transfer Protocol

Rôle : Envoyer et transmettre les emails entre serveurs.

  • Port 25 : communication entre serveurs de messagerie (relay)
  • Port 587 : soumission d'email depuis un client (avec authentification)
  • Port 465 : SMTPS (SMTP over SSL/TLS, obsolète mais encore utilisé)

SMTP ne gère que l'envoi. Pour recevoir, il faut POP3 ou IMAP.

Vulnérabilité
SMTP n'a pas d'authentification native. C'est pourquoi le spoofing d'email est possible. SPF, DKIM et DMARC sont des mécanismes ajoutés pour lutter contre ce problème.

POP3 — Post Office Protocol v3

Rôle : Télécharger les emails du serveur vers le client.

  • Port 110 : POP3 non chiffré
  • Port 995 : POP3S (POP3 over SSL/TLS)

Par défaut, POP3 télécharge et supprime les emails du serveur. Les messages ne sont accessibles que depuis l'appareil qui les a téléchargés.

Adapté pour : un seul appareil, connexion lente, espace serveur limité.

IMAP — Internet Message Access Protocol

Rôle : Consulter les emails en les laissant sur le serveur.

  • Port 143 : IMAP non chiffré
  • Port 993 : IMAPS (IMAP over SSL/TLS)

IMAP synchronise les emails entre le serveur et le client. Les messages restent sur le serveur et sont accessibles depuis plusieurs appareils.

Adapté pour : accès multi-appareils, gestion de dossiers sur le serveur.

Processus d'envoi et réception d'un email

Parcours d'un email de Alice à Bob
1. Alice compose → son client email envoie via SMTP (port 587) au serveur d'Alice
2. Serveur d'Alice → recherche DNS (enregistrement MX) pour trouver le serveur de Bob
3. Transfert SMTP → le serveur d'Alice envoie l'email au serveur de Bob via SMTP (port 25)
4. Serveur de Bob → stocke l'email dans la boîte de réception de Bob
5. Bob récupère → son client email utilise POP3 (110) ou IMAP (143) pour lire l'email

📂 9.5 — FTP, TFTP et alternatives sécurisées

FTP (File Transfer Protocol) est le protocole classique de transfert de fichiers sur le réseau. Il utilise deux connexions : une de contrôle (port 21) et une de données (port 20 ou dynamique).

Mode actif vs mode passif

FTP Active Mode

  1. Le client se connecte au serveur sur le port 21 (contrôle)
  2. Le client indique au serveur sur quel port il écoute pour les données
  3. Le serveur initie la connexion de données depuis le port 20 vers le port du client

Problème : le serveur initie une connexion entrante vers le client. Les firewalls côté client bloquent souvent cette connexion entrante.

FTP Passive Mode

  1. Le client se connecte au serveur sur le port 21 (contrôle)
  2. Le client envoie la commande PASV
  3. Le serveur ouvre un port aléatoire (>1023) et communique ce port au client
  4. Le client initie la connexion de données vers le port indiqué

Avantage : toutes les connexions sont initiées par le client → compatible avec les firewalls et NAT.

Commandes FTP courantes

CommandeDescription
USER / PASSAuthentification (login/mot de passe)
LISTLister les fichiers du répertoire courant
RETRTélécharger (retrieve) un fichier
STOREnvoyer (store) un fichier sur le serveur
CWDChanger de répertoire (change working directory)
QUITFermer la connexion
PASVActiver le mode passif

TFTP — Trivial File Transfer Protocol

Version simplifiée de FTP : pas d'authentification, pas de listing de répertoires, utilise UDP (port 69). Utilisé principalement pour :

  • Le démarrage réseau (PXE boot)
  • Le transfert de fichiers de configuration sur des équipements réseau (routeurs, switches)
  • La mise à jour de firmware

Alternatives sécurisées

FTP transmet en clair !
FTP transmet les identifiants et les données en texte clair. Ne jamais utiliser FTP sur un réseau non sécurisé. Utilise plutôt :
ProtocolePortSécuritéDescription
SFTP22SSHFTP over SSH — transfert chiffré via un tunnel SSH
SCP22SSHSecure Copy — copie sécurisée de fichiers via SSH
FTPS990TLS/SSLFTP over SSL/TLS — FTP avec chiffrement TLS

🔧 9.6 — Services réseau de support (NTP, Syslog, SNMP)

Ces services ne transportent pas de données utilisateur, mais sont essentiels au bon fonctionnement et à la surveillance du réseau.

Role : Synchroniser les horloges de tous les equipements reseau. Utilise UDP port 123. Precision typique : quelques millisecondes sur un LAN, dizaines de millisecondes sur Internet.

Hierarchie des strates (Stratum Levels) :

StratumDescriptionExemple
0Sources de reference (horloge atomique, GPS, radio). Ce ne sont pas des serveurs NTP mais des horloges de reference connectees directement aux serveurs stratum 1Horloge atomique au cesium, recepteur GPS
1Serveurs connectes directement a une source stratum 0. Ce sont les serveurs de temps primairestime.nist.gov, pool.ntp.org serveurs primaires
2Serveurs synchronises avec des serveurs stratum 1. Servent de reference pour les reseaux d'entrepriseServeurs NTP d'entreprise, FAI
3-15Chaque niveau est synchronise avec le niveau precedent. La precision diminue a chaque sautEquipements reseau (routeurs, switches, PCs)
16Non synchronise — l'horloge est consideree comme invalideEquipement deconnecte du reseau NTP

Pourquoi NTP est critique en cybersecurite :

  • Les logs doivent avoir des horodatages coherents pour la correlation d'evenements dans un SIEM
  • Les certificats TLS ont des dates de validite — une horloge decalee peut invalider des certificats
  • L'authentification Kerberos tolere un decalage de seulement 5 minutes
  • Les investigations forensiques necessitent une chronologie precise entre tous les equipements
  • TOTP (mots de passe a usage unique bases sur le temps) depend d'une horloge precise

Attaque NTP : l'NTP amplification est une attaque DDoS qui exploite la commande monlist pour amplifier le trafic (reponse beaucoup plus grande que la requete). Desactiver monlist et utiliser NTPv4 avec authentification.

Role : Centraliser les logs (journaux) de tous les equipements reseau vers un serveur Syslog unique. Ports : UDP 514 (traditionnel), TCP 514 (fiable), TCP 6514 (Syslog over TLS, securise).

8 niveaux de severite Syslog (0-7) :

NiveauMot-cleDescriptionMnemotechnique
0EmergencySysteme inutilisableEvery
Alley
Cat
Eats
Wild
Nuts
In
December

(0 = le plus critique,
7 = le moins critique)
1AlertAction immediate requise
2CriticalConditions critiques (ex: panne hardware)
3ErrorConditions d'erreur (ex: erreur d'interface)
4WarningAvertissements (ex: seuil de memoire atteint)
5NoticeEvenements normaux mais significatifs (ex: changement d'etat d'interface)
6InformationalMessages informatifs (ex: transaction completee)
7DebugMessages de debogage (tres verbeux, pour le troubleshooting)

Facilities Syslog (source du message) :

Chaque message syslog a une facility qui identifie la source : kern (0 - noyau), user (1), mail (2), daemon (3), auth (4), syslog (5), lpr (6), news (7), local0-local7 (16-23, usage personnalise). La priorite = facility x 8 + severite.

Format d'un message Syslog (RFC 5424) :

<priority>VERSION TIMESTAMP HOSTNAME APP-NAME PROCID MSGID MSG <134>1 2024-01-15T14:30:00Z firewall01 snort 1234 - IDS alert: port scan detected from 10.0.0.50

Dans cet exemple : priorite 134 = facility 16 (local0) x 8 + severite 6 (informational).

En cybersecurite : les logs centralises sont essentiels pour :

  • Detection d'intrusions : le SIEM (Security Information and Event Management) analyse les logs centralises
  • Investigation forensique : reconstitution de la chronologie d'un incident
  • Conformite reglementaire : conservation des logs (PCI-DSS, HIPAA, RGPD)
  • Correlation d'evenements : relier des evenements de sources differentes (firewall, IDS, serveurs, etc.)

Rôle : Surveiller et gérer les équipements réseau à distance. Utilise UDP ports 161 (requêtes) et 162 (traps/notifications).

Composants :

  • SNMP Manager : station de gestion qui interroge les agents
  • SNMP Agent : logiciel sur l'équipement surveillé
  • MIB (Management Information Base) : base de données des variables surveillables (CPU, mémoire, bande passante, etc.)

Versions :

VersionAuthentificationChiffrementRecommandation
SNMPv1Community string (texte clair)NonObsolète, ne pas utiliser
SNMPv2cCommunity string (texte clair)NonEncore courant mais peu sûr
SNMPv3Username + mot de passe hashéOui (DES/AES)Recommandé
Attention
Les community strings par défaut (public pour lecture, private pour écriture) sont un risque de sécurité majeur. Toujours les changer !

🔬 9.7 — Lab : Interroger le DNS

Utilise le terminal simulé ci-dessous pour pratiquer les commandes nslookup et dig. Essaie de retrouver les adresses IP et les enregistrements DNS de différents domaines.

Commandes disponibles
  • nslookup [domaine] — résolution DNS simple
  • nslookup -type=[A|MX|NS|TXT|AAAA] [domaine] — requête par type d'enregistrement
  • dig [domaine] — requête DNS détaillée
  • dig [domaine] [type] — requête DNS par type (A, MX, NS, TXT, AAAA)
  • help — afficher les commandes disponibles
  • clear — effacer le terminal
Terminal — DNS Lab
cyberops@lab:~$ Bienvenue dans le lab DNS. Tape 'help' pour les commandes disponibles.
cyberops@lab:~$

📝 9.8 — Quiz de révision

Points cles du Module 9

  • DNS : hierarchie Root (13 serveurs A-M) → TLD (gTLD, ccTLD) → SLD → Subdomain. FQDN = nom complet termine par un point. Message DNS = Header + Question + Answer + Authority + Additional
  • Enregistrements DNS : A (IPv4), AAAA (IPv6), MX (mail + priority), CNAME (alias), NS (serveur de noms), PTR (reverse), TXT (SPF/DKIM), SOA (autorite de zone), SRV (localisation de service)
  • DNS : resolution recursive (client→resolver) vs iterative (resolver→serveurs). DNS caching avec TTL a chaque niveau. Securite : DNSSEC (signatures), DoH (port 443), DoT (port 853), detection du DNS tunneling
  • DHCP (UDP 67/68) : processus DORA — Discover (broadcast) → Offer (unicast/broadcast) → Request (broadcast) → Acknowledge (unicast/broadcast). Bail : renewal a 50% (T1, unicast), rebinding a 87.5% (T2, broadcast), expiration a 100%
  • Attaques DHCP : Rogue server (MitM), Starvation (epuisement du pool). Defense : DHCP Snooping (ports trusted/untrusted, binding table, rate limiting)
  • HTTP (port 80) : methodes GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Codes : 2xx succes, 3xx redirect, 4xx client error, 5xx server error. Headers critiques : Host, User-Agent, Authorization, Set-Cookie, X-Forwarded-For
  • HTTPS (port 443) = HTTP + TLS. TLS 1.2 = 2-RTT (ClientHello → ServerHello → Certificate → KeyExchange → Finished). TLS 1.3 = 1-RTT, forward secrecy obligatoire, cipher suites obsoletes supprimees
  • Email : SMTP (envoi, ports 25/587/465), POP3 (telecharge + supprime, 110/995), IMAP (synchronise, 143/993). POP3 = 1 appareil, IMAP = multi-appareils
  • NTP (UDP 123) : stratum 0 (horloge atomique) → 1 → 2 → ... → 15 (16 = non synchronise). Critique pour logs, certificats, Kerberos
  • Syslog (UDP 514) : 8 niveaux de severite (0-Emergency a 7-Debug), facilities (kern, auth, local0-7...), format RFC 5424. Priorite = facility x 8 + severite
  • SNMP (UDP 161/162) : toujours utiliser SNMPv3 (chiffre) et changer les community strings par defaut