🔒 Filtrage et protection des usages
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B3 — Cybersécurité des services informatiques |
| Module | M3.3 — Sécurisation des équipements et des usages |
| Durée | 3h30 (10 min accroche · 75 min théorie · 85 min TP · 10 min synthèse) |
| Prérequis | C3.3.1 — Durcissement des systèmes (hardening Linux et Windows) |
| Contexte | PME InnovatTech SARL — pfSense en périmètre, 35 postes Windows 11 et Debian |
🎯 Objectifs
- Déployer et configurer un proxy HTTP/HTTPS (Squid) en mode explicite et transparent
- Mettre en œuvre un filtrage DNS central avec Pi-hole
- Comprendre la différence entre filtrage DNS et filtrage proxy HTTPS (SSL bump)
- Configurer une règle Suricata pour détecter un scan réseau
- Rédiger une Politique d'Usage Acceptable (PUA)
🔥 Accroche — Ransomware via absence de filtrage
En 2021, un employé d'une PME a cliqué sur un lien de phishing. Son poste, sans proxy ni filtrage DNS centralisé, a résolu un domaine Command & Control. En moins de quatre heures, un ransomware a chiffré 80% des fichiers partagés sur le NAS. Bilan : 3 semaines d'arrêt, 40 000 € de pertes. L'usage d'un Pi-hole ou d'un proxy Squid correctement configuré aurait interrompu la chaîne d'attaque avant la compromission.
📖 Section 1 — Filtrage web et DNS
Proxy HTTP/HTTPS — Squid
Squid agit comme intermédiaire entre le client et les serveurs web. En mode explicite, chaque navigateur pointe vers le proxy. En mode transparent, le proxy est placé sur le chemin réseau (redirection NAT) sans modification côté client.
L'enjeu moderne est l'inspection HTTPS (SSL bump) : Squid déchiffre le flux via une CA interne et réchiffre en aval. Cela permet d'appliquer des règles sur les URLs chiffrées mais requiert :
- Le déploiement du certificat racine interne sur tous les postes
- Une justification légale (RGPD, proportionnalité)
- La documentation de la pratique dans la PUA
sudo apt install squid
# /etc/squid/squid.conf — éléments clés
# ACL réseau interne
# acl localnet src 192.168.1.0/24
# http_access allow localnet
# http_access deny all
# http_port 3128
# access_log /var/log/squid/access.log
Filtrage DNS — Pi-hole
Pi-hole agit comme résolveur DNS local et répond par un sinkhole pour les domaines connus pour être malveillants ou indésirables. Avantage : toute application qui résout un DNS passe par le filtre (navigateur, apps mobiles, services internes).
- Proxy — inspecte les URL complètes et le contenu (ex. example.com/page1 vs page2), mais ne couvre pas les applications qui ignorent les paramètres proxy
- DNS — couvre toutes les applications (y compris non-HTTP), mais filtre uniquement au niveau du domaine (FQDN), pas des URLs détaillées
Stratégie robuste : combiner DNS (blocage massif) + Proxy (classification fine, journalisation des URL)
# Installation Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Ajouter la liste StevenBlack (malwares + publicités)
sudo bash -c 'echo "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts" >> /etc/pihole/adlists.list'
sudo pihole -g
# Bloquer manuellement des domaines (tests)
sudo pihole -b facebook.com instagram.com tiktok.com
# Vérifier le log en temps réel
sudo pihole -t
Contrôle des périphériques USB via GPO
Pour bloquer l'introduction de malwares via clés USB non autorisées :
GPO : Computer Configuration > Administrative Templates
> System > Removable Storage Access
→ "All Removable Storage classes: Deny all access" = Enabled
📖 Section 2 — IDS/IPS et supervision des endpoints
IDS vs IPS
| Critère | IDS (Intrusion Detection) | IPS (Intrusion Prevention) |
|---|---|---|
| Mode | Passif — copie du trafic (SPAN) | Inline — sur le chemin des paquets |
| Action | Génère des alertes uniquement | Peut bloquer le trafic en temps réel |
| Risque | Pas de coupure de service légitime | Risque de faux positifs bloquants |
| Usage PME | Phase initiale — collecte, tuning | Après stabilisation des règles |
Suricata — règle de détection
Exemple de règle Suricata et sa structure :
alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (
msg:"SSH Brute Force Attempt";
flow:to_server;
threshold:type threshold, track by_src, count 10, seconds 60;
classtype:attempted-admin;
sid:1000001; rev:1;
)
# Décomposé :
# alert → action (alert/drop/pass/reject)
# tcp → protocole
# $EXTERNAL_NET any → source (IP:port)
# -> $HOME_NET 22 → destination (IP:port)
# msg: → message dans les logs
# threshold: → déclenchement après N événements en T secondes
OSQuery — supervision des endpoints
OSQuery expose l'état du système via un langage SQL. Utile pour détecter des comportements anormaux :
-- Lister les connexions réseau actives
SELECT pid, remote_address, remote_port, local_port
FROM process_open_sockets
WHERE state = 'ESTABLISHED';
-- Trouver les processus lancés depuis /tmp (suspect)
SELECT name, path, pid FROM processes WHERE path LIKE '/tmp/%';
🛠️ TP — Protection d'InnovatTech (85 min)
Partie 1 — Déployer Pi-hole et tester le blocage (35-40 min)
# Installation Pi-hole sur une machine Debian
curl -sSL https://install.pi-hole.net | bash
# Ajouter la liste StevenBlack
sudo pihole -b facebook.com instagram.com tiktok.com
sudo pihole -g
# Tester depuis un poste client (Windows)
# nslookup facebook.com <IP_PIHOLE>
# Tester depuis Debian
# dig @<IP_PIHOLE> facebook.com
# Consulter les logs de blocage
sudo tail -n 100 /var/log/pihole.log
Partie 2 — Créer une règle Suricata (détection scan Nmap)
sudo nano /etc/suricata/rules/local.rules
# Ajouter :
# alert tcp any any -> $HOME_NET any (msg:"NMAP SYN Scan Detected"; flags:S; threshold:type threshold, track by_src, count 20, seconds 5; sid:1000100; rev:1;)
sudo systemctl restart suricata
# Depuis la machine "attaquante" (test)
# sudo nmap -sS -p- -T4 192.168.1.10
# Vérifier l'alerte
sudo tail -f /var/log/suricata/fast.log
Partie 3 — Rédiger la PUA d'InnovatTech
La Politique d'Usage Acceptable doit couvrir 5 sections :
- Usages professionnels autorisés — tâches liées à l'activité, outils métiers, messagerie client
- Usages personnels tolérés — occasionnels, sans impact sur la bande passante ou la sécurité
- Usages interdits — sites illégaux, logiciels piratés, clés USB non autorisées, scans réseau, VPN non approuvés
- Surveillance et logs — filtrage DNS et proxy en place, logs conservés selon RGPD, accès limité aux personnes habilitées
- Sanctions — avertissement à sanction grave selon gravité, infractions pénales donnent lieu à plainte
💬 Synthèse — Question finale
Un IDS en mode SPAN reçoit une copie du trafic et génère des alertes sans bloquer. Un IPS en mode inline s'insère dans le flux et peut bloquer. Pour une PME qui débute, il est recommandé de commencer en IDS pour collecter des données et affiner les règles ; une fois stabilisées, migrer certaines règles critiques en mode IPS.
📝 QCM — Testez vos connaissances
- Quel mode d'inspection proxy permet de lire le contenu HTTPS en déchiffrant les flux via une CA interne ?
- Quel outil de filtrage DNS bloque les domaines malveillants via un sinkhole local en répondant par une adresse nulle ?
- Quelle est la différence principale entre un IDS et un IPS concernant le trafic réseau ?
- Vrai ou Faux — Pi-hole peut filtrer des URLs précises (example.com/page1 vs example.com/page2).
- Décrivez les 5 sections obligatoires d'une Politique d'Usage Acceptable (PUA) adaptée à une PME.
📝 Afficher les corrections
- SSL bump (HTTPS inspection) — le proxy déchiffre les flux HTTPS via une Autorité de Certification interne et les réchiffre vers le serveur. Cela permet d'appliquer des règles sur les URLs et contenus chiffrés, mais requiert de déployer le certificat racine sur tous les postes clients.
- Pi-hole — résolveur DNS local qui répond par une adresse nulle (sinkhole) pour les domaines listés comme malveillants ou indésirables. Les listes de blocage proviennent de dépôts communautaires mis à jour régulièrement (ex. StevenBlack).
- L'IDS analyse passivement (copie du trafic) et génère des alertes ; l'IPS s'insère inline et peut bloquer activement — l'IDS ne risque jamais d'interrompre un flux légitime, l'IPS apporte une défense active mais requiert un tuning rigoureux pour éviter les faux positifs bloquants.
- Faux — Pi-hole filtre uniquement au niveau du nom de domaine (FQDN). Il ne peut pas distinguer example.com/page1 de example.com/page2 car cette information n'est pas visible dans une requête DNS. Seul un proxy HTTP/HTTPS peut filtrer à ce niveau d'URL.
- Usages autorisés / Usages personnels tolérés / Usages interdits / Surveillance et logs / Sanctions — la PUA formalise les règles d'utilisation des ressources informatiques, doit respecter le RGPD et être portée à la connaissance de chaque collaborateur.
