53
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 DELLAOUI Bruno KEROUANTON Alfredo LEIVA Stéphane SCHVARTZ

Surveillance et corrélation de flux réseaux via sondes ... · et agences réparties sur le ... Gestion des priorité par port, VLAN, et champ IP TOS. ... Principe de Netfilter :

Embed Size (px)

Citation preview

Surveillance et corrélationde flux réseaux via

sondes applicatives embarquées

Mini projet – mars 2006Mastère SSI – Supélec / ENST­B

Présenté parAli DELLAOUIBruno KEROUANTONAlfredo LEIVAStéphane  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 leterritoire.

➲ Flux transitant entre le siègeet 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

➲ Switchmanageable

➲ 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 routeurWRT­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

Fonctionnement Côté Client

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 collecteNTOP

➲ 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 collecteNTOP 

➲ 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 collecteRRDtool

➲ 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 collecteRRDtool

➲ 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 collecteMySQL

➲ 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

Apache

Serveur

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