CHAPITRE 01 · COURS 1 & 2 · ANNEXE TD2

Introduction &
Pare-feux (Firewalls)

Basé sur les cours de Dr. F. Khalifa · USTOMB · L3 SI & ISIL

1. Introduction à la Sécurité Informatique

🔒
Sécurité Informatique
Ensemble de moyens mis en œuvre pour éviter et/ou minimiser les défaillances naturelles et les attaques malveillantes intentionnelles.
🌐
Sécurité Réseau
Niveau de garantie que les ordinateurs du réseau fonctionnent de façon optimale et que les utilisateurs possèdent uniquement les droits octroyés.
🛡️
Cyber-sécurité
Ensemble d'outils, politiques, concepts et mécanismes de sécurité, méthodes de gestion des risques et technologies pour protéger les SI.

2. Principaux Concepts de la Sécurité

La sécurité est un compromis entre coûts, risques et contraintes. Le poids d'un risque est estimé par la formule :

Risque = (Menace × Vulnérabilité) / Contre-mesure
⚠ Vulnérabilité

Faiblesse inhérente à un système (software ou hardware), appelée parfois faille. Elle laisse à un assaillant l'opportunité de porter atteinte à l'intégrité du système. Exemple : un port ouvert non nécessaire, un logiciel non mis à jour.

⚡ Menace

Action potentielle susceptible de provoquer un dommage sur un système et ayant un impact sur ses fonctionnalités, son intégrité ou sa disponibilité. Peut être intentionnelle (attaque) ou accidentelle (panne).

📊 Risque

Estimé en fonction de la sensibilité et de la vulnérabilité du système. Plus le système est vulnérable face à une menace forte, plus le risque est élevé.

🛡️ Contre-mesure

Moyen permettant de réduire le risque dans une organisation. Peut être technique (pare-feu, chiffrement), organisationnelle (politique de sécurité) ou humaine (sensibilisation).

🎓 Sensibilité

La sensibilisation aux risques au sein de l'entreprise aide les collaborateurs à mieux comprendre les risques existants, leur impact potentiel et la façon dont l'entreprise peut les gérer.

3. Services de Sécurité — Le Modèle CIA+

Tout système de sécurité vise à garantir au minimum trois propriétés fondamentales, souvent représentées par le triptyque CIA. Deux propriétés supplémentaires complètent le modèle :

#ServiceDéfinitionExemple de menace
CIA-C Confidentialité Les données ne sont accessibles qu'aux personnes autorisées. Réalisée par le chiffrement. Interception (sniffing), écoute passive
CIA-I Intégrité Garantit que les données n'ont pas été altérées (modifiées, supprimées, ajoutées) de façon non autorisée. Attaque Man-in-the-Middle, modification de paquets
CIA-A Disponibilité Le système et les données doivent être accessibles aux utilisateurs autorisés quand ils en ont besoin. Attaque DoS/DDoS, ransomware
+ Authentification Processus vérifiant l'identité d'un utilisateur ou d'un système avant d'accorder l'accès. Usurpation d'identité, phishing
+ Non-répudiation Impossibilité pour un émetteur de nier avoir envoyé un message. Réalisée par les signatures numériques. Déni d'envoi / de réception
// Triptyque CIA — Vue d'ensemble
         ┌─────────────────────────────────────────┐
         │           SÉCURITÉ INFORMATIQUE         │
         └──────────────┬──────────────────────────┘
                        │
         ┌──────────────┼──────────────┐
         ▼              ▼              ▼
  ┌─────────────┐ ┌──────────┐ ┌─────────────────┐
  │ CONFIDENTI- │ │INTÉGRITÉ │ │ DISPONIBILITÉ   │
  │   ALITÉ     │ │          │ │                 │
  │ (Chiffre-   │ │(Hash,    │ │ (Redondance,    │
  │  ment)      │ │ MAC)     │ │  Pare-feux)     │
  └─────────────┘ └──────────┘ └─────────────────┘
         +
  ┌──────────────┐   ┌───────────────────┐
  │AUTHENTIFI-   │   │  NON-RÉPUDIATION  │
  │CATION        │   │  (Signature)      │
  └──────────────┘   └───────────────────┘

4. Menaces, Attaques & Vulnérabilités

4.1 Catégories d'attaques
🎯 Attaques Passives

L'attaquant observe sans modifier les données. Difficiles à détecter mais ne perturbent pas le système.

Exemples : Écoute (sniffing), analyse de trafic, interception.

💥 Attaques Actives

L'attaquant modifie les données ou perturbe le système. Détectables mais plus destructrices.

Exemples : DoS/DDoS, Man-in-the-Middle, injection SQL, rejeu.

4.2 Les Malwares (Logiciels Malveillants)
TypeDéfinitionVecteur de propagation
VirusProgramme qui se réplique en s'attachant à d'autres fichiers légitimes.Fichiers exécutables, documents
Ver (Worm)Se propage automatiquement sur le réseau sans intervention humaine.Réseau, emails, vulnérabilités OS
Cheval de TroieSe déguise en logiciel légitime tout en exécutant des actions malveillantes en arrière-plan.Téléchargements, pièces jointes
RansomwareChiffre les données de la victime et exige une rançon pour la clé de déchiffrement.Phishing, drive-by download
SpywareCollecte discrètement des informations sur l'utilisateur (mots de passe, habitudes).Logiciels gratuits, plugins
RootkitMasque la présence d'autres malwares en modifiant le système d'exploitation.Exploits noyau, élévation de privilèges
4.3 Autres types d'attaques
  • Phishing : Usurpation d'identité par email/site web pour voler des identifiants. Variante : spear-phishing (ciblé).
  • DoS / DDoS : Déni de Service (Distributed) — inonder une cible de requêtes pour la rendre indisponible.
  • Injection SQL : Insérer du code SQL malveillant dans un formulaire pour manipuler la base de données.
  • Man-in-the-Middle (MitM) : L'attaquant s'intercale entre deux parties qui croient communiquer directement.
  • Brute Force / Dictionnaire : Tester toutes les combinaisons possibles de mot de passe.
  • Ingénierie sociale : Manipuler psychologiquement des individus pour obtenir des informations confidentielles.
4.4 Failles logicielles exploitées
🐛
Failles Logicielles
Erreurs de programmation (buffer overflow, use-after-free) permettant d'accéder à des données sensibles ou prendre le contrôle.
⚙️
Mauvaises Configs
Ports inutiles ouverts, mots de passe par défaut conservés, permissions trop larges sur les fichiers.
🔄
Mises à jour manquantes
Les patchs de sécurité non appliqués exposent le système à des vulnérabilités connues et publiquement documentées.
// PARTIE 2 — LES PARE-FEUX

5. Qu'est-ce qu'un Pare-feu ?

📖 Définition

Un pare-feu est un programme ou matériel chargé de protéger le réseau local du monde extérieur. C'est un ensemble de composants appliquant une politique de contrôle d'accès entre deux réseaux.

Il filtre les paquets entrant et sortant du réseau surveillé et les bloque le cas échéant. Il peut être incorporé à un routeur, une passerelle ou un serveur.

// Architecture réseau avec pare-feu
 ┌──────────┐      ┌──────────────┐      ┌──────────────┐
 │ INTERNET │ ───► │  PARE-FEU   │ ───► │  RÉSEAU LAN  │
 │(Non sûr) │      │  (Filtre)   │      │  (Protégé)   │
 └──────────┘      └──────────────┘      └──────────────┘
                         │
                   Règles prédéfinies :
                   - IP source/destination
                   - Port source/destination
                   - Protocole (TCP/UDP/ICMP)
                   - Interface entrée/sortie
                   → ACCEPT | DROP | REJECT

Fonctionnement : Le pare-feu compare les informations des paquets à un ensemble de règles prédéfinies pour bloquer ou autoriser le trafic. Les critères de filtrage sont :

  • Adresse IP source et adresse IP destination
  • Port source et port destination (ex: port 80 = HTTP, port 443 = HTTPS)
  • Protocole : TCP, UDP, ICMP...
  • Interface d'entrée et de sortie (eth0, eth1...)

6. Types de Pare-feux

6.1 Pare-feu à Filtrage de Paquets (Réseau)

Fonctionne au niveau des couches Internet et Transport du modèle TCP/IP. Il autorise ou refuse un paquet en fonction de son entête IP (adresses IP, ports, protocole), sans accéder au contenu.

1. Filtrage Sans État (Stateless)

Analyse chaque paquet indépendamment des autres. Simple et rapide, mais ne peut pas traquer l'état d'une connexion.

Limitation : Vulnérable aux attaques qui exploitent le contexte d'une session (ex: forger un paquet TCP ACK).

2. Filtrage Avec État (Stateful) ✓ Recommandé

Maintient une table d'états qui suit chaque connexion établie. Peut prendre des décisions en tenant compte du contexte de la connexion.

Avantage : Peut distinguer un paquet légitime d'une réponse normale d'un paquet intrusif.

6.2 Pare-feu Applicatif (Proxy Firewall)

Fonctionne au niveau applicatif du modèle TCP/IP. Peut filtrer les entêtes IP et les données. Principe : quand un utilisateur veut se connecter à un serveur externe, il se connecte d'abord au programme mandataire (proxy), qui relaie vers le serveur demandé.

// Fonctionnement d'un pare-feu proxy
 CLIENT (LAN)          PROXY FIREWALL          SERVEUR EXTERNE
      │                      │                        │
      │─── Requête HTTP ────►│                        │
      │    (port 8080)       │── Requête HTTP ───────►│
      │                      │   (port 80)            │
      │                      │◄── Réponse ────────────│
      │◄── Réponse filtrée ──│                        │
      │    (inspecté)        │                        │

  Avantage : Inspecte le CONTENU (données applicatives)
  Inconvénient : Plus lent (traitement supplémentaire)
6.3 Comparaison des types de pare-feux
CritèreFiltrage PaquetsStatefulApplicatif (Proxy)
Couche OSI3 (Réseau) / 4 (Transport)3 / 47 (Application)
Vitesse⚡ Très rapide🔄 Rapide🐢 Plus lent
Inspection contenu❌ Non❌ Non✅ Oui
Suivi connexion❌ Non✅ Oui✅ Oui
ComplexitéFaibleMoyenneÉlevée
Sécurité⭐⭐⭐⭐⭐⭐⭐⭐⭐

7. Zone Démilitarisée (DMZ)

📖 Définition DMZ

Une zone démilitarisée (DMZ) est un sous-réseau se trouvant entre le réseau local (LAN) et le réseau externe (Internet). Elle contient les serveurs accessibles publiquement (Web, Mail, DNS).

La DMZ est plus ouverte sur l'extérieur que le réseau interne, mais plus protégée qu'Internet. Si un serveur de la DMZ est compromis, l'attaquant ne peut pas directement accéder au réseau interne.

// Architecture avec DMZ — Topology à 3 interfaces
                        ┌─────────────────┐
                        │    FIREWALL      │
                        │  eth0│eth1│eth2  │
                        └──┬───┴──┬─┴──┬──┘
                           │      │    │
                           ▼      ▼    ▼
                      ┌────────┐  │  ┌───────────┐
                      │Internet│  │  │  LAN      │
                      │(eth1)  │  │  │ (eth2)    │
                      │        │  │  │10.200.12.x│
                      └────────┘  │  └───────────┘
                                  ▼
                            ┌──────────────┐
                            │     DMZ      │
                            │   (eth0)     │
                            │ Web  : .208  │
                            │ Mail : .209  │
                            └──────────────┘
 Interface eth0: 137.204.212.129  (vers DMZ)
 Interface eth1: 193.194.88.1    (vers Internet)
 Interface eth2: 10.200.12.1     (vers LAN)

 Politique DMZ :
 ├── Internet → DMZ  : Autorisé (HTTP port 80/443)
 ├── DMZ → LAN       : INTERDIT (isolation critique !)
 ├── LAN → Internet  : Autorisé (via NAT)
 └── Internet → LAN  : INTERDIT
💡 Pourquoi la DMZ est cruciale ?

Sans DMZ, si un attaquant compromet votre serveur web (accessible depuis Internet), il a un accès direct à votre réseau interne. Avec la DMZ, le serveur web est isolé : même compromis, l'attaquant ne peut pas atteindre le LAN (bloqué par le pare-feu).

8. IPTABLES — Pare-feu Linux

📖 Qu'est-ce qu'IPTABLES ?

iptables est une solution complète de firewall Linux (noyau 2.4), remplaçant ipchains (noyau 2.2). Il permet de faire du firewalling stateful, de la translation de port et d'adresse (NAT), et du filtrage niveau 2.

8.1 Structure : 3 Tables
🔍
Table FILTER
Table par défaut. Contient toutes les règles de filtrage. Chaînes : INPUT, OUTPUT, FORWARD
🔄
Table NAT
Translation d'adresses/ports. Chaînes : PREROUTING, POSTROUTING
✏️
Table MANGLE
Modification des entêtes IP (TTL, TOS, MARK). Peu utilisée en pratique courante.
8.2 Table FILTER — Chaînes et Cibles
ChaîneDescriptionCas d'usage
INPUT Paquet à destination du système, entrant dans une interface (toujours en entrée). Protéger le firewall lui-même (ex: bloquer SSH depuis Internet)
OUTPUT Paquet généré par le système, sortant par une interface (toujours en sortie). Contrôler ce que le firewall envoie
FORWARD Paquet traversant le système (ni source, ni destination finale). Filtrer le trafic entre LAN ↔ Internet ↔ DMZ
Cible (Action)Effet
ACCEPT✅ Accepter le paquet — il passe.
DROP❌ Rejeter silencieusement — aucun message d'erreur envoyé à l'expéditeur. Préféré pour la sécurité.
REJECT⚠️ Rejeter avec retour d'erreur à l'expéditeur. Moins discret que DROP.
8.3 Table NAT — Chaînes et Cibles
ChaîneMoment d'application
PREROUTINGÀ l'arrivée du paquet sur le pare-feu (avant routage). Utilisé pour DNAT.
POSTROUTINGÀ la sortie du pare-feu (après routage). Utilisé pour SNAT/MASQUERADE.
Cible NATEffet
SNATModifie l'adresse IP source du paquet. Utilisé pour partager une connexion Internet (IP fixe).
DNATModifie l'adresse IP destination du paquet. Utilisé pour rediriger des ports (port forwarding).
MASQUERADEComme SNAT mais pour IP dynamique — le pare-feu donne l'illusion que tous les paquets viennent de lui.
8.4 Syntaxe et Commandes IPTABLES
// Syntaxe générale
iptables -t <table> -A <CHAÎNE> [critères] -j <CIBLE>
OptionDescription
-A chainAjoute la règle à la fin de la chaîne spécifiée
-I chain [n]Insère la règle à la position n (début si omis)
-D chainSupprime une règle de la chaîne
-R chain nRemplace la règle n de la chaîne
-LAffiche les règles en vigueur
-FVide (flush) la chaîne complète
-p protocolProtocole : tcp, udp, icmp
-s adresseAdresse IP source (ex: -s 192.168.1.0/24)
-d adresseAdresse IP destination
-i interfaceInterface d'entrée (ex: -i eth0)
-o interfaceInterface de sortie
--dport portPort destination (ex: --dport 80)
--sport portPort source
-j cibleAction : ACCEPT, DROP, REJECT, SNAT, DNAT...
8.5 Exemples pratiques (tirés du cours)

Contexte : Pare-feu à 3 interfaces (eth0 → DMZ, eth1 → Internet, eth2 → LAN)

// Exemple 1 : Autoriser accès au serveur Web depuis Internet (DMZ)
# Autoriser connexions vers le serveur web 137.204.212.208 sur port 80
iptables -t filter -A FORWARD -d 137.204.212.208 --dport 80 -j ACCEPT
// Exemple 2 : Autoriser le trafic sortant de la DMZ vers Internet
# DMZ vers Internet autorisé (interface eth1)
iptables -t filter -A OUTPUT -s 137.204.212.128/25 -o eth1 -j ACCEPT
// Exemple 3 : Partage de connexion Internet (NAT MASQUERADE)
# Partager Internet du LAN1 (10.200.10.0/24) via eth0
iptables -t nat -A POSTROUTING -s 10.200.10.0/24 -o eth0 -j MASQUERADE

# Alternative avec SNAT (IP publique fixe 193.194.88.1)
iptables -t nat -A POSTROUTING -s 10.200.10.0/24 -j SNAT --to 193.194.88.1
// Exemple 4 : Camouflage de port (port forwarding / DNAT)
# Port 80 externe redirigé vers port 8080 interne (camoufler config serveur)
iptables -t nat -A PREROUTING -p TCP --dport 80 -i eth0 -j DNAT --to 193.194.88.10:8080
// CORRECTION TD2
Travaux Dirigés · Dr F. Khalifa · 2025-2026
TD2 — Annexe : Mise en place d'un Firewall Linux avec IPTABLES
🗺️ Architecture de référence pour tous les exercices

eth0 → 137.204.212.129 (interface vers la DMZ - réseau 137.204.212.128/25)
eth1 → 193.194.88.1 (interface vers Internet)
eth2 → 10.200.12.1 (interface vers le LAN - réseau 10.200.12.0/24)
Web Server DMZ → 137.204.212.208 · Mail Server DMZ → 137.204.212.209
Host A LAN → 10.200.12.8 · Host B LAN → 10.200.12.5

Exercice 1
Autoriser chaque connexion initiée de l'extérieur (Internet) et dirigée vers la DMZ, si l'adresse IP de destination et le numéro de port correspondent à un serveur web accessible publiquement (port 80).
✅ Correction & Explication

Analyse : Le trafic vient d'Internet et va vers la DMZ. Le paquet traverse le pare-feu → chaîne FORWARD. Destination = serveur web (IP .208), port 80.

iptables -t filter -A FORWARD -d 137.204.212.208 --dport 80 -j ACCEPT

Pourquoi FORWARD ? Le paquet entre par eth1 (Internet) et ressort par eth0 (DMZ). Il traverse le firewall sans être pour lui. Les chaînes INPUT/OUTPUT ne concernent que les paquets dont le firewall est la source/destination finale.

Exercice 2
Chaque connexion initiée depuis la DMZ et dirigée vers Internet doit être autorisée.
✅ Correction & Explication

Analyse : Source = DMZ (137.204.212.128/25), destination = Internet, interface de sortie = eth1. Le paquet traverse → chaîne FORWARD ou OUTPUT selon la perspective. Dans le cours, c'est traité comme OUTPUT (sortie du firewall vers Internet).

iptables -t filter -A OUTPUT -s 137.204.212.128/25 -o eth1 -j ACCEPT

Le masque /25 : 137.204.212.128/25 couvre les adresses .128 à .255, ce qui inclut le web server (.208) et mail server (.209) de la DMZ. C'est un seul sous-réseau décrit efficacement avec la notation CIDR.

Exercice 3
Partager la connexion Internet à partir de l'interface eth0 du firewall avec le réseau interne LAN1 (utiliser la table NAT).
✅ Correction & Explication — 2 solutions

Solution 1 — MASQUERADE (recommandée si IP publique dynamique) :

iptables -t nat -A POSTROUTING -s 10.200.10.0/24 -o eth0 -j MASQUERADE

Solution 2 — SNAT (recommandée si IP publique fixe = 193.194.88.1) :

iptables -t nat -A POSTROUTING -s 10.200.10.0/24 -j SNAT --to 193.194.88.1

Pourquoi POSTROUTING ? La translation d'adresse source s'applique après que le noyau a décidé du routage du paquet. Le paquet sort du LAN avec IP privée (10.x.x.x) et doit apparaître avec l'IP publique du pare-feu sur Internet.

Exercice 4
L'administrateur veut camoufler le port de configuration du serveur web : le port par défaut est 80, le port camoufle est 8080. Écrire la règle IPTABLES (table NAT) qui permet de faire cette opération.
✅ Correction & Explication

Analyse : On veut que les requêtes arrivant sur le port 80 de l'IP publique soient redirigées vers le port 8080 du serveur interne. C'est du DNAT (Destination NAT) + port forwarding. Applicable à l'arrivée → chaîne PREROUTING.

iptables -t nat -A PREROUTING -p TCP --dport 80 -i eth0 -j DNAT --to 193.194.88.10:8080

Mécanisme : ① Un visiteur Internet envoie une requête vers IP_publique:80
② Le pare-feu intercepte en PREROUTING et modifie la destination : 193.194.88.10:8080
③ Le serveur reçoit la requête sur le port 8080 (son vrai port de config)
④ Le visiteur ne sait jamais que le vrai port est 8080 — sécurité par obscurité.

// ÉVALUATION — 15 QCM

QCM — Chapitre 1 : Introduction & Pare-feux

Testez vos connaissances. Correction immédiate avec explication.

Score : 0 / 15