Catégories
Open-source Reseau

Nagios et les greffons

Nagios est un outil libre de monitoring réseau souvent abordé dans ce blog. A mes yeux, la principale force de ce produit est sa grande modularité qui lui permet de s’adapter aux besoins des utilisateurs. Il est ainsi possible de surveiller un grands nombres de paramètres sur les machines de votre réseau. Nous allons dans ce billet évoquer les différentes méthodes que l’on peut utiliser pour récupérer ces informations.

Le protocole SNMP

C’est LE protocole pour la gestion de réseaux. Basée sur UDP (port 161), ce protocole de communication permet la remontée d’informations stockées dans la table MIB (« Management Information Base ») des machines. SNMP se base sur une architecture client (Nagios) / serveur (la machine à surveiller). Il est donc nécessaire que vos machines soient compatibles SNMP. C’est le cas de la plupart des équipements réseaux de type routeurs, commutateurs Ethernet…

Sur les serveurs de type Linux, il suffit d’installer le daemon snmpd de la suite Open-SNMP. Sur Windows, il est également possible d’installer le daemon Net-SNMP. Enfin, Mac OS X inclue un daemon SNMP (UCD-SNMP), il suffit de suivre cette procédure pour l’activer.

Les plugins locaux

En standard, SNMP ne remonte que des informations systèmes basiques. Pour aller plus loin et surveiller des processus plus complexe, Nagios à mis en place un système de type plugins locaux. Un plugin local est un script localisé sur le serveur Nagios (/usr/lib/nagios/plugins sous Linux, c’est pour cela que l’on dit qu’il est local).

Ce script, lancé à la demande de Nagios, doit retourner un code dont la signification est la suivante:

  • Code 0: OK – Tout va bien
  • Code 1: WARNING – Alerte
  • Code 2: CRITICAL – Alerte critique
  • Code 3: UNKNOWN – Problème lors de l’exécution du plugin

En plus de ces codes, un plugins peut fournir d’autres informations (sous la forme d’une chaine de caractères) qui seront affichées à coté du statut de la machine.

Pour ceux que cela intéresse, j’ai écrit un petit tutoriel sur la création d’un plugin pour Nagios.

Les plugins actifs avec NRPE

A la différence des plugins locaux, le plugin NRPE permet l’exécution de plugins dit actifs directement sur les machines à surveiller.
L’architecture est la suivante (schéma trouvé sur le site officiel de Nagios):

Avec NRPE, la demande d’exécution d’un plugin actif est faite à l’initiative du serveur Nagios. La procédure interne est la suivante:

  • le serveur Nagios demande, via le client NRPE, l’exécution du plugin P sur la machine H
  • le daemon NRPE hébergé sur la machine H, reçoit la requête d’exécution du plugin P
  • le plugin P est exécuté sur la machine H
  • le daemon NRPE de la machine H envoie le résultat du plugin P au serveur Nagios
  • le serveur Nagios interprète les résultats retournés par le pugin P

Les plugins passifs avec NSCA

Comme l’on vient de le voir NRPE est déclenché à l’initiative du serveur Nagios. Ce mode de fonctionnement peut poser problème, par exemple dans le cas ou les machines à surveiller son derrières un réseau sécurisé par un Firewall ou si le processus à surveiller demande une fréquence d’exécution très courte. Le plugin NSCA répond à ce problème en proposant l’exécution de plugins passifs sur les machines à surveiller.

Ici, c’est donc le daemon NSCA qui va envoyer l’information au serveur Nagios. On peut comparer cette fonction à un TRAP SNMP.

et pour Windows ?

Les plugins NRPE et NSCA ne sont disponibles que pour Linux et Mac OS X. Si vous souhaitez surveiller des machines sous Windows (il vaut mieux les surveiller de prêt ces bêtes là…) , il va falloir utiliser le plugin NSClient.

Cliquez ici pour voir tous mes billets sur Nagios.

Catégories
Nagios Open-source Reseau

Installation de Nagios 3 sous Ubuntu

Update: Ce billet n’est plus à jour.

Merci de consulter cet autre tutoriel pour une installation de Nagios 3 sous Ubuntu

ou alors

cet autre billet avec un script automatique d’installation de Nagios sur GNU/Linux

Nagios, l’outil libre de monitoring réseau va bientôt passer en version 3.0. Nous allons donc dans cet article décrire l’installation de cette nouvelle monture sous un OS Linux Ubuntu (la procédure est presque la même pour Fedora).

Pre-requis

Nous avons d’abord besoin d’installer un serveur web (si ce n’est pas déjà fait) et les librairies de bases nécessaires pour la compilation de Nagios. Pour cela, il faut utiliser les commandes suivantes:

# sudo apt-get install apache2
# sudo apt-get install build-essential

Si vous voulez utiliser l’option de visualisation graphique de votre réseau (« status map »), il faut également installer les librairie suivantes.

# sudo apt-get install libgd2-noxpm-dev libpng12-dev libjpeg62 libjpeg62-dev

Il faut également créer un utilisateur et un groupe dédié au processus Nagios (pour d’évidente raison de sécurité).

# sudo -s
# /usr/sbin/useradd nagios
# passwd nagios
# /usr/sbin/groupadd nagios
# /usr/sbin/usermod -G nagios nagios
# /usr/sbin/groupadd nagcmd
# /usr/sbin/usermod -G nagcmd nagios
# /usr/sbin/usermod -G nagcmd www-data

Téléchargement des sources de Nagios

Afin de rendre cette procédure la plus générique possible (et don adaptable sous d’autres distributions Linux), nous allons faire une installation de Nagios à partir des sources. Nous allons donc commencer à les récupérer sur le site Nagios:

# cd /usr/src
# wget  http://surfnet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz
# wget  http://kent.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz

PS: Pensez à changer le nom du fichier quand la version finale de Nagios sera sortie

Compiler les sources de Nagios

Une fois les sources décompressés:

# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

Nous allons lancer la compilation grâce aux commandes suivantes:

# ./configure –with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Il faut ensuite installer l’interface Web:

# make install-webconf
# sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# /etc/init.d/apache2 reload

Puis finir par la compilation des plugins de base.

# cd ..
# tar xzf nagios-plugins-1.4.12.tar.gz
# cd nagios-plugins-1.4.12
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
# make
# make install

Configuration de Nagios

Nagios est maintenant installé sur votre machine. Avant de pouvoir le lancer, il faut éditer les fichiers de configuration qui se trouve dans le répertoire /usr/local/nagios/etc. Pour faire un premier test, le seul fichier à configurer avant d’éxecuter Nagios est le fichier /usr/local/nagios/etc/objects/contacts.cfg et de changer l’adresse email de contact (nagiosadmin) ou seront envoyés les mails en cas d’alerte.

Pour la configuration finale en fonction de vos besoin, vous pouvez consulter cette page qui décrit les fichiers de configurations.

Pour vérifier que la configration de Nagios est bonne (qu’il n’y a pas d’erreur dans les fichiers de configuration), vous pouvez utiliser l’option « -v » de la commande nagios:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Si vous n’avez pas d’erreurs, vous pouvez passer à la dernière étape.

Lancement de Nagios

Pour lancer Nagios, vous pouvez utiliser les commandes:

# /etc/init.d/nagios start
ou bien
# service nagios start

Pour le redémarrage de Nagios (par exemple si vous modifiez les fichiers de configurations):

# /etc/init.d/nagios restart
ou bien
# service nagios restart

Utilisation de Nagios

L’accès à l’interface Web de Nagios se fait par l’URL suivante: http://localhost/nagios/ (ne pas oublier le / final).

Pour aller plus loin…

Si vous avez besoins d’informations et d’aide supplémentaires sur Nagios, vous pouvez consulter:

Traitant régulièrement de sujet autour de Nagios, vous pouvez également vous abonnez au blog pour ne pas louper un article ;).

Catégories
Open-source Reseau

Nmap: le scanneur de réseau

NMAP matrixNmap est un scanneur de port réseau disponible sur Linux, Mac, FreeBSD, Windows… Le but de ce logiciel est de détecter les ports réseau ouvert sur des machines. Il permet donc de détecter si une machine est sur un réseau, d’identifier les services qui tournent dessus et même d’en déduire dans certain cas le type d’operating system. Voici une petit tutoriel avec quelques commandes de bases.

Remarque: Le scanning de port est considéré comme une intrusion. Il est donc interdit de scanner un réseau qui ne nous appartient pas.

Détection des machines sur un réseau

Si vous souhaitez identifier toutes les machines présentes sur votre réseau (cela peut être utile surtout si votre réseau est sans fils – wifi).

# nmap -sP <cible>
ou <cible>peut être:

  • une machine: ex. 192.168.0.1
  • un réseau: ex. 192.168.0.0/24 ( scan de toutes les adresses comprises entre 192.168.0.0 et 192.168.0.255)
  • une plage d’adresse: ex: 192.168.100-200 ( scan de toutes les adresses comprises entre 192.168.0.100 et 192.168.0.200)

Le résultat d’une telle commande sera du type:

# nmap -sP 192.168.0.0/24
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 11:45 CEST
Host routeur (192.168.0.254) appears to be up.
Host pc (192.168.0.1) appears to be up.
Host mac (192.168.0.2) appears to be up.

Détection des ports réseau ouverts sur une machine

Une fois les machines disponibles identifiées, il est possible d’aller plus loin et de scanner tous les ports réseau ouvert. Pour cela il faut utiliser la commande suivante:

# nmap <cible>

Par exemple, le résultat de cette commande sur un serveur web ne devrait faire apparaitre que le port TCP/80 (HTTP).

# nmap www
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:01 CEST
Interesting ports on 192.168.0.1:
Not shown: 1354 closed ports, 340 filtered ports
PORT STATE SERVICE
80/tcp open http
Nmap finished: 1 IP address (1 host up) scanned in 20.677 seconds

Cette commande est un peu longue car elle scanne tous les ports réseau. Si vous souhaitez scanner un port en particulier, vous pouvez utilisez l’option -p

. Par exemple la commande suivante va scanner tous les ports SSH (TCP/22) ouvert sur le réseau 192.168.0.0/24.

# nmap -p 22 192.168.0.0/24
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:06 CEST
Interesting ports on al-ras.alcasat.net (192.168.0.1):
PORT STATE SERVICE
22/tcp open ssh
Interesting ports on al-ns1.alcasat.net (192.168.0.2):
PORT STATE SERVICE
22/tcp open ssh
Nmap finished: 256 IP addresses (3 hosts up) scanned in 5.356 seconds

Autres exemples de scan:

Scan de tous les ports TCP ouverts sur la machine cible:

# nmap -sS <cible>

Scan de tous les ports UDP ouverts sur la machine cible:

# nmap -sU <cible>

Identifier l’OS d’une machine

Nmap permet également d’identifier l’OS d’une machine scannée. Il utilise pour cela des algorithmes qui se basent sur l’identification des caractéristiques des paquets réseau et des ports ouverts. Même si cette méthode n’est pas parfaite elle marche dans environ 90% des cas.

On utilise l’option -O sur la cible à identifier:

# nmap -O –osscan-guess <cible>

Exemple de sortie:

# nmap -O –osscan-guess 127.0.0.1
Starting Nmap 4.20 ( http://insecure.org ) at 2007-08-27 12:15 CEST
Interesting ports on localhost (127.0.0.1):
Not shown: 1692 closed ports
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
9090/tcp open zeus-admin
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.18 – 2.6.19 (x86)
Uptime: 4.025 days (since Thu Aug 23 11:39:26 2007)
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .
Nmap finished: 1 IP address (1 host up) scanned in 1.408 seconds

Cet article n’est qu’un premier tutoriel qui montre comment utiliser les fonctions de bases de Nmap. Si vous avez d’autres exemples d’utilisations, vous pouvez postez un commentaire.

Catégories
Open-source Reseau

Nagios vs Solutions payantes ?

Un lecteur m’a posé, par mail, la question suivante:


je suis à la recherche d’un produit de supervision et je trouve des produits
comme Patrol visualis, Spectrum, HP Open View…. aux prix exorbitants
– j’aurai à superviser: 20 switchs cisco, 10 routeurs cisco, des serveurs windows
2003, ISA, exchange et 60 cisco pix (en VPN ipsec et en extrémité un ISA) soit
environ 100 équipements snmp.
– ma priorité étant les « cisco pix » afin de détecter les ruptures de ligne adsl
et par exemple permettre d’envoyer un mail, sms avec une remontée d’alerte
visuelle sur le produit de supervision…
– obtenir des graphiques sur la bande passante utilisée…
– les équipements non snmp, peut-on les gérer par un ping à intervalle régulier ?
Ce produit est-il difficile à mettre en oeuvre ? (mes connaissances linux dates de 5 ans).


Ce genre de question revient régulièrement quand on doit faire le choix entre une solution open-source et une solution payante. Dans ce cas précis et au vu du nombre relativement faible de machine à « monitorer », je pense qu’une solution à base de Nagios (pour le monitoring) et de Cacti (pour la génération des graphes de bande passante ou autres) est la meilleure.

En effet, une des qualités première de Nagios est son architecture facilement adaptable à l’environnement, notamment grâce à l’utilisation de plugins. Notre lecteur dispose d’un parc composé en majorité de machine compatible SNMP, il sera donc très facile d’adapter Nagios aux besoins des utilisateurs. Il existe même des sites comme Nagios Exchange permettant de trouver facilement des extensions spécifiques pour les équipements Cisco et les serveurs Windows. Pour les équipements non compatibles SNMP, il est bien sur possible de les surveiller grâce à des « ping ». Pour être plus précis, on passe alors par un système de scripts permettant de faire un peu ce que l’on veut (faire une ping, émuler une requête HTTP, tester une connection telnet…). En ce qui concerne la remontée des alarmes, Nagios dispose de tout un panel de possibilité: message dans l’interface Web, message dans fichier syslog, mail, SMS (si vous disposez d’un serveur SMS).

Bien que l’installation de Nagios soit relativement simple, il faut avouer que les taches d’administrations (ajout/modification/suppression de machine) sont un peu lourdes. Elles peuvent cependant être faite par n’importe quel utilisateur maitrisant les bases d’un OS Linux. Si vous souhaitez toutefois avoir un support professionnel, de nombreuses SSII offrent leurs services pour l’installation et la maintenance de telles solutions.

L’archivage des l’utilisation de la bande passante n’est par contre pas une fonction inclue dans Nagios, je conseille pour cela l’utilisation d’un autre logiciel: Cacti. Ce dernier se présente lui aussi comme une interface Web et est bien plus simple à utiliser que des graphes MRTG.

Catégories
Open-source Reseau Web

Regarder la télé même sans dégroupage

Depuis peu, Free propose à ses abonnés non dégroupés de regarder une sélection de chaines de TV publiques à partir de son navigateur internet.

Pour cela il faut installer Firefox et le plugin VLC (comme quoi les gars de chez Free sont des bons…) puis de vous rendre à l’adresse suivante: http://tv.freebox.fr/

On se retrouve alors devant une interface très simple à utiliser:

La qualité de l’image est correcte si l’on reste en mode fenêtre mais devient insuffisante en mode plein écran. Le son est quant à lui impeccable.

Par curiosité, j’ai lancé un petit tcptrack pour voir le débit utilisé. On voit ici que la vidéo doit être compressé en MPEG-4 (contrairement à la TNT publique qui est en MPEG-2), en effet, on arrive à un débit moyen variant entre 40 et 60 Koctets par seconde (soit entre 320 et 480 Kbps). Il est donc possible de continuer à surfer en même temps que l’on regarde la méteo 😉

Catégories
Open-source Reseau

TCPtrack: suivre ses connexions TCP

TCPTrack est un petit utilitaire bien pratique pour suivre les connexions TCP. L’idéal est de l’installer sur sa machine ou sur le routeur d’accès. Disponible sous licence GPL (version 2) il est téléchargeable à l’adresse suivante. Je l’ai compilé sans problème sous Linux, FreeBSD et Mac OS X.

Nous allons voir dans le tutoriel suivant, comment installer et utiliser cet utilitaire…

Catégories
Open-source Reseau

Vyatta, le futur Cisco ?

Vyatta sera t-il à Cisco ce que Google est à Microsoft ? Cette nouvelle société créée par Allan Leinwand, ancien ingénieur Cisco, met à disposition des particuliers et des PMEs des routeurs basées sur un firmware open-source. Ce dernier, basée sur Linux Debian, peut être installé sur n’importe quel PC dont le hardware est compatible avec la célèbre distribution Linux. Le prix d’un tel routeur serait bien entendu beaucoup moins cher qu’une solution Cisco pour des fonctions équivalentes..

La solution Vyatta se base, sur la partie routage IP, sur un autre projet open-source nommée Xorp. Il lui apportant une interface normalisée sous la forme CLI (ligne de commande avec des syntaxes proches de celle que l’on peut trouver sus Cisco IOS) ou bien WEB (ce que les utilisateurs de Cisco attendent depuis de nombreuses années…) ainsi que d’autres fonctions réseaux.

La société base son « business model » sur la vente de services et de hardwares validées.

Les fonctions disponibles en standard sont:

  • interfaces CLI (via réseau ou interface série) / WEB
  • configuration des interfaces Ethernet (IP, masque, nom, DNS…)
  • services réseaux de bases: DHCP, accès via Telnet, SSH ou HTTP
  • gestion des VLANs (compatible 802.1q)
  • routage statique (avec gestion des filtres pour le routage) unicast et multicast (PIM-SM et IGMP)
  • routage dynamique (RIP / OSPF / BGP)
  • redondance entre routeurs (via le protocole VRRP)
  • translation d’adresses (NAT)
  • firewall intégré (filtrage simple de type stateful inspection)
  • authentification (via Radius)
  • Log (syslog)
  • Management (SNMP)
  • Mise à jour automatique

>> Un datasheet plus précis peut être téléchargé ici <<

Actuellement en version 2, le firmware peut être récupéré sous la forme d’un LiveCD. Je reviendrais prochainement au test de ce dernier.

Et vous serez-vous prêt à laisser tomber Cisco pour ce genre de solution ?

Catégories
Reseau Systeme Web

2 Go pour la sauvegarde de vos données

Je viens de découvrir ce service en lisant un blog us. Mozy offre gratuitement (sans limite, sans vous demandez votre numèro de carte bleu, vous savez au cas ou…) un service de stockage de fichiers en ligne optimisé pour Windows et Mac.

Pour profiter de ce service, il faut s’enregistrer sur le site (on vous demande simplement une adresse email valide) et télécharger le logiciel Mozy.

Une fois installé, il faut le configurer pour choisir quels fichiers doivent être archivés sur le disque réseau de 2 Go.

       

La première sauvegarde risque d’être longue, par contre les sauvegardes suivantes se font de manière incrémentale. Vous pouvez modifier vos paramètres à tout moment en accédant au logiciel qui vient se loger dans la barre de menu.

Pour information, les données chiffrés avant d’être envoyées (clés de 128 bits) et chiffrés sur le serveur (clés de 448 bits). En plus c’est gratuit donc pourquoi ne pas en profiter…

Catégories
Open-source Reseau

Tutoriel Wireshark (ex Ethereal)

SharkIl y a quelques mois, le logiciel open-source Ethereal est devenu Wireshark. Derrière ces deux noms se cache un même logiciel graphique de capture et d’analyse réseau qui est la solution idéale si l’interface textuelle de tcpdump vous donnes des boutons. Nous allons, dans ce tutoriel, apprendre à se servir des fonctions de base de ce logiciel.

Installation

Wirshark est disponible sur un nombre très important d’operating system. Rendez-vous sur cette page pour télécharger la dernière version stable. On se retrouve dans quelques minutes…

Description de la fenêtre principale

Première capture

Pour effectuer une capture, il faut aller dans le menu Capture / Interface (ou cliquer sur le bouton correspondant).

Catégories
Open-source Reseau

Du Wifi gratuit à Paris

Si on doit envier les Parisiens sur un point, c’est bien sûr l’avance de la capitale dans le domaine des nouvelles technologies. En effet, après avoir été précurseur pour les accès ADSL et les accès en fibre optique, voilà que Paris se voit doté, par la municipalitée, de hotspots Wifi répartis un peu partout dans la ville.

Ces hotspots sont disponibles gratuitement dans des lieux publics de 7h à 23h sans limitation. C’est donc environ 400 bornes Wifi qui couvrent 260 lieux publics. La liste des bornes évoluera petit à petit.

Au niveau de la sécurité, le réseau met en place:

  • un système de type filtre parental pour éviter les sites violents, pornos…
  • un blocage des communications ‘Ad Hoc’ (c’est-à-dire communication directe entres deux utilisateurs)
  • la compatibilité avec les réseau VPN (type VPN pass-through)

C’est donc un système que l’on souhaite voir étendu dans d’autres villes !