Administration de Systèmes d'information Luiz Angelo Stefenel 1
Cours 3 Linux comme routeur Firewall, NAT Serveur d'annuaire LDAP Surveillance d'un Réseau MRTG RRDTools SMOKEPING CACTI GANGLIA NAGIOS 2
Routeur Linux 3
Pourquoi un routeur Linux? Une machine avec deux interfaces réseau est un routeur en potentiel Ordinateur Portable = Ethernet + WiFi Téléphone = 3G + Bluetooth( + WiFi) Selon la taille du réseau, le routage est sufsamment simple pour en demander un «vrai» routeur Cas typique : le réseau à la maison Internet Connection Sharing (ICS) 4
La méthode la plus simple IP forwarding (+ IP Masquerading) Forwarding = routage entre deux cartes réseaux Masquerading = NAT Procédure : Installer et confgurer les deux interfaces réseau Les confgurer pour que les interfaces appartiennent à des sous-réseaux diférents Activer le forwarding Dé-commenter la ligne 'net.ipv4.ip_forward=1' sur /etc/sysctl.conf Activer le Masquerading sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE 5
Pare-feu Linux 6
Problématique, Enjeux Communications refusées Internet Communications autorisées Réseau local 7
Pourquoi un Firewall Internet Sécuriser le trafic entrant Controler le trafic sortant Vigilance Réseau local 8
Couches de protocoles Telnet FTP HTTP TCP UDP Internet Protocol (IP) / ICMP Couches basses 9
Attaques - Déni de service machine A (client) machine B (serveur) SYN SYN, ACK ACK 10
Attaques - Spoofng IP Machine B Machine d attaque (H) Machine attaquée (A) 11
Les Scanners Fonctionnement des scanners 1. Localiser une machine sur un réseau 2. Détecter les services exécutés sur la machine 3. Détecter d éventuelles failles 12
Autres outils 1. Ping 2. SNMP 3. WhoIs 4. DNS 5. Finger 6. Host 7. TraceRoute 13
Firewall à fltrage de Paquets 14
Fonctionnement du fltrage de paquets Fonctionnement Fait souvent partie d un routeur Chaque paquet est comparé à un certain nombre de règle (filtres), puis est transmis ou rejeté Avantages C est un firewall transparent Apporte un premier degré de protection s il est utilisé avec d autres firewall Inconvénients Définir des filtres de paquets est une tâche complexe Le débit diminue lorsque le nombre de filtres augmente 15
Règles de fltrage Filtrage selon : l'adresse IP de la source et de la destination, le protocole, le port source et destination pour les protocoles TCP et UDP, le type de message pour le protocole ICMP, et l interface physique d entrée du paquet 16
Circuit Level Gateways 17
Fonctionnement du Circuit Level Gateway Fonctionnement Capte et teste la validité des «handshake» TCP pour savoir si une session peut être ouverte Avantages C est un firewall transparent Il cache les machines du réseau privé 18
Proxy 19
Fonctionnement du Proxy Fonctionnement Similaire au «Circuit Level Gateway» Spécifique à une application Avantages Les paquets entrants et sortants ne peuvent accéder aux services pour lesquels il n y a pas de proxy Permet de filtrer des commandes spécifiques (ex: GET ou POST pour HTTP) Le plus haut degré de sécurité Inconvénients Les performances les plus faibles N est pas transparent pour les utilisateurs 20
Firewall Multi-couches 21
Routeur à fltrage de paquets mail, dns, etc. Internet Réseau local avec serveurs 22
Dual Homed Gateway Routeur Internet IP forwarding désactivé Réseau local avec serveurs 23
Screened Host Firewall Internet Bastion host Réseau local avec serveurs 24
Screened Subnet Firewall Internet Bastion host Réseau local avec serveurs Zone démilitarisée 25
Implémentation des Firewall Firewall matériel : Machine dédiée (Cisco PIX/ASA, Netscreen ) Firewall logiciel Firewall fourni par le système d'exploitation (notamment Windows) : le «minimum sindicale» pour un pare-feu De plus en plus, les frewalls incluent des fonctionnalités IDS/IPS (Intrusion Detection System/Intrusion Prevention System). 26
Règles de base pour un Firewall L'adresse IP de la source L'adresse IP de la destination Le numéro de port de l'application La direction du trafc On peu trouver aussi (plus avancé) Ouverture de connexions liée à l'authentifcation Politique variable selon l'horaire 27
Le frewall LINUX Netflter/IPtables Mécanisme orienté par les fux de communication Flux entrant, fux sortant, fux en transit Possibilité de fltrage/action dans diférentes étapes (chaînes) PREROUTING INPUT FORWARDING OUTPUT POSTROUTING 28
Le frewall LINUX Netflter/IPtables Les règles sont défnies comme pour chaque chaîne Les paquets parcourent la chaîne jusqu'à ce que 1. Une règle correspond au paquet et décide sa destination fnale, comme par exemple ACCEPT ou DROP; ou 2. Une règle retourne RETURN, ce qui renvoie le paquet à la chaîne précédente; ou 3. Le paquet arrive à la fn de la chaîne; selon la politique de la chaîne, le paquet est retourné à la chaîne précédente ou refusé (DROP). Ex : iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT 29
Mécanisme des chaînes 30
Alternatives à Netflter/IPtables L'élaboration d'une politique complète peut s'avérer trop complexe avec IPtables Gestion de plages d'adresses, protocoles, ports multiples Des outils graphiques existent pour faire le frontend UFW (Uncomplicated Firewall) Utilise un langage proche des ACL Cisco Ex : ufw allow 25/tcp ufw deny proto tcp to any port 80 ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25 31
Les annuaires LDAP Présentation 32
Présentation LDAP c'est Un nom de protocole Une structure de données Désigne aussi les implémentations des serveurs d'annuaires compatibles avec ce protocole Et signife Lightweight Directory Access Protocol LDAP est maintenant dans la plupart des systèmes d'informations Les 2 implémentations les plus utilisées OpenLDAP Active Directory Mais qu'est-ce qu'un annuaire? quelles informations met-on dans celui-ci? 33
Les annuaires d'entreprises La défnition d'un annuaire peut-être Interface donnant accès à des données de références Une donnée de référence est une donnée plus fréquemment accédée en lecture qu'en écriture 2 types de donnée de référence Données techniques : paramètres d'applications, informations d'authentifcation Données relatives à la structure d'une entreprise, d'une association, d'une administration,... Les informations techniques sont habituellement gérées par le système d'exploitation et par l'intermédiaire de stockage divers et variés (exemple NIS pour Solaris et Linux) Les informations structurales sont liées à des applications spécifques et diverses 34
Les plus de LDAP Une mise à jour dynamique Les données consultées sont régulièrement mis à jour Le contenu est évolutif À tout moment, il est possible d'ajouter des informations complémentaires Une organisation des données plus fexible Possibilité de créer des index et de faire des recherches avancées 35
LDAP vs base de données Plus de lecture que d'écriture Bases plus facilement extensibles Difusion à plus large échelle Répartition des données plus éclatée entre serveurs Duplication de l'information Importance des standards Fortes quantités d'enregistrements mais faibles capacités de stockage 36
Annuaires utilisés aujourd'hui Les DNS Dans un contexte restreint à une machine (sous Linux, /etc/hosts) Dans un contexte global, élargie à un intranet ou à internet DNS est un annuaire global Distribué entre des serveurs coopérants Dispose d'un espace de nommage uniforme 37
Types de données stockées? LDAP permet de stocker des données diverses telles Des mots de passe ou des certifcats d'authentifcation Des adresses emails Des informations de contact: téléphone, adresse, bureau,... Des profls de confguration de logiciels... 38
Historique Bases utilisateurs pour les systèmes multi-utilisateurs Unix avec /etc/passwd, IBM MVS Profs,... Internet Domain Name System (84) et WHOIS Service de nommage et bases de contacts Les annuaires dédiés aux applications Lotus Mail, Microsoft Exchange Unix sendmail avec /etc/aliases Les annuaires Internet Bigfoot, Yahoo,... Les annuaires systèmes Active Directory Sun NIS et NIS+ 39
Pourquoi LDAP L'IEEE avec X500 souhaitait unifer toutes ces données dans un annuaire standardisé Né en 1993, LDAP est un simplifcation pragmatique de X500 Qui peut héberger la base des utilisateurs, la confguration d'un serveur, les paramètres d'une application, représenter la structure hiérarchique d'une entreprise,... Adaptation de X500 DAP au protocole TCP/IP Le standard IETF LDAP LDAPv1 : RFC 1487 LDAPv2: RFC 1777 LDAPv3: RFC 2251 40
Les annuaires LDAP Le modèle de données LDAP 41
Directory Information Tree : le DIT Les données d'un annuaire LDAP sont organisées en arbre ou DIT La racine de l'arbre est appelé Sufx, Root Entry ou BaseDN et les noeuds des DSE (Directory Service Entries) Les annuaires dans le modèle X500 s'inscrivent dans une structure globale et forme un arbre mondial dont la racine est unique Dans LDAP, il n'y a pas d'obligation de ce type mais il est recommandé d'utiliser le nom de domaine Internet de l'entreprise ou équivalent Les sufxes sont notés pour une société installée en France dont le nom de domaine est «societe.com» o=societe.com (o pour organisation) o=societe,c=fr (c pour pays) dc=societe,dc=com (dc pour Domain Component, permet de représenter un nom de domaine de façon modulaire) 42
Directory Service Agent : le DSA Un DSA est le nom donnée au serveur LDAP. Un même serveur LDAP peut héberger plusieurs DIT Chaque sufxe de DIT est qualifé de contexte de nommage (Naming Context) dc=societe,dc=com o=appconfig Un DSA Deux Naming Context 43
Nommer les DSE (Directory Service Entry) Le nommage des objets LDAP se fait par un Distinguished Name : le DN Il est construit par concaténation de son Relative Distinguished Name (RDN) et de celui de ses parents, jusqu'au sufxe de nommage (la racine du DIT) Une DSE est une agrégation d'attributs pouvant avoir plusieurs valeurs o=societe.com RDN: ou=administratif DN: ou=administratif, o=societe.com RDN: uid=florent DN: uid=florent, ou=administratif, o=societe.com RDN: ou=client DN: ou=client, o=societe.com Chaque RDN doit être unique pour les DSE de même niveaux 44
Les annuaires LDAP Le protocole 45
Le protocole (1/2) Comment s'établit la communication client-serveur? Les commandes pour se connecter, se déconnecter, rechercher, comparer, créer, modifer ou efacer des entrées Comment s'établit la communication serveur-serveur? Échanger leur contenu et le synchroniser (replication service) Créer des liens permettant de relier des annuaires les uns aux autres (referral service) Le format de transport de données Les messages LDAP sont codés en utilisant le Basic Encoding Rules (BER) pour ASN.1 (Abstract Syntax Notation 1) 46
Le protocole (2/2) Les mécanismes de sécurité Méthodes de chifrement et d'authentifcation Mécanismes de règles d'accès aux données Les 9 opérations de base: Interrogation: search, compare Mise à jour: add, delete, modify, rename Connexion au service: bind, unbind, abandon 47
Une session LDAP Le port TCP par défaut au protocole LDAP est le port 389 Connexion TCP Authentification (Bind) Opérations Éventuellement nouveau Bind Unbind (déconnexion) Déconnexion TCP Authentifcation éventuellement anonyme Plusieurs sessions LDAP à l'intérieur d'une même connexion TCP 48
LDAP v3 Conçu pour être extensible sans avoir à modifer la norme grâce à 3 concepts LDAP extended operations: ajouter une opération, en plus des 9 opérations de base LDAP controls: paramètres supplémentaires associés à une opération qui en modifent le comportement Simple Authentifcation and Security Layer: couche supplémentaire permettant à LDAP d'utiliser des méthodes d'authentifcation externes 49
Le modèle d'information Défnit le type de données pouvant être stockées dans l'annuaire Une entrée ou DSE contient les informations sur un objet de l'annuaire Une entrée est représentée sous la forme d'un attribut décrivant les caractéristiques de l'objet Des classes d'objets sont défnis et forment une hiérarchie dont le sommet est l'objet top Toutes sortes de classe d'objets (réel ou abstrait) peuvent être représentées Le schéma de l'annuaire défnit la liste des classes d'objets qu'il connaît 50
Exemple de hiérarchie (1/2) Chaque objet hérite des propriétés (attributs) de l'objet dont il est le fls On précise la classe d'objet d'une entrée à l'aide de l'attribut objectclass Il faut obligatoirement indiquer la parenté de la classe d'objet en partant de l'objet top et en passant par chaque ancêtre de l'objet top organizationunit person organizationalperson inetorgperson 51
Exemple de hiérarchie (2/2) Par exemple, l'objet inetorgperson à la fliation suivante : objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson L'objet person a comme attributs : commonname, surname, description,... L'objet organizationalperson ajoute les attributs : organizationunitname, title, postaladdress,...... Les attributs obligatoires sont la réunion des attributs obligatoires de chaque classe 52
Le Schéma Le Schema LDAP regroupe les défnitions relatives aux types d'objets que peut contenir l'annuaire. Chaque DSA doit être en mesure de fournir une représentation standardisée de leur schéma au travers d'une DSE particulière : la subschemasubentry Elle doit nécessairement contenir les attributs suivants: cn: pour former le RDN de l'entrée objectclass: doit au moins avoir les valeurs top et subschema objectclasses: chaque valeur contient la description d'une classe d'objet supportée par le serveur attributetypes: chaque valeur contient la description d'un type d'attribut par le serveur Chaque entrée DSE de l'annuaire fait obligatoirement référence à une classe d'objet du schéma et ne doit contenir que des attributs qui sont rattachés au type d'objet en question 53
Les attributs Les DSE sont des agrégations d'associations clef/valeur: les attributs Un attribut est caractérisé par Un nom qui l'identife. Les DSA ne sont pas sensibles à la casse Un Object Identifer (OID) qui l'identife de manière unique Si l'attribut peut ou pas posséder plusieurs valeurs Par défaut, tous les attributs sont multi-valeurs Une syntaxe et des règles de comparaison La syntaxe correspond à un type de donnée (booléen, entier,...) Pour chaque attribut, il faut défnir les règles de comparaison Un indicateur d'usage qui classe en 2 types User attributes: attributs «normaux» qui peuvent être manipulé par les utilisateurs Operational attributes: attributs «systèmes» utilisé et modifé que par le DSA 54
Exemples d'attributs usuels Attributs les plus communs cn : pour nommer une entité, le nom complet d'une personne uid: pour stocker l'identifant unique d'un utilisateur sn: non de famille d'une personne l: contient généralement la localisation géographique de l'entité associée o: le nom d'une organisation (entreprise, association,...) ou: nom d'une unité d'organisation (département, service, fliale,...) c: identifant de pays à la norme ISO (FR, US, CH, BE,...) description: description relative à la DSE à laquelle il est associé telephonenumber userpassword givenname: prénom d'une personne iphostnumber 55
Exemple de classes d'objets Syntaxe utilisé : Nom de la classe(liste des attributs obligatoires) top: classe abstraite et racine de l'arbre d'héritage des classes LDAP Rend obligatoire l'attribut objectclass person(cn, sn): représente une personne inetorgperson(cn,sn) : représente un utilisateur de système Internet ou Intranet. Apporte généralement l'attribut supplémentaire uid par rapport à la classe person Hérite d'organizationalperson qui hérite de person organization(o): désigne une organisation (entreprise, association,...) organizationunit(ou): désigne une unité d'organisation dcobject(dc): classe auxiliaire destinée à être utilisée en combinaison avec une classe structurelle pour créer des DSE utilisées comme noeuds dans le DIT 56
Héritage des classes d'objets Toutes les classes d'objet s'inscrivent dans une hiérarchie dont la racine est la classe top Chaque classe n'hérite que d'une seule classe mère Chaque classe hérite des contraintes de présence sur les attributs de la classe mère Ainsi si deux attributs sont obligatoires dans une classe A alors ils devront aussi être obligatoires dans une classe B qui hérite de la classe A La liste des attributs supportés par la DSE est donc l'union des attributs de chaque classe parente de la classe courante 57
Les URL LDAP Il est possible d'accéder un un annuaire LDAP via un navigateur Internet de la façon suivante Pour accéder à une DSE dont le DN est uid=forent, ou=administratif, o=societe.com, sur la machine annuaire il faut alors faire ldap://annuaire/uid=forent,ou=administratif,o=societe.com 58
SNMP 59
Introduction Introduction La Management Information Base (MIB) Le Simple Network Management Protocol (SNMP) Les commandes SNMP 60
Introduction (1) SNMP - Protocole applicatif pour gérer les réseaux TCP/IP. - Utilise le protocole UDP pour le transport (2) NMS (Network Management Station) - Dispositif qui envoie des requêtes SNMP aux agents. (3) Agent SNMP - Dispositif (ex: Router) qui exécute un serveur répondant au langage SNMP (4) MIB - Base de données d'informations conformes au SMI. (5) Structure de gestion d'informations SMI - Standard qui défnit le format des MIB. 61
MIB Management Information Base La structure d'un noeud MIB - OBJECT-TYPE - - SYNTAX - - READ-ONLY, READ-WRITE. STATUS - - Defnes what kind of info is stored in the MIB object. ACCESS - - String that describes the MIB object. Object IDentifer (OID). State of object in regards the SNMP community. DESCRIPTION - Reason why the MIB object exists. Standard MIB Object: sysuptime OBJECT-TYPE SYNTAX Time-Ticks ACCESS read-only STATUS mandatory DESCRIPTION Time since the network management portion of the system was last re-initialised. ::= {system 3} 62
MIB Management Information Base iso(1) Object IDentifer (OID) 1 org(3) - Exemple.1.3.6.1.2.1.1 3 dod(6) - iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) 6 internet(1) 1 directory(1) 4 1 2 Note : -.1.3.6.1 ~100% présent. - mgmt et private sont les plus courants. - MIB-2 est le successeur du MIB original. private(4) mgmt(2) experimental(3) 3 mib-2(1) 1 tcp(6) system(1) 6 1 interfaces(2) 2 ip(4) 4 63
MIB Management Information Base system(1) group - mib-2(1) Contient les objects qui décrivent le une entité. Cette entité peut être l'agent luimême ou le dispositif dans laquelle l'agent est présent. 1 system(1) 1 2 interfaces(2) system(1) group objects - sysdescr(1) - sysobjectid(2) - sysuptime(3) - syscontact(4) Description of the entity. Vendor defined OID string. Time since net-mgt was last re-initialised. Name of person responsible for the entity. 64
MIB Management Information Base MIB - tree view MIB - syntax view mib-2(1) 1 system(1) 1 syscontact(3) 4 sysuptime(3) sysdesc(1) hundredths of a second) since the network management portion of the system was last re-initialized. 3 1 sysuptime OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION The time (in sysobjectid(2) 2 ::= {system 3} 65
Simple Network Management Protocol Protocole de requêtes dans une MIB. Peut être activé par Ligne de commande (snmpwalk), Interface graphique (MIB Browser), ou Applications spécifques (Sun Net Manager) aussi appelées Network Management Software (NMS). Un NMS regroupe plusieurs petites applications de gestion du réseau telles que des courbes, alertes, etc. 66
Commandes SNMP Le protocole SNMP est composé de 5 types de fonction : (1) GetRequest, aka Get (2) GetNextRequest, aka GetNext (3) GetResponse, aka Response (4) SetRequest, aka Set (5) Trap 67
MRTG/ RRDTool 68
MRTG Le Multi Router Trafc Grapher (MRTG) est un outil de surveillance du trafc sur les liens d'un réseau. MRTG permet de créer des pages HTML contenant des courbes qui afchent l'évolution de ce trafc, presque en temps réel. MRTG est un outil simple, très utilisé par les FAI MRTG utilise des requêtes SNMP régulières afn de créer les courbes 69
Autres utilisations de MRTG Des applications externes peuvent intérpreter les graphiques MRTG et fournir des services supplémentaires. MRTG peut aussi être utilisé pour construire des courbes à partir d'autres informations disponibles dans les MIB Charge de la CPU Espace en disque Température, etc... Les données peuvent aussi être issus d'autres sources que SNMP, tant qu'on puisse les quantifer (comme un compteur ou une jauge) par exemple, utiliser PING pour estimer le RTT dans le réseau D'ailleurs MRTG est d'habitude étendu avec RRDTool 70
Déploiement de MRTG Installation des paquets Élaboration des fchiers cfg pour les interfaces réseau à l'ide de cfgmaker Création des pages html pages à partir des fchiers cfg en utilisant indexmaker Déclencher MRTG périodiquement avec Cron ou l'exécuter en mode daemon 71
72
RRDtool Round Robin Database outil de stockage de données en série Outil non-graphique (ligne de commande) Du même auteur de MRTG Construit pour être plus rapide et fexible que MRTG seul Contient une API d'intégration ainsi que des outils de génération de pages CGI et des outils de manipulation graphique 73
Défnition des sources de données DS:speed:COUNTER:600:U:U DS:fuel:GAUGE:600:U:U DS = source de données (Data Source) speed, fuel = nom des variables COUNTER, GAUGE = type des variables (compteur, jauge) 600 = intervalle entre les échantillons UNKNOWN est retourné si rien n'est reçu U:U = valeurs limites minimum et maximum pour les variables (U veut dire «unknown» donc toutes les valeurs sont permises) 74
Défnition des Sorties (archivage) RRA:AVERAGE:0.5:1:24 RRA:AVERAGE:0.5:6:10 RRA = fux de sortie (Round Robin Archive) AVERAGE = fonction statistique de consolidation 0.5 = jusqu'à 50% des points consolidés peut être de type UNKNOWN 1:24 = cet archive garde des échantillons (moyenne sur une intervalle «défaut» de 5 minutes), 24 fois (24*5 minutes = 2 heures) 6:10 = l'archive garde la moyenne de six périodes défaut (6*5 = 30 minutes), au plus 10 fois (donc au plus 5 heures) Facile à comprendre, non? ;)! En fait, tout dépend de l'intervalle par défaut de 5 minutes 75
Voilà comme c'est simple! rrdtool create /var/nagios/rrd/host0_load.rrd -s 600 DS:1MIN-Load:GAUGE:1200:0:100 DS:5MINLoad:GAUGE:1200:0:100 DS:15MIN-Load:GAUGE:1200:0:100 RRA:AVERAGE:0.5:1:50400 RRA:AVERAGE:0.5:60:43800 rrdtool create /var/nagios/rrd/host0_disk_usage.rrd -s 600 DS:root:GAUGE:1200:0:U DS:home:GAUGE:1200:0:U DS:usr:GAUGE:1200:0:U DS:var:GAUGE:1200:0:U RRA:AVERAGE:0.5:1:50400 RRA:AVERAGE:0.5:60:43800 rrdtool create /var/nagios/rrd/apricot-intl_ping.rrd -s 300 DS:ping:GAUGE:600:0:U RRA:AVERAGE:0.5:1:50400 RRA:AVERAGE:0.5:60:43800 rrdtool create /var/nagios/rrd/host0_total.rrd -s 300 DS:IN:COUNTER:1200:0:U DS:OUT:COUNTER:600:0:U RRA:AVERAGE:0.5:1:50400 RRA:AVERAGE:0.5:60:43800 76
Courbes de Latence d'un PING 77
Smokeping & Cacti 78
Quelles sont les différences? Smokeping : Un outil de mesure de latence et de perte de paquets (c'est du ping, quoi ;)). Utilise RRDtool pour stocker les données, et n'a besoin d'aucun daemon ou client installé. Cacti : Utilise RRDtool, PHP et des bases MySQL. Il supporte aussi SNMP et des courbes avec MRTG. Cacti est un «frontend» complet pour les RRDTools 79
Smokeping : Installation La confguration de base est très simple (/etc/smokeping/confg, mais des confgurations complexes peuvent être développées rapidement: http://oss.oetiker.ch/smokeping/doc/smokeping_examples.en.html http://oss.oetiker.ch/smokeping/doc/smokeping_confg.en.html 80
Smokeping : Installation un peu plus avancée 1. sudo apt-get install smokeping 2. sudo apt-get install echoping 3. su 4. cd /etc/smokeping 5. mv config config.orig on copie la «nouvelle» version du fichier de config. 6. scp inst@noc:/var/www/share/conf/config 7. /etc/init.d/smokeping restart 81
cacti 82
Cacti : l'installation L'installation de Cacti est un peu moins simple, car cacti dépend d'une base mysql: apt-get install mysql-server-x.x mysqladmin --user=root password=instpass create cacti apt-get install cacti Se connecter sur http://localhost/cacti 83
apt-get install cacti 84
apt-get install cacti 85
cacti: Login Initial 86
cacti: Finalisation Cette interface permet Défnir les dispositifs à surveiller Défnir les types de graphiques pour chaque dispositif Visualiser et organiser les graphiques sur la page 87
88
89
Ganglia 90
Ganglia Monitoring Introduction L'architecture Ganglia Le frontend Apache Gmond & Gmetad Déploiement des agents Ganglia 91
Introduction Système de surveillance orienté clusters et grilles Protocole basé sur le multicast Construit à partir de technologies ouvertes XML XDR (protocole de transport de données compact) RRDTool - Round Robin Database APR Apache Portable Runtime Apache HTTPD Server Interface web PHP http://ganglia.sourceforge.net ou http://www.ganglia.info 92
L'Architecture Ganglia Gmond Agents installés dans les clients Gmetad Serveur d'agrégation Installé en un ou plusieurs serveurs Frontend Apache Présentation et analyse des métriques Attributs Multicast Les noeuds gmond surveillent et rapportent des défaillances sur la totalité du cluster Failover Lors d'une défaillance, Gmetad peut changer automatiquement le noeud utilisé pour les requêtes Outils de mesure peu invasifs et transport léger sur le réseau 93
L'Architecture Ganglia Apache Web Frontend Web Client GMETAD Poll Poll GMETAD Poll Failover Cluster 1 Failover Failover Cluster 2 GMOND Node GMOND Node Poll Cluster 3 GMOND Node GMOND Node GMOND Node GMOND Node GMOND Node GMOND Node GMOND Node 94
Le frontend Ganglia Utilise un serveur Apache et le module mod_php Des templates permettent la customisation du site Adaptation à la charte graphique de l'entreprise Diférents niveaux de visualisation Les clusters dans une grille Les noeuds dans un cluster Mais aussi les noeuds dans toute la grille Les caractéristiques de chaque noeud 95
Ganglia Customized Web Front-end 96
Ganglia Customized Web Front-end 97
Déploiement de Ganglia http://ganglia.sourceforge.net/docs/ganglia.html Installer Gmond dans tous les noeuds à surveiller Editer le fchier de confguration Personnaliser les information des clusters et des noeuds Confgurer network upd_send_channel, udp_recv_channel, tcp_accept_channel Lancer gmond Installer Gmetad dans un noeuds d'agrégation Editer le fchier de confguration Rajouter les sources de données et les remplaçants failover Start gmetad Installer le frontend web Installer les pages PHP dans le répertoire choisi Entrer les informations d'authentifcation nécessaires 98
99
Quel est le plus de Nagios Nagios, d'une certaine manière, associe tous les outils suivants : SNMP MRTG RRDTool Rancid Cacti Smokeping 100
Les raisons pour utiliser Nagios Open source (même si la société fait du «commercial») Bien scalable, facile à gérer, sécurisé Bien documenté Interface jolie, fexible Efectue des alertes automatiques selon des paramètres de surveillance Plusieurs modalités de contact Email, pager, téléphone portable 101
Les raisons pour utiliser Nagios Philosophie eviter trop de voyants rouges uniquement les faits lors d'une alerte, permet d'afcher les événements qui ont donné origine au problème, au lieu d'inonder le serveur avec des alertes des défaillances qui suivent. Gestion intelligente des sondes Ex : si le HTTP répond, faire un ping n'est pas nécessaire Ex : si une panne de courant est détectée, ça ne sert à rien de lancer d'autres sondes En gros, si les services se portent bien, il n'y a pas besoin de vérifer si la machine est active 102
Les possibilités Nagios pemet de répondre à plusieurs questions grâce à l'association de diférents outils de surveillance : L'état individuel des noeuds Sont-ils actifs? Quelle est leur charge? Combien de mémoire et de space en disque sont disponibles? NFS et les interfaces réseau sont actifs? Quelle est la température des machines? Toutes les applications tournent correctement? Quel est le temps d'un ping (latence)? L'état d'un ensemble de noeuds Mêmes informations, mais sur l'ensemble des machines 103
De quels outils Nagios dispose? Plusieurs, dont : Surveillance des applications Alertes à partir de traps SNMP Surveillance Redondante Détection de la défaillance racine d'un problème Notifcations via email, pager, etc. L'historique est stocké dans des bases de données Graphiques avec MRTG Plug-ins, add-ons et scripts locaux. Passage à l'échelle Agrégation de données similaires. Notifcations individuelles ou vers des groupes Log des informations 104
Check memory Check disk Check dns Check load Check ping Check host alive Check bandwidth Web UI Gateway Check ping Web Client At NO NOC 105
Confguration de Nagios 106
107
108
109
Status Map of MC Network From Nagios 110
111
Historique des événements 112
Histogramme d'une machine 113
114
115
Exemple d'un email de notifcation From: nagios@thuldai.mos.com.np To: "ishwars@mos.com.np" <ishwars@mos.com.np> Subject: Host DOWN alert for WORLDBANK-L! Date: 05/02/04 11:09 ***** Nagios ***** Notification Type: PROBLEM Host: WORLDBANK-L State: DOWN Address: 202.52.239.70 Info: PING CRITICAL - Packet loss = 100% Date/Time: Thu Feb 5 11:06:38 NPT 2004 116