Ossir Bretagne Oct 2007 Netfilter : Interaction avec l'espace utilisateur Intérêt et applications Éric Leblond, INL Ossir Bretagne Conférence Inaugurale.

Slides:



Advertisements
Présentations similaires
Messagerie collaborative Mobilité et Fonctions avancées du Webmail.
Advertisements

Mise en place d’un système de détection d’intrusion Présenté par:  Elycheikh EL-MAALOUM  Zakaria ZEKHNINI  Mohammed RAZZOK Encadré par: : Mr. SEFRAOUI.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
AbulEdu – Solution libre pour l'école AbulÉdu Solution logicielle sur mesure pour l'Éducation.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
Tutoriel NS3 Eugen Dedu M2 RIM Université de Franche-Comté, Montbéliard, France octobre 2009 (ns 3.6) [Grands remerciements à Wassim Ramadan]
Gérald Masquelier Antoine Mottier Cédric Pronzato Les Firewalls.
PILOTER VOTRE INFRASTRUCTURE VIRTUALISEE AVEC PYTHON ( UN RETOUR D’EXPÉRIENCE EN ENVIRONNEMENT VMWARE ET IRONPYTHON) Jean-marc Pouchoulon PYCON FR 2009.
VHFFS : Enlarge your hosting Sylvain Rochet Samuel Lesueur Cette présentation est sous contrat Paternité-Partage des Conditions Initiales à l'Identique.
Fonctionnement interne d'un routeur (kurose p ) Eugen Dedu IUT Belfort-Montbéliard, R&T1, France avril 2009.
Séminaire EOLE Beaune Septembre 2007 AMON NG.
 L'imprimante Unique Un pas vers les impressions totalement sécurisées Eric WIES – JRES 2011.
Flex Web Roster 1TER 2012 Engilberge, Lludice, M'rah.
- Formation ActiveMQ 1 1.
A9 - Utilisation de composants avec des vulnérabilités connues.
1 DUT Informatique 2010 – 2011 Soutenance de stage Atelier Parisien d'Urbanisme La cartographie à l'heure du web Pierre Dargham Encadrant : Claude Luciani.
Système d’annotation et de détection de modèle de véhicule Université de Sfax *** Institut Supérieur d’Informatique et de Multimédia de Sfax Réalisé par.
Windows NT/2000/XP Enjeux et contraintes techniques
Outils (MailIntegration et autres)
Communication client-serveur
Mise en place d’un système de partage de fichiers
Qu’est-ce un serveur de messagerie?
ANDROID OS.
Je collecte l’information Je mets en place une veille informationnelle
Environnement du développement de BD ORACLE REPORTS 10g
Phishing : Techniques et sensibilisation
de la productivité individuelle au travail collaboratif
Présentation Scribe NG Serveur pédagogique.
Utilisation de PostgreSQL
SOMMAIRE 1: ORALE 2: Les 3 systèmes de gestion de base de donnés 3:ORACLE DATA BASE 4:MY SQL 5:Oppen Office.org Base 6:Concurrence Conclusion.
Projet GCF.
Sécurisation de l’accès Internet
Séminaire EOLE Beaune Septembre 2007
BGP - Configuration iBGP et eBGP avec ou sans adresse de Loopback
NuFW, un parefeu authentifiant
PROJET 4BIS.NET.
Les Tests de performances
MEDIAWIKI Contribuer Partager Diffuser EPFL – 10 octobre 2013
Installation et Configuration Internet Information Server (IIS 5)
Centralisation de logs
DARCY Lionel BTS SIO Option SLAM
évolutions et perspectives
Support de NAT pour IPSec ESP Phase II
Cissé Moussa Diawara Issif Master Informatique 2ième année
fonctionnalités iiS iis
RIP - Configuration des Extensions.
Comment fonctionne RADIUS?
Windows Apache MySQL PHP
Les Pare-Feu.
Système flexible de Workflow pour la plate-forme Motu
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
Configuration Frame Relay "Weighted Fair Queuing"
Les applications de groupware
Mise en œuvre d’une solution de portail
Bureau distant sur Windows Vista /2008 Server
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
Edit the text with your own short phrase. The animation is already done for you; just copy and paste the slide into your existing presentation. REPUBLIQUE.
CONCEPTION D’UNE BASE DE DONNEES INTERACTIVE ENTRE LA DEPP ET LES AGENCES URBAINES Mai 2012 DIRECTION DES ETABLISSEMENTS PUBLICS, DU PARTENARIAT ET DE.
1 IPSec : IP Security Protocole fournissant un mécanisme de sécurisation au niveau IP. RFC 2401 concernant IPSEC RFC 2402 concernant le mode AH (authentification)
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Développement d’une application de gestion de pointage
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Sécurité des réseaux ad hoc
OPPSARCOW 22/06/2015.
Exposé de système / réseaux IR3
Introdution  Le test appartient à l'activité de Vérification et de Validation d'une application, qui consiste à déterminer si cette dernière a été développée.
YII Yes It Is !.
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
TP N°4 Développement d’ une application
Transcription de la présentation:

Ossir Bretagne Oct 2007 Netfilter : Interaction avec l'espace utilisateur Intérêt et applications Éric Leblond, INL Ossir Bretagne Conférence Inaugurale 16 octobre 2007

Ossir Bretagne Oct 2007 Biographie ● Éric Leblond : – Développeur principal de NuFW – Contributeur Netfilter – Co-fondateur d'INL ● INL – Société de service en logiciels libres – Spécialisé sécurité informatique – Éditeur de NuFW/EdenWall

Ossir Bretagne Oct 2007 Sommaire ● Rapide état de l'art ● Limitations inhérentes au Noyau ● Émergence d'une nouvelle infrastructure ● Décider en espace utilisateur ● Manipulation du conntrack ● Perspectives d'utilisation ● Conclusion

Ossir Bretagne Oct 2007 Netfilter, État de l'art ● Suivi de connexions : – ipchains -> Netfilter/Iptables – plus sûr, plus rapide ● Modularité et extensions ● Limitations : – support d'IPV6 – performances (NF Hipac)

Ossir Bretagne Oct 2007 Suivi de connexions (1/2) ● Gèrer la notion de connexion : – Session TCP – Aller Retour UDP ● Conntrack : table de suivi des connexions tcp ESTABLISHED src= dst= sport=22 dport=59480 packets=14 \\ bytes=1576 src= dst= sport=59480 dport=22 packets=25 bytes=1924 \\ [ASSURED] mark=0 use=1... ● Accepter les connexions établies : iptables -I FORWARD -m state –state ESTABLISHED -j ACCEPT

Ossir Bretagne Oct 2007 Suivi de connexions (2/2) ● Intérêts – Sécurisation du filtrage – Utilisation pour le NAT ● Gestion des attentes (expectations) – Connexions relatives (ftp, ftp-data) – Nécessité d'analyse du protocole – Maintien d'une table des attentes – Filtrage par état basé sur cette notion : RELATED

Ossir Bretagne Oct 2007 Interactions nécessaires ● Utilisateur vers Noyau : – Configuration : ● interaction nécessaire ● point crucial (pb iptables) ● Noyau vers Utilisateur : – Journalisation : ● interaction indispensable ● limiter l'impact en terme de performances

Ossir Bretagne Oct 2007 Aborder la complexité ● Suivi de connexions : – Composante indépendante du filtrage : ● abstraction liée à la nature des protocoles ● persistant – Importance au niveau utilisateur ● Limitation du filtrage niveau 3 : – Protocoles non linéaires (FTP, SIP, H323) – Filtrage de contenu

Ossir Bretagne Oct 2007 Au delà du niveau 3 ● “Connection helpers” – Support de nouveaux protocoles par modules noyaux – Protocoles de + en + complexes (H323) ● Inspection du contenu – IDS/IPS ou analyse protocolaire – base de “signatures” volumineuse

Ossir Bretagne Oct 2007 (R)évolution nécessaire ● Traitement en espace utilisateur : – Noyau->Utilisateur – Traitement par programme – Utilisateur->Noyau ● Gestion de : – Décision – Modifications du contenu

Ossir Bretagne Oct 2007 (R)évolution ● Interrogation du conntrack – Lister la table – Chercher dans la table – Récupérer les évenements ● Modification du conntrack – Ajout/Suppression d'entrées – Connexions – Attentes

Ossir Bretagne Oct 2007 Contraintes et solutions ● Multiplications des canaux de communications Noyau Utilisateur. ● Netlink : – socket de communication noyau utilisateur – dédié à ce type de communications – peu de canaux, beaucoup déjà occupés ● NfNetlink : – “Multiplexage” sur un canal netlink dédié – Système de messages génériques

Ossir Bretagne Oct 2007 Avancées récentes ● nfnetlink disponible depuis ● Suivi de connexions : – Conntrack – libnetfilter_conntrack ● Décision en espace utilisateur : – libnetfilter_queue (remplace ip_queue) ● Journalisation : – libnetfilter_log

Ossir Bretagne Oct : Nouvelle architecture

Ossir Bretagne Oct 2007 Principe de NF QUEUE ● Envoi en espace utilisateur : – sélection des paquets à intercepter avec iptables : iptables -A FORWARD -p tcp –dport 21 -j NFQUEUE – espace utilisateur reçoit : ● données : interfaces, hook ● payload : entête IP, payload IP ● Traitement et réponse: – programme traite le message – renvoie : décision, payload, marque

Ossir Bretagne Oct 2007 NF QUEUE et ip_queue ● ip_queue : – apparu avec Netfilter (2.4) – limité ● NF queue : – queues (contre 1 pour ip_queue) – Marquage de connexion natif – Interaction facile avec la qualité de service et routage

Ossir Bretagne Oct 2007 Traitement complexe ● Effectuer des tâches hors de l'espace noyau : – trop coûteuses – trop complexes ● Exemple de snort-inline ( – Patch de snort (IDS) – injecte les paquets dans le moteur de snort – prend la décision de bloquer si c'est une attaque

Ossir Bretagne Oct 2007 Traitement asynchrone ● Temporiser la décision en attendant un traitement ● Exemple de NuFW : – Parefeu authentifiant – Authentification des connexions a posteriori : ● interception du paquet d'initialisation de connexion ● vérification de l'identité ● prise de décision

Ossir Bretagne Oct 2007 NuFW Server nuauth SQLACLs

Ossir Bretagne Oct 2007 Fonctionnalités obtenues ● Enrichissement des critères : – récupération d'information externe – décision prenant en compte les informations systèmes ● Remontée d'informations au noyau : – injection d'une marque – QoS, routage par utilisateur

Ossir Bretagne Oct 2007 Conntrack ● Basé sur libnetfilter_conntrack ● Lister : – conntrack -L tcp ESTABLISHED src= dst= sport=22 dport=59480 packets=14 \\ bytes=1576 src= dst= sport=59480 dport=22 packets=25 bytes=1924 [ASSURED] \\ mark=0 use=1 ● Chercher : conntrack -G -p tcp -s d orig-port-src orig-port-dst 993 tcp ESTABLISHED src= dst= sport=33880 dport=993 packets=94 bytes=9032 src= dst= sport=993 dport=33880 packets=80 bytes=13090 [ASSURED] mark=0 use=2

Ossir Bretagne Oct 2007 Conntrack (évenements) ● Conntrack -E [NEW] tcp SYN_SENT src= dst= sport=59485 dport=22 packets=1 bytes=60 [UNREPLIED] src= dst= sport=22 dport=59485 packets=0 bytes=0 [UPDATE] tcp 6 60 SYN_RECV src= dst= sport=59485 dport=22 packets=1 bytes=60 src= dst= sport=22 dport=59485 packets=1 bytes=60 [UPDATE] tcp ESTABLISHED src= dst= sport=59485 dport=22 packets=2 bytes=112 src= dst= sport=22 dport=59485 packets=1 bytes=60 [ASSURED] [UPDATE] tcp 6 10 CLOSE src= dst= sport=59485 dport=22 packets=14 bytes=2209 src= dst= sport=22 dport=59485 packets=13 bytes=2211 [DESTROY] tcp 6 src= dst= sport=59485 dport=22 packets=14 bytes=2209 src= dst= sport=22 dport=59485 packets=13 bytes=2211

Ossir Bretagne Oct 2007 Modification du conntrack ● Effacer : conntrack -D -p tcp -s d orig-port-src orig-port-dst 993 ● Créer : – Attentes : conntrack -I expect..... – Entrées : conntrack -I....

Ossir Bretagne Oct 2007 Nouvelles possibilités ● Utilisation de libnetfilter_conntrack ● Arrêt de flux en cours : – indésirable – hors délai ● Génération d'attentes : – helper pour protocoles complexes – port knocking ?

Ossir Bretagne Oct 2007 Un manque d'outils ● Problème : – Mise à disposition de bibliothèque en C – D'un outil “primaire” : conntrack ● Solution : – Développement d'une bibliothèque de haut-niveau en python – Développement d'une interface web de gestion

Ossir Bretagne Oct 2007 pynetfilter_conntrack ● Objectif : – fournir une abstraction à la bibliothèque C difficile à prendre en main – Permettre à un administrateur d'écrire des scripts de gestion ● Méthode : – Utilisation de ctypes pour lier C et python – Création d'objets python de haut niveau

Ossir Bretagne Oct 2007 Exemple de code ● from pynetfilter_conntrack import NetfilterConntrack, CONNTRACK ● nf = NetfilterConntrack(CONNTRACK) ● table = nf.create_table() ● filter_table = table.filter(6,orig_dst_port=22) ● filter_table.display() ● for entry in filter_table: ● nf.delete_conntrack(entry)

Ossir Bretagne Oct 2007 conntrack.py ● Une surcouche à pynetfilter_conntrack : – même niveau de fonctionnalités – couche d'abstraction supplémentaire (itération) ● Liste : – conntrack.py list ● Suppression : – conntrack.py delete -p tcp –orig-src-port 22

Ossir Bretagne Oct 2007 pyctd ● Serveur XML-RPC ● Mise à disposition des commandes : – Listing – Modification – Suppression

Ossir Bretagne Oct 2007 frontend PHP

Ossir Bretagne Oct 2007 Réplication du conntrack ● ct-sync : – Réplication au niveau noyau – Développement plus ou moins arrété ● Conntrackd : – En mode utilisateur – Basé sur libnetfilter_conntrack – Actif

Ossir Bretagne Oct 2007 Conclusion ● Nouvelle infrastructure très puissante ● Voie vers des fonctionnalités avancées – Dynamisme – Modifications à la volée ● Formidable boîte à outils

Ossir Bretagne Oct 2007 Questions ? Références : ● Netfilter : ● Conntrack : ● Snort-inline : ● NuFW : ● INL :