Catégories
Open-source Reseau Systeme

Exemples de check de services Nagios

Quelques exemples de services pour Nagios. N’hésitez pas à donner d’autres exemples via les commentaires ou ma fiche de contact.

J’intégrerai les exemples les plus pertinents au billet.

On menu du jour:

  • superviser un serveur Web (HTTP)
  • superviser un serveur Web sécurisé (HTTP over SSL)
  • superviser un serveur de messagerie (mail)
  • superviser un serveur VoIP (sip)
  • superviser un serveur de fichiers (samba)
  • superviser un serveur annuaire (LDAP)
  • superviser un serveur de base de données (mySQL ou pgSQL)
  • superviser un serveur réseau (DHCP et DNS)
  • supervision de disques RAID (carte hardware HP Proliant)
  • supervision de disques RAID 1 logiciel sous FreeBSD
  • supervision d’un serveur Asterisk (suivre ce lien)
  • supervision d’un trunk IAX sur un serveur Asterisk

< tous les plats sont accompagnés de frites et de salade >

Catégories
Open-source Reseau

Tester la faille DNS CP en ligne de commande

Pour vérifier que vos serveurs DNS ne sont pas touchés par la faille DNS Caching Poisoning (DNS CP), un simple test via la ligne de commande de votre système est possible. Nous allons dans ce billet voir comment réaliser et interpréter ce test puis détailler les actions à prendre au cas ou ce test serait positif.

Faire le test

On va utiliser l’utilitaire dig, fourni en standard dans tout OS qui se respecte.On lance la commande suivante (remplacer dns par l’adresse IP de votre serveur DNS):

dig +short @dns porttest.dns-oarc.net TXT

Si le résultat est:

z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
« dns is GOOD: 26 queries in 4.4 seconds from 26 ports with std dev 20195.32″

Alors vous pouvez pavoiser, pas la peine d’aller plus loin, votre DNS est protégé contre ce type d’attaque.

Par contre si le résultat est le suivant:

porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
« dns is POOR: 26 queries in 4.3 seconds from 1 ports with std dev 0″

Il faut vite penser à mettre à jour votre DNS en suivant les conseils du paragraphe suivant.

Mettre à jour son serveur DNS

Sous FreeBSD

On commence par mettre à jour les ports en suivant cette procédure. Puis on tape les commandes:

cd /usr/ports/dns/bind9
make deinstall
make reinstall

Sous Linux Ubuntu

On passe par le gestionnaire de package apt-get:

sudo apt-get update
sudo apt-get upgrade

Sous Linux Fedora

On passe par le gestionnaire de package yum:

su – root
yum update

Configurer son serveur DNS

Si vous avez une architecture DNS avec un primaire et un secondaire (par exemple si vous avez suivi ce tutorial). Il peut être bon d’avoir une configuration différente entre le primaire (celui qui est le plus exposé aux attaques venant d’Internet et le secondaire qui sera uniquement utilisé par les clients de votre réseau local).

Source: SecureWorks

Sur le serveur primaire (« Authoritative nameserver ») il est conseillé de désactivé la résolution des requêtes par récursion (option allow-recursion) et d’activer le changement dynamique du port réseau de réponse du serveur DNS (option dnssec-enable).

Sur ce premier serveur, la section options di fichier named.conf ressemblera donc à:

options {

allow-recursion { none; };
dnssec-enable yes;
}

Selon la criticité de votre réseau vous pouvez également appliquer cette configuration sur le serveur secondaire (« caching nameserver »).

Il ne reste plus qu’a relancer le serveur DNS et à recommencer le test du premier chapitre.

Catégories
Open-source Reseau

Surveiller vos espaces disques SMB avec Nagios

Une petite astuce pour surveiller facilement avec Nagios, l’espace disque disponible sous ses serveurs Windows ou Samba (protocole SMB).

La première chose à faire est de tester le plugin en ligne de commande. Par exemple pour surveiller l’espace disque monpartage du serveur monserveur (\\monserveur\monpartage) en utilisant le couple login/password monuser/monpassword:

/usr/local/nagios/libexec/check_disk_smb -H monserveur -s monpartage -u monlogin -p monpassword

Il est possible que vous rencontriez l’erreur suivante sous Ubuntu 8.10:

Can't exec "//monserveur/monpartage": No such file or directory at /usr/local/nagios/libexec/check_disk_smb line 166.
Use of uninitialized value $res in split at /usr/local/nagios/libexec/check_disk_smb line 172.
Use of uninitialized value $_ in pattern match (m//) at /usr/local/nagios/libexec/check_disk_smb line 180.
Result from smbclient not suitable

Dans ce cas, je vous conseille la lecture de cette discussion dans le forum pour corriger le problème.

On commence par éditer le fichier commands.cfg pour ajouter le plugin:

define command{

command_name    check_disk_smb

command_line    $USER1$/check_disk_smb -H $HOSTADDRESS$ -s $ARG1$ -u $ARG2$ -p $ARG3$

}

Puis on utilisera la définition de service suivante (à mettre par exemple dans le fichier objects/servers.cfg):

define service{

use                     generic-service

host_name               monserveur

service_description     Disk space

check_command           check_disk_smb!servernas!monpartage!monuser!monpassword

}

Un alerte d’avertissement (warning) sera générée si l’espace disque est inférieur à 15%, une alerte critique (critical) si cette valeur passe à 5%.

Catégories
Open-source Reseau Systeme

Mise à jour des plugins dans Nagios

Comme vous le savez tous (ou pas), Nagios est composé d’un coeur (Nagios le bien nommé actuellement en version 3.x) et de packages d’extensions (NDO, Nagios-plugins…).

Voici une simple procédure à suivre pour mettre à jour les plugins dans Nagios. C’est un complément de l’article sur la mise à jour de Nagios.

Téléchargement des plugins

Il faut au préalable des opérations suivantes, se loguer en tant qu’utilisateur nagios afin que les fichiers soient générés avec les bons droits.

Sur Fedora:

su -l nagios

Sur Ubuntu ou Debian:

sudo -s nagios

Puis télécharger la dernière version stable des plugins (1.4.12 au moment de l’écriture de ce billet).

mkdir src
cd src
wget http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz
tar zxvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12

Mise à jour des plugins

On commence par compiler les plugins:

./configure
make

puis on installe en lieu et place des anciens plugins:

make install
exit

Certains plugins (check_dhcp) nécessitent les droits root pour être installés:

su – root

make install-root

exit

Redémarrage de Nagios

Afin que les plugins soit pris en compte, il faut redémarrer Nagios en utilisant les commandes suivantes:

Sur Fedora:

service nagios restart

Sur Ubuntu ou Debian:

/etc/init.d/nagios restart

Et voili…

Catégories
Open-source Reseau Systeme

CactiPlug v0.2 pour lier Cacti et Nagios

CactiPlug est un plugin que j’ai développer pour lier facilement Cacti (outils de génération de graphe RRD) et Nagios (outils de supervision).


Dennis Yusupoff, un lecteur russe du blog a apporté quelques modifications pratiques:

  • utilisation des hosts name en plus des adresses IP
  • redirection vers une page centralisant l’ensemble des services supervisés

La nouvelle version est disponible ici, la procédure d’installation reste inchangée (consultable là).

Vive l’open-source…

Catégories
Reseau Systeme

Tester la sécurité de votre site Web

Flickr Photo Download_ Pirates of the Bathroom-1.jpg

Dans le domaines de la sécurité informatique, les sites Web sont les points les plus sensibles, car les plus exposés, aux attaques extérieures… Eric, comme beaucoup en a fait l’amère expérience avec son site SportsCafe.fr

Bien qu’une protection efficace à 100% n’existe pas, quelques règles de bases sont toujours bonnes à vérifier. Pour les néophytes (et on l’est tous dans ce domaine très pointu), Unmaskparadises propose, en bêta, son service Website Security Check.

Ce dernier permet de vérifier de manière très simple (il suffit de saisir l’URL du site à tester) si votre serveur est vulnérable à certaines failles.

Website Security Check - Unmask Parasites.jpg

Le résultat:

Web page security report.jpg

Pour tester votre site: cliquer ici !

Bref, un bon service à bookmarker…

Catégories
Open-source Reseau

Redondance de firewall sous FreeBSD

Dans une infrastructure réseau, le firewall est souvent le point central par lequel l’ensemble des flux transite. C’est donc un SPOF (« single point of failure » ou « point individuel de défaillance ») de votre système d’information. En effet, en cas de problème sur ce noeud, l’ensemble de votre réseau devient in-opérationnel (ce qui est impensable pour un administrateur réseau;)).

Ce billet fait suite à un autre: Installation d’un Firewall sous FreeBSD. Nous allons donc voir comment redonder notre cher Firewall en utilisant les protocoles CARP (« Common address redundancy protocol ») et PFSYNC (pour le synchronisation des règles PF). Pour cela, nous allons nous baser sur le réseau suivant afin d’illustrer notre article:

Architecture CARP.png

Comme on peut le voir, il faut donc deux machines pour effectuer cette redondance. La première (firewall-1) est celle utilisée par défaut. La seconde (firewall-2) prendra le relais en cas de problème sur la première. Il faut bien sûr mettre en place un système automatique de synchronisation des configurations entre les deux serveurs (sujet non abordé dans ce billet).

Catégories
Open-source Reseau

Wput, l’automatisation de l’upload FTP

Derrière ce titre très geek se cache en fait un article sur un petit utilisatire bien pratique que je viens de découvrir: Wput.

Wput est à l’upload ce que Wget est au download.

Il permet d’uploader un/plusieurs fichiers depuis une machine vers un serveur FTP.

Installation de Wput

La plupart des distribution Linux incluent ce logiciel dans leur gestionnaire de packages. Par exemple pour l’installer sous Ubuntu, il suffit de taper la commande suivante:

sudo apt-get install wput

Si ce ,n’est pas le cas, vous pouvez toujours le comiler depuis les sources en suivante la procédure suivante:

cd /usr/src
wget http://mesh.dl.sourceforge.net/sourceforge/wput/wput-0.6.1.tgz
tar zxvf wput-0.6.1.tgz
cd wput-0.6.1
./configure
make
sudo make install

Utilisation de Wput

L’utilisation standard est la suivante:

wput fichier.tgz ftp://login:password@serveurftp.com/upload/

Tout comme Wget, de nombreuses options sont disponibles (voir le man pour une liste complète):

  • -b: pour passer en background le processus
  • -l <RATE>: limite la bande passante utilisée (ex: -l 1M : limite à 1 Mbps)
  • -Y <PROXY>: utilise un proxy (HTTP ou SOCKS)

Et voili, bon week-end (3 jours youpi) à tous !

Catégories
Open-source Reseau Systeme

Surveiller la mémoire de vos serveurs avec Nagios

Voici un petit billet de plus sur Nagios. Nous aborderons le sujet de la supervision à distance de la mémoire vive (RAM) de nos serveurs.

Nous allons pour cela utiliser deux plugins, le premier est NRPE (il permet de lancer des commandes à distance sur d’autres machines), le second est un script permettant d’obtenir un état de la mémoire vive à un instant « t ».

Nous utiliserons donc le schéma suivant:

Installation de NRPE

Ce premier plugin doit être installé sur le serveur Nagios et sur toutes les machines à superviser.

Pour une procédure d’installation sous GNU/Linux, lire ce billet. Si vous voulez surveiller des machines FreeBSD, lire celui là.

A ce stade vous devez donc avoir un plugin NRPE opérationnel entre votre serveur Nagios et les machines à surveiller.

Installation du plugin de supervision de la mémoire

Il existe un grand nombre de méthodes pour obtenir la mémoire libre sur une machine. Personnellement j’utilise les deux scripts suivants selon que je sois:

Mais, si le coeur vous en dit, vous pouvez écrire vous-même le plugin le plus adapté à votre système (Windows, Unix divers et varié…).

Une fois connecté sur votre machine à superviser, il faut mettre le plugin dans le répertoire /usr/local/libexec/nagios/ et lui donner les droits en lecture et exécution:

cp ./check_memory.pl /usr/local/libexec/nagios/
chmod 555 /usr/local/libexec/nagios/check_memory.pl

Vous pouvez tester localement le plugin grâce la commande suivante:

/usr/local/libexec/nagios/check_memory.pl -f -w 90 -c 50
Memory WARNING – 87.5% (1879588864 kB) free |pct=87.5

Configuration de NRPE pour prendre en compte le script check_memory

Toujours sur la machine cible, il faut éditer le fichier de configuration de NRPE pour y ajouter la définition du plugin check_memory:

vi /usr/local/etc/nrpe.cfg


command[check_mem]=/usr/local/libexec/nagios/check_memory.pl -f -w 30 -c 15

Dans la configuration ci-dessus, on demande à check_memory de déclencher une alerte (warning) si la mémoire passe en dessous des 30% et une erreur (critical) si elle descend en dessous des 15%. Avous d’adpater ces valeurs selon vos besoins.

Pour que NRPE prenne en compte la nouvelle configuration il faut relancer le daemon:

Sous Linux:

service nrpe2 restart

ou

/etc/init.d/nrpe2 restart

Sous FreeBSD:

/usr/local/etc/rc.d/nrpe2 restart

Configuration du serveur Nagios

Il ne reste plus qu’à modifier la configuration du serveur Nagios pour ajouter le service à superviser, voici un exemple:

# Mon serveur
define host{
use        generic-host
host_name    monserveur
alias        Mon beau serveur
address        192.168.0.200
}
define service{
use                     generic-service
host_name               monserveur
service_description     Memoire vive
check_command           check_nrpe!check_mem
}

Et voila le résultat:

Catégories
Open-source Reseau Systeme

Supervision de vos serveurs FreeBSD avec Nagios et NRPE

En complément du billet sur la supervision des serveurs Linux, voici une simple procédure pour mettre en place le monitoring de serveurs sous FreeBSD (ou Mac OS X) à partir de Nagios en utilisant le plugin NRPE.