CM3 - Filtrage et surveillance réseau
François Lesueur (francois.lesueur@insa-lyon.fr, @FLesueur)
Buts
- Filtrer : Protéger le SI
- Diminuer la surface d’attaque
- Limiter les attaques sur les services ouverts
- Sur les 2 dimensions extérieur->intérieur (intrusion) et intérieur->intérieur (pivot)
- Surveiller : Détecter pour analyse ou réaction
- Découvrir les ressources qui ont été impactées
- Problème de confidentialité ou d’intégrité ?
- Protéger une prochaine fois, analyser le chemin
- Ex Yahoo, 3 milliards de comptes, détecté 3 ans plus tard ; Facebook 2018 ; discours G. Poupard DG ANSSI aux Assises 2019
La terminologie des classes d’outils est floue et les limites entre les cases sont poreuses ! Évidemment, ce flou et la grande variété de mécanisme et d’actions entretiennent un marché des appliances pas toujours sain, régulièrement conçus à base de poudre verte. L’objectif de ce cours est de découvrir les mécanismes fondamentaux pour pouvoir appréhender l’analyse critique des outils disponibles.
Une solution simple malheureusement trop peu appliquée par les attaquants : l’evil Bit.
Axes d’étude
Inspecter des paquets selon les axes d’étude :
- Filtre/Alerte
- Niveau OSI
- Contexte pré/post/pas
- Ingress/Egress
- Politique locale/globale/mixte
- Périmétrique ou “discret”/Diffus
Classe | Niveau | Contexte | Filtrant | In/Out | Local/Global | Discret/Diffus |
---|---|---|---|---|---|---|
Firewall | 4 | Pré | Oui | In+Out | Local | Discret |
IDS | 7 | Oui | Non | In | Global | Diffus |
IPS | 7 | Oui | Réaction | In | Global | Discret |
RProxy | 7 | Oui | Oui | In+Out | Global | Discret |
DPI | 7 | Pré | Oui | In+Out | Local | Discret |
DCI | 7 | Oui | Oui | In+Out | Local+Global | Discret |
Firewall
- Segmentation, délimitation de zones (WAN/LAN/DMZ, WAN/DMZ/LAN1/LAN2/LAN3/ADMIN/…)
- Règles locales
- Ouverture d’une liste de services contrôlés, diminution de la surface d’attaque, matrice de flux
- Layer 4
- 1 service = 1 port
- Ex iptables/nftables
- TP2 !
Modèles :
- Historique : WAN/LAN/DMZ, DMZ tampon, LAN à plat (à proscrire)
- Moderne : Segmentation plus fine du LAN, éviter propagation (vers, pivot, ransomware aujourd’hui)
IDS (Intrusion Detection System)
- Alertes, détecter pour réagir !
- Layer 7, dissecteurs de haut niveau
- Regexps, performances relâchées car offline
- Sondes internes, remontée, corrélation (diminuer le bruit, améliorer la pertinence)
- Apparition du concept de faux positifs et faux négatifs :
- Deux approches :
- Scénario : motifs, modéliser le mal, le plus courant, bien évidemment facile à contourner
- Comportement : modéliser le bien par spécification ou apprentissage (sur quelle base ? puis évolution, risque de déviation)
- Ex snort, suricata, Prelude, Elastic
- TP3 !
Modèle de déploiement :
- Sondes interne réseau/hôte
- Gestionnaire/corrélation
IPS (Intrusion Prevention System)
Un IDS avec la possibilité de bloquer. Un firewall de niveau 7 ? Challenges :
- Éviter les faux-positifs
- Performance “wirespeed”
- Devient une cible ? Single Point of Failure ?
Reverse proxy
Interfaçage de couche 7 dédié à un protocole :
- Proxy côté serveur (load-balancer, filtre sécu)
- Conformance par réécriture
- Contrôle fin car interprète la requête
- Ex en HTTP : les WAF (Web Application Firewall) tels que ModSecurity (détectent les injections SQL/XSS simples, patchent à la volée les vulns connues)
DPI
- Classification de protocoles
- QoS ou blocage
- Questions de neutralité du net, d’observation (par exemple Amesys Eagle en Lybie ou en Égypte, Cocorico la French Tech avant l’heure)
DCI
- Reverse proxy sur tous les protocoles (téléchargement web, pièces jointes SMTP, …)
- En entrée de réseau
- Analyse objets de haut niveau (JS, exe, bytecode java, …)
- Voit tout, critique, rapide. Risque ? cf Fireeye 12/2015, vuln dans la “VM” Java (box d’analyse bytecode, java) ou F5 BIG-IP en 2020.
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 France.