Surveillance et corrélation de flux réseaux via sondes applicatives embarquées Mini projet mars 2006 Mastère SSI Supélec / ENST B Présenté par Ali Bruno Alfredo Stéphane DELLAOUI KEROUANTON LEIVA SCHVARTZ
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Hypothèses Entreprise de taille moyenne, et agences réparties sur le territoire. Flux transitant entre le siège et les agences. Pas de filtrage au sein de l'entreprise Administrateur réseau débordé Budget informatique réduit
Constat pessimiste Aucune visibilité réelle concernant les types de flux d agences Prospective difficile pour la gestion de l infrastructure réseau. Pas de maîtrise de la bande passante Lenteurs aléatoires sur certains applicatifs métier. Pas de filtrage interne des applications interdites Logiciels de peer to peer, messagerie instantanée, etc. DANGER!
Objectifs d'un tel projet Mettre en place des équipements dans chaque agence. Remonter les statistiques de trafic au siège. Transparent pour les utilisateurs. Dépenser le moins possible!
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Architecture générale Serveur central de collecte de flux Collecte des informations d'agence Stockage et affichage des informations Simple d'utilisation (interface web) Sondes réseaux dans chaque agence Ecoute passive du réseau Analyse protocolaire des flux Transparent à l'installation et à l'utilisation Faciles à déployer et à administrer
Architecture générale
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Sondes distantes PARTIE MATERIELLE : Utilisation de routeurs «grand public» Linksys (Cisco). Moins de 100 Euros pièce Suppression des antennes (et désactivation du Wi Fi par logiciel) Avantages : Très bon rapport qualité / prix Facile à se procurer
Sondes distantes MATERIEL : CPU MIPS à 200MHz 16Mo RAM 16Mo Flash Switch manageable Module Wi Fi (désactivé)
Sondes distantes COMMUTATEUR INTEGRE Chipset ADM6996L 6 port 10/100 Mbit/s Single chip Ethernet Switch Controller 802.1p (QoS) : Gestion de la bande passante 802.1q (VLAN) Bloquage des ports par Mac Adresse Gestion avancée des ports Auto MDI x Gestion des priorité par port, VLAN, et champ IP TOS. Assignation jusqu à 16 groupes de VLANs C est un VRAI switch manageable!
Firmware Talisman Microcode personnalisé par SVEASOFT pour le routeur WRT 54G (Talisman) Noyau LINUX 2.4 Fonctions réseaux avancées : + QoS complet, firewall applicatif (niveau 2 à 7) Pilotage complet du chipset ADM9669 Sonde logicielle Rmon / Netflow pour l'analyse des flux Possibilité d'installer des outils Linux après cross compilation Outils classiques Linux (vi, ssh, ps, shell,...) Coût du microcode + support : 20 $ par an!
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Sécurisation Sécurisation du système (Knoppix/Debian): Mise à jour de sécurité système (après l'installation) Apt get update Apt get upgrade Désactivation des services démon Utilitaire aptitude Sécurisation du système de fichiers : en précisant dans le fichier /etc/fstab les partitions à monter au démarrage.
Sécurisation Sécurisation du système: Sécurisation des comptes : en définissant une politique des mots de passe en modifiant le fichier /etc/login.defs. Déconnexion des comptes inactifs (après 6 min d'inactivité). Suppression des utilisateurs et groupes inutiles.
Sécurisation Sécurisation du système: Restriction le démarrage du système depuis la console (/etc/shutdown.allow) Activation du pare feu Netfilter
Sécurisation Sécurisation du système: Principe de Netfilter : le paquet passe par l'une des trois possibilités suivantes: INPUT : le paquet à destination du système entrant sur une interface OUTPUT : le paquet généré par le système sortant sur une interface FORWARD : le paquet traverse le système
Sécurisation Sécurisation du système: Principe de Netfilter : traitement du paquet ACCEPT : le paquet est accepté, DROP : le paquet est ignoré, RETURN : fin du sous programme courant INPUT, OUTPUT et FORWARD, REJECT : le paquet est rejeté avec un message d'erreur, LOG : le paquet est journalisé, QUEUE : le paquet est redirigé vers une application
Sécurisation Sécurisation Apache : Mise en place de la couche ssl : Création de l'autorité de certification Génération d'une demande de certificat (.csr) pour l'autorité de certification Configuration du serveur apache de façon à pouvoir se connecter en https au lieu de http.
Sécurisation Sécurisation du Linksys : Désactivation de WiFi sur les Linksys Désactivation des 'accès anonymes, le filtrage de type IDENT qui permet d obtenir des informations sur le système, le filtrage des aplets Java et ActiveX... Activation du filtrage par des règles iptables Activation de la fonction ssh pour se connecter en mode sécurité (en ssh) au lieu d'utiliser le telnet (où tout passe en clair).
Sécurisation Client serveur SSH pour systèmes embarqués (Dropbear) Dropbear est un client SSH allégé, peut fonctionner dans un environnement possédant peu de mémoire et de capacités CPU.
Sécurisation Collecte des journaux (Configuration de syslog): Mise en œuvre du serveur NTP: Installation du serveur NTP : apt get install ntpdate Configuration des routeurs Linksys pour se synchroniser sur la serveur central de temps en activant le Client NTP de Talisman Mise en œuvre du serveur SYSLOG : Installation : apt get install sysklogd configuration du service syslog (SYSLOG= r)
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Flux Gestion des flux Présentation Sécurité Outils Vtun Rflow Fonctionnement
Flux Architecture de collecte: Consultation à distance des flux Authentification: formulaire base de données MySQL PHP Affichage des flux (graphiques) mod_rewrite et mod_proxy Redirection silencieuse vers NTOP/RRDtool
Flux Architecture de collecte: Routeurs Linksys et un serveur principal de collecte. Routeur Linksys de chaque site: envoie les flux générés (trafic réseau local) vers le serveur central NTOP pour traitement Afin de garantir la sécurité dans la transmission inter site nous utilisons des tunnels virtuels
Présentation Rflow Rflow Ntop Rflow
VTUN VTUN Open Source Permet de créer facilement des tunnels au dessus des réseaux TCP/IP. On peut ainsi relier deux(ou plus) sites distants via Internet de manière sécurisée. Vtun assure les mécanismes suivants : Trafic shaping (limitation de bande passante) Compression Chiffrement
VTUN
RFLOW Rflow Collector: outil de surveillance et de gestion du trafic permet à d'observer un réseau complet.
Fonctionnement Mode de fonctionnement des équipements Routeur Linksys < > Serveur Ntop C'est à l'initiative des routeurs que la communication sera établie.
Fonctionnement Création automatique des tunnels Côté Serveur Ntop Coté Routeur Linksys
Côté Client Fonctionnement
Fonctionnement Côté Client
Fonctionnement Côté Serveur
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Serveur de collecte NTOP Moniteur réseau opensource hybride Traite des paquets réseaux envoyés par des sondes (sflow/netflow) Repose sur la libpcap qui cache le niveau 1 Caractérisation du trafic: Utilisation du réseau par site/global Extrait les informations du niveau 3 à 7
Serveur de collecte NTOP Agrège un réseau en une image pouvant être visualisée sur une longue période de temps Ports 3000 (http) et 3001 (https) Portabilité Unix/Windows Extensible en ajoutant des modules ex.: RRDtool
Serveur de collecte RRDtool RRDtool Module intégrable avec NTOP Unique moyen de stocker de façon persistente des données de NTOP Bases de données circulaires: Paramétrage des données à sauvegarder Paramétrage de la durée de stockage persistent Création de graphes et de statistiques Renvoi des résultats dans une page web
Serveur de collecte RRDtool RRD: stockent des séquences d informations sur des périodes de temps définies par l administrateur BD circulaires => taille maximale prédéfinie de la base de données jamais dépassée Avantage au niveau maintenance (purge) Possibilité d'appel direct aux fonctions RRDtool ou indirectement avec une requête vers NTOP sur le port 3000 ou 3001
Serveur de collecte (RRDtool)
Serveur de collecte MySQL phpmyadmin Suppression de l'usager anonymous Assignation d'un mot de passe root Base de données «flux» Table «dispatch_flux» cle: la clé primaire nom: le nom de l'usager pwd: le mot de passe de l'usager interface: une interface dont l'usager est autorisé à visualiser les flux
Serveur de collecte (Apache) Apache 1.3 Consultation à distance des flux Authentification: formulaire base de données MySQL PHP Affichage des flux (graphiques) mod_rewrite et mod_proxy Redirection silencieuse vers NTOP/RRDtool
Serveur de collecte (Architecture) Serveur central Serveur de collecte NTOP + RRDtool Serveur Serveur Apache MySQL
Serveur de collecte (Exemple)
Serveur de collecte (Exemple)
Serveur de collecte (Exemple)
Serveur de collecte (Exemple)
Serveur de collecte (Exemple)
Plan Introduction Architecture générale Sondes distantes Sécurisation Flux Serveur de collecte Conclusion
Conclusion Projet riche d'enseignements Découverte du monde de l'embarqué Nombreux domaines abordés (réseaux, sécurité, Linux, gestion des flux, Apache/PHP/Mysql, etc.) De nombreuses perspectives d'évolution Ajout d'options de monitoring Interface utilisateur plus riche Etc.
Questions? Merci pour votre attention